Pattern-based model refactoring
Mohamed El-Sharqwi, Hani M. K. Mahdi, Islam Elmadah · 2010
In this paper an approach to refactoring a software model using design patterns is described. A design pattern is described as a set of three components: the problem specification which defines where and when the pattern can be applied, the Target specification which describes the structure of the pattern, and model transformation that describes the transformation needed to apply the pattern. XML is chosen to formally represent both the pattern and the software model. A software model is checked for pattern applicability and if an instance of the problem is found, the related transformation is executed as a sequence of primitive model refactorings. Abstract Factory design pattern is used as a case study to demonstrate our approach.