IMPROVING UML DESIGNS USING AUTOMATIC DESIGN PATTERN DETECTION
Federico Bergenti, Agostino Poggi · 2002
Design patterns are considered one of the most valuable tools to produce quality designs and a general-purpose technique to improve a design is to identify all pattern realizations and to apply well-known rules to improve them. This technique requires finding all pattern realizations used in a design and it is a rather tedious task. This paper shows the work in the literature on assistants for programmers and software architects and presents a system called IDEA (Interactive DEsign Assistant). IDEA is an interactive design assistant for software architects meant for automating the task of finding and improving the realizations of design patterns. Basically, IDEA is capable of automatically (i) finding the patterns employed in a UML diagram and (ii) producing critiques about these patterns. The core of IDEA is the module that automatically detects the pattern realizations found in the model that the architect is producing. When this module finds a pattern realization, a set of design rules are verified to test if the design could be improved. Any violation to these rules fires a critique that is proposed to the engineer as a possible design improvement. Currently, a prototypal implementation of IDEA is integrated with two popular CASE tools. Keywords Automatic design pattern detection, Critique generation, Design pattern, UML. 2 1.