Design Pattern Instantiation Directed by Concretization and Specialization

Peter Kajsa, Lubomir Majtas, Pavol Navrat

Design patterns provide an especially effective way to improve the quality of a software system design as they provide abstracted, generalized and verified solutions of non-trivial design problems that occur repeatedly. The paper presents a method of design pattern instantiation support based on the key principles of both MDD and MDA. The method allows specification of the pattern instance occurrence via the semantic extension of UML directly on the context. The rest of the pattern instantiation is automated by model transformations of the specified pattern instances to lower levels of abstraction. Such approach enables the use of higher levels of abstraction in the modeling of patterns. Moreover, the model transformations are driven by models of patterns besides the instance specification, and thus the approach provides very useful ways how to determine and control the results of transformations. The method is not limited to design pattern support only, it also provides a framework for the addition of support for custom model structures which are often created in models mechanically.