A Catalogue of Refactorings for Model-to-Model Transformations

In object-oriented programming, continuous refactorings are used as the main mechanism to increase the maintainability of the code base. Unfortunately, in the field of model transformations, such refac- toring support is so far missing. This paper tackles this limitation by adapting the notion of refactorings to model-to-model (M2M) transfor- mations. In particular, we present a dedicated catalogue of refactorings for improving the quality of M2M transformations. The refactorings have been explored by analyzing existing transformation examples defined in ATL. However, the refactorings are not specifically tailored to ATL, but applicable also to other M2M transformation languages.

[1]  Steffen Becker,et al.  Evaluating Maintainability with Code Metrics for Model-to-Model Transformations , 2010, QoSA.

[2]  Jean Bézivin,et al.  Optimization Patterns for OCL-Based Model Transformations , 2009, MoDELS.

[3]  C. Jones,et al.  Software metrics: good, bad and missing , 1994, Computer.

[4]  Mario Piattini Velthuis,et al.  Towards a metric suite for OCL Expressions expressed within UML/OCL models , 2004 .

[5]  Jean-Marc Jézéquel,et al.  Refactoring UML Models , 2001, UML.

[6]  Gabriele Taentzer,et al.  Specifying Integrated Refactoring with Distributed Graph Transformations , 2003, AGTIVE.

[7]  Tom Mens,et al.  On the Use of Graph Transformations for Model Refactoring , 2005, GTTSE.

[8]  P. Doyle,et al.  Applying metrics to rule-based systems , 1992, Proceedings Fourth International Conference on Software Engineering and Knowledge Engineering.

[9]  Tom Mens,et al.  Formalizing refactorings with graph transformations , 2005, J. Softw. Maintenance Res. Pract..

[10]  Gerti Kappel,et al.  A Comparison of Rule Inheritance in Model-to-Model Transformation Languages , 2011, ICMT@TOOLS.

[11]  Mark van den Brand,et al.  Using Metrics for Assessing the Quality of ASF+SDF Model Transformations , 2009, ICMT@TOOLS.

[12]  Jean Bézivin,et al.  On the Use of Higher-Order Model Transformations , 2009, ECMDA-FA.

[13]  Chris F. Kemerer,et al.  A Metrics Suite for Object Oriented Design , 2015, IEEE Trans. Software Eng..

[14]  Mark van den Brand,et al.  Using Metrics for Assessing the Quality of ATL Model Transformations , 2011, MtATL@TOOLS.

[15]  Ivan Porres,et al.  Rule-based update transformations and their application to model refactorings , 2005, Software & Systems Modeling.

[16]  Jeffrey G. Gray,et al.  Generic and Domain-Specific Model Refactoring Using a Model Transformation Engine , 2005, Model-Driven Software Development.

[17]  Jordi Cabot,et al.  A metric for measuring the complexity of OCL expressions , 2006 .

[18]  William F. Opdyke,et al.  Refactoring object-oriented frameworks , 1992 .

[19]  Tom Mens,et al.  A survey of software refactoring , 2004, IEEE Transactions on Software Engineering.

[20]  M. Wimmer,et al.  Teaching Model Engineering in the Large ∗ , 2009 .

[21]  Martin Giese,et al.  Simplifying transformations of OCL constraints , 2005, MoDELS'05.

[22]  Tom Mens,et al.  Analysing refactoring dependencies using graph transformation , 2007, Software & Systems Modeling.

[23]  Krzysztof Czarnecki,et al.  Feature-based survey of model transformation approaches , 2006, IBM Syst. J..

[24]  Jeffrey Overbey,et al.  Refactorings for Fortran and high-performance computing , 2005, SE-HPCS '05.

[25]  Richard F. Paige,et al.  The Epsilon Transformation Language , 2008, ICMT@TOOLS.

[26]  Victor R. Basili,et al.  A Validation of Object-Oriented Design Metrics as Quality Indicators , 1996, IEEE Trans. Software Eng..

[27]  Hartmut Ehrig,et al.  Refactoring of Model Transformations , 2009, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[28]  Martin Gogolla,et al.  Model transformations? transformation models! , 2006, MoDELS'06.

[29]  Richard F. Paige,et al.  Update Transformations in the Small with the Epsilon Wizard Language , 2007, J. Object Technol..

[30]  Frédéric Jouault,et al.  Transforming Models with ATL , 2005, MoDELS.

[31]  Shane Sendall,et al.  Model Transformation: The Heart and Soul of Model-Driven Software Development , 2003, IEEE Softw..

[32]  Jordi Cabot,et al.  Transformation techniques for OCL constraints , 2006, Sci. Comput. Program..

[33]  Antonio Vallecillo,et al.  A Rewriting Logic Semantics for ATL , 2011, J. Object Technol..

[34]  Serge Demeyer,et al.  Refactor conditionals into polymorphism: what's the performance cost of introducing virtual calls? , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).

[35]  Jordi Cabot,et al.  Refining Models with Rule-based Model Transformations , 2011 .

[36]  Cláudia Maria Lima Werner,et al.  Refactoring object constraint language specifications , 2007, Software & Systems Modeling.

[37]  Tom Mens,et al.  A Taxonomy of Model Transformation , 2006, GRaMoT@GPCE.