Evolution of Models and MDA-Based Refactoring
Evolution of Models and MDA-Based Refactoring
In MDA is crucial to define, manage, and maintain traces and relationships between different models, and automatically transform them and produce implementations. Refactoring is a powerful technique when is repeatedly applied to a model to obtain another one with the same behavior but enhancing some non functionality quality factor such as simplicity, flexibility, understandability and performance (Fowler, 1999) (Mens, Van Eetvelde, Demeyer & Janssens, 2005). Refactorings are horizontal transformations for supporting perfective model evolution. In MDA, a crucial part of the evolution from abstract models to executable components or applications (forward engineering) or, from code to abstract models (reverse engineering) is accomplished by means of refactoring. Although the most effective forms of refactorings are at the design levels (for example, PIMs or PSMs), MDA-based CASE tools provide limited facilities for refactoring only on source code through an explicit selection made by the designer (CASE, 2009). MDA-based refactorings can be specified in OCL as contracts between meta-patterns (MOF metamodel), consisting of pre- and post-conditions that hold for the model before/after refactoring. Besides, we propose an alternative formalization based on the NEREUS language. We propose a uniform treatment of refactoring at platform independent, platform specific and implementation specific abstraction levels.
CITATION: Favre, Liliana María. Evolution of Models and MDA-Based Refactoring edited by Favre, Liliana . Hershey, PA : IGI Global , 2010. Model Driven Architecture for Reverse Engineering Technologies - Available at: https://library.au.int/frevolution-models-and-mda-based-refactoring