An Exploratory Experiment on Metamodel-Transformation Co-Evolution

Metamodels, like any other software artifacts evolve throughout time. As a consequence, all dependent artifacts may need to be co-evolved accordingly, including model transformations. Transformations are a key component of an automated development solution, thus it is crucial to automate their co-evolution while guaranteeing that they remain correct. However, there is little known about what aspects and characteristics must be automated in a manual co-evolution and in particular how it should be correctly automated. Few approaches exist, but it is not clear to what extent those approaches are able to automate the manual co-evolution of model transformations. In this paper, we report on an exploratory experiment we conducted to better understand the co-evolution of transformations in practice and to assess the usefulness of the current existing techniques. 15 participants were involved in our experiment to monitor how they co-evolve transformation rules in response to metamodel evolution. Our analysis results show that while existing approaches support the user with an automatic impact analysis, they do not consider proposing a very large spectrum of alternative resolutions. Among the 14 resolutions that occurred in our experiment, on average only 4 (up to 6) were supported by the existing approaches.

[1]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2000, The Kluwer International Series in Software Engineering.

[2]  Arend Rensink,et al.  A survey and comparison of transformation tools based on the transformation tool contest , 2014, Sci. Comput. Program..

[3]  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).

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

[5]  Marie-Pierre Gervais,et al.  AD-ROOM: A Tool for Automatic Detection of Refactorings in Object-Oriented Models , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering Companion (ICSE-C).

[6]  Natalia Juristo Juzgado,et al.  Are Students Representatives of Professionals in Software Engineering Experiments? , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[7]  Juha-Pekka Tolvanen,et al.  MetaEdit+: defining and using integrated domain-specific modeling languages , 2009, OOPSLA Companion.

[8]  Frédéric Jouault,et al.  Adapting transformations to metamodel changes via external transformation composition , 2012, Software & Systems Modeling.

[9]  Roy Grønmo,et al.  Comparison of Three Model Transformation Languages , 2009, ECMDA-FA.

[10]  Claes Wohlin,et al.  Using students as subjects - an empirical evaluation , 2008, ESEM '08.

[11]  Regina Hebig,et al.  Approaches to Co-Evolution of Metamodels and Models: A Survey , 2017, IEEE Transactions on Software Engineering.

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

[13]  Guido Wachsmuth,et al.  Metamodel Adaptation and Model Co-adaptation , 2007, ECOOP.

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

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

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

[17]  Marouane Kessentini,et al.  Automated refactoring of ATL model transformations: a search-based approach , 2016, MoDELS.

[18]  Richard F. Paige,et al.  Comparing Model-Metamodel and Transformation-Metamodel Co-evolution , 2010 .

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

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

[21]  Richard F. Paige,et al.  A comparison of model migration tools , 2010, MODELS'10.

[22]  Mark Rouncefield,et al.  Empirical assessment of MDE in industry , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[23]  Marie-Pierre Gervais,et al.  Detecting Complex Changes During Metamodel Evolution , 2015, CAiSE.

[24]  Eelco Visser,et al.  Code generation by model transformation: a case study in transformation modularity , 2008, Software & Systems Modeling.

[25]  Marie-Pierre Gervais,et al.  Detecting complex changes and refactorings during (Meta)model evolution , 2016, Inf. Syst..

[26]  Regina Hebig,et al.  Surveying the Corpus of Model Resolution Strategies for Metamodel Evolution , 2015, 2015 Asia-Pacific Software Engineering Conference (APSEC).

[27]  Tom Mens,et al.  A case study to evaluate the suitability of graph transformation tools for program refactoring , 2010, International Journal on Software Tools for Technology Transfer.

[28]  P. Cochat,et al.  Et al , 2008, Archives de pediatrie : organe officiel de la Societe francaise de pediatrie.