Detecting Complex Changes During Metamodel Evolution

Evolution of metamodels can be represented at the finest grain by the trace of atomic changes: add, delete, and update elements. For many applications, like automatic correction of models when the metamodel evolves, a higher grained trace must be inferred, composed of complex changes, each one aggregating several atomic changes. Complex change detection is a challenging task since multiple sequences of atomic changes may define a single user intention and complex changes may overlap over the atomic change trace. In this paper, we propose a detection engine of complex changes that simultaneously addresses these two challenges of variability and overlap. We introduce three ranking heuristics to help users to decide which overlapping complex changes are likely to be correct. We describe an evaluation of our approach that allow reaching full recall. The precision is improved by our heuristics from 63% and 71% up to 91% and 100% in some cases.

[1]  Tom Mens,et al.  Incremental Detection of Model Inconsistencies Based on Model Operations , 2009, CAiSE.

[2]  Antonio Cicchetti,et al.  Managing Dependent Changes in Coupled Evolution , 2009, ICMT@TOOLS.

[3]  Gerti Kappel,et al.  A posteriori operation detection in evolving software models , 2013, J. Syst. Softw..

[4]  Jeffrey G. Gray,et al.  DSMDiff: a differentiation tool for domain-specific models , 2007 .

[5]  Jordi Cabot,et al.  An Adapter-Based Approach to Co-evolve Generated SQL in Model-to-Text Transformations , 2014, CAiSE.

[6]  Markus Herrmannsdoerfer,et al.  Language Evolution in Practice: The History of GMF , 2009, SLE.

[7]  Marie-Pierre Gervais,et al.  Support for Deviation Detections in the Context of Multi-Viewpoint-Based Development Processes , 2012, CAiSE Forum.

[8]  Sander Vermolen,et al.  An Extensive Catalog of Operators for the Coupled Evolution of Metamodels and Models , 2010, SLE.

[9]  Eleni Stroulia,et al.  UMLDiff: an algorithm for object-oriented design differencing , 2005, ASE.

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

[11]  Sander Vermolen,et al.  Reconstructing Complex Metamodel Evolution , 2011, SLE.

[12]  Jean Bézivin,et al.  Managing Model Adaptation by Precise Detection of Metamodel Changes , 2009, ECMDA-FA.

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

[14]  Tom Mens,et al.  Detecting model inconsistency through operation-based model construction , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[15]  Reda Bendraou,et al.  Deviation management during process execution , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).