A query-retyping approach to model transformation co-evolution

In rule-based approaches, a model transformation definition tells how an instance of a source metamodel should be transformed to an instance of a target metamodel. As these metamodels undergo changes, model transformations defined over these metamodels may get out of sync. Restoring conformance between model transformations and the metamodels is a complex and error-prone task. In this paper, we propose a formal approach to automatically co-evolve model transformations according to the evolution of the metamodels. The approach is based on encoding the model transformation definition as a query-retyping combination and the evolution of the metamodels as applications of graph transformation rules. These rules are used to obtain an evolved query over the evolved metamodel together with a new retyping from the target metamodel. We will identify the criteria which need to be fulfilled in order to make this automatic co-evolution possible. We provide a tool support for this procedure, in which, from a traceability model that represents the original model transformation definition, we derive a co-evolved traceability model that represents the evolved transformation definition. Moreover, we use a case study to evaluate the approach with a set of commonly performed metamodel evolutions.

[1]  Bernhard Schätz,et al.  Graph and model transformation tools for model migration , 2014, Software & Systems Modeling.

[2]  Hartmut Ehrig,et al.  A Typed Attributed Graph Grammar with Inheritance for the Abstract Syntax of UML Class and Sequence Diagrams , 2008, Electron. Notes Theor. Comput. Sci..

[3]  Krzysztof Czarnecki,et al.  A three-dimensional taxonomy for bidirectional model synchronization , 2016, J. Syst. Softw..

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

[5]  Davide Di Ruscio,et al.  Translational Semantics of a Co-evolution Specific Language with the EMF Transformation Virtual Machine , 2012, ICMT@TOOLS.

[6]  Adrian Rutle,et al.  Query-Based Impact Analysis of Metamodel Evolutions , 2019, 2019 45th Euromicro Conference on Software Engineering and Advanced Applications (SEAA).

[7]  Michael Lawley,et al.  Incremental model transformation for the evolution of model-driven systems , 2006, MoDELS'06.

[8]  Alexander Egyed,et al.  An Exploratory Experiment on Metamodel-Transformation Co-Evolution , 2017, 2017 24th Asia-Pacific Software Engineering Conference (APSEC).

[9]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Graph Transformation (Monographs in Theoretical Computer Science. An EATCS Series) , 1992 .

[10]  Krzysztof Czarnecki,et al.  Intermodeling, Queries, and Kleisli Categories , 2012, FASE.

[11]  Udo Kelter,et al.  Automatically Deriving the Specification of Model Editing Operations from Meta-Models , 2016, ICMT.

[12]  Hartmut Ehrig,et al.  Attributed graph transformation with node type inheritance , 2007, Theor. Comput. Sci..

[13]  Ludovico Iovino,et al.  Quality-Driven Detection and Resolution of Metamodel Smells , 2019, IEEE Access.

[14]  Alexis Muller,et al.  Towards Transformation Migration After Metamodel Evolution , 2010 .

[15]  Jordi Cabot,et al.  Traceability Mappings as a Fundamental Instrument in Model Transformations , 2017, FASE.

[16]  Richard F. Paige,et al.  Model Migration with Epsilon Flock , 2010, ICMT@TOOLS.

[17]  Gabor Karsai,et al.  A Novel Approach to Semi-automated Evolution of DSML Model Transformation , 2009, SLE.

[18]  Hartmut Ehrig,et al.  Petri Net Transformations , 2008 .

[19]  Juan de Lara,et al.  Static Analysis of Model Transformations , 2017, IEEE Transactions on Software Engineering.

[20]  Alexander Egyed,et al.  Change Propagation-based and Composition-based Co-evolution of Transformations with Evolving Metamodels , 2018, MoDELS.

[21]  Houari A. Sahraoui,et al.  Automated Co-evolution of Metamodels and Transformation Rules: A Search-Based Approach , 2018, SSBSE.

[22]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Graph Transformation , 2006, Monographs in Theoretical Computer Science. An EATCS Series.

[23]  Richard F. Paige,et al.  The Epsilon Generation Language , 2008, ECMDA-FA.

[24]  Davide Di Ruscio,et al.  Supporting Variability Exploration and Resolution During Model Migration , 2016, ECMFA.

[25]  Frank Marschall,et al.  Model Transformations for the MDA with BOTL , 2003 .

[26]  Jordi Cabot,et al.  A Catalogue of Refactorings for Model-to-Model Transformations , 2012, J. Object Technol..

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

[28]  Nicolas Spyratos,et al.  Update semantics of relational views , 1981, TODS.

[29]  Andy Schürr,et al.  Dagstuhl seminar on bidirectional transformations (BX) , 2011, SGMD.

[30]  João Saraiva,et al.  Generative and Transformational Techniques in Software Engineering II , 2007, Lecture Notes in Computer Science.

[31]  Jean Bézivin,et al.  Mapping Specification in MDA: From Theory to Practice , 2006 .

[32]  Davide Di Ruscio,et al.  A Methodological Approach for the Coupled Evolution of Metamodels and ATL Transformations , 2013, ICMT.

[33]  Salah Sadou,et al.  Adapting OCL Constraints After a Refactoring of their Model Using an MDE Process , 2010 .

[34]  Juan de Lara,et al.  Reverse Engineering of Model Transformations for Reusability , 2014, ICMT.

[35]  Ludovico Iovino,et al.  What is needed for managing co-evolution in MDE? , 2011, IWMCP '11.

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

[37]  Bart Meyers,et al.  A framework for evolution of modelling languages , 2011, Sci. Comput. Program..

[38]  Annerose Braune,et al.  A generic transformation algorithm to simplify the development of mapping models , 2016, MoDELS.

[39]  Adrian Rutle,et al.  Automatic Transformation Co-evolution Using Traceability Models and Graph Transformation , 2018, ECMFA.

[40]  Houari A. Sahraoui,et al.  Automated metamodel/model co-evolution: A search-based approach , 2019, Inf. Softw. Technol..

[41]  Marie-Pierre Gervais,et al.  A semi-automatic maintenance and co-evolution of OCL constraints with (meta)model evolution , 2017, J. Syst. Softw..

[42]  Werner Retschitzegger,et al.  Consistent co-evolution of models and transformations , 2015, 2015 ACM/IEEE 18th International Conference on Model Driven Engineering Languages and Systems (MODELS).

[43]  Ralf Lämmel,et al.  Automated Co-evolution of GMF Editor Models , 2010, SLE.

[44]  Frank Budinsky,et al.  EMF: Eclipse Modeling Framework 2.0 , 2009 .

[45]  Juri Di Rocco,et al.  Dealing with the Coupled Evolution of Metamodels and Model-to-text Transformations , 2014, ME@MoDELS.

[46]  Jean Bézivin,et al.  ATL: A model transformation tool , 2008, Sci. Comput. Program..

[47]  Davide Di Ruscio,et al.  A Feature-Based Approach for Variability Exploration and Resolution in Model Transformation Migration , 2017, ECMFA.

[48]  Florian Mantz,et al.  Coupled Transformations of Graph Structures applied to Model Migration , 2014 .

[49]  Udo Kelter,et al.  Consistency-preserving edit scripts in model versioning , 2013, 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[50]  Perdita Stevens,et al.  A Landscape of Bidirectional Model Transformations , 2007, GTTSE.

[51]  Markus Herrmannsdoerfer,et al.  COPE - A Workbench for the Coupled Evolution of Metamodels and Models , 2010, SLE.

[52]  Richard F. Paige,et al.  The Epsilon Object Language (EOL) , 2006, ECMDA-FA.

[53]  Richard F. Paige,et al.  Enhanced Automation for Managing Model and Metamodel Inconsistency , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.

[54]  Gabriele Taentzer,et al.  Co-evolving meta-models and their instance models: A formal approach based on graph transformation , 2015, Sci. Comput. Program..

[55]  Oscar Díaz,et al.  Model Transformation Co-evolution: A Semi-automatic Approach , 2012, SLE.

[56]  Patrick Valduriez,et al.  Towards the efficient development of model transformations using model weaving and matching transformations , 2009, Software & Systems Modeling.

[57]  Ralf Lämmel,et al.  Bidirectional Transformations: A Cross-Discipline Perspective , 2009, ICMT@TOOLS.

[58]  Davide Di Ruscio,et al.  Edelta: An Approach for Defining and Applying Reusable Metamodel Refactorings , 2017, MODELS.