Automated Metamodel/Model Co-Evolution using a Multi-Objective Optimization Approach

We propose a generic automated approach for the metamodel/model co-evolution. The proposed technique refines an initial model to make it as conformant as possible to the new metamodel version by finding the best compromise between three objectives, namely minimizing i the non-conformities with new metamodel version, ii the changes to existing models, and iii the loss of information. Consequently, we view the co-evolution as a multi-objective optimization problem, and solve it using the NSGA-II algorithm. We successfully validated our approach on the evolution of the well-known UML state machine metamodel. The results confirm the effectiveness of our approach with average precision and recall respectively higher than 87i¾ź% and 89i¾ź%.

[1]  Martin Gogolla,et al.  Validating UML Models and OCL Constraints , 2000, UML.

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

[3]  Gabor Karsai,et al.  A domain-specific visual language for domain model evolution , 2004, J. Vis. Lang. Comput..

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

[5]  Antonio Cicchetti,et al.  Automating Co-evolution in Model-Driven Engineering , 2008, 2008 12th International IEEE Enterprise Distributed Object Computing Conference.

[6]  Thomas Kühne,et al.  Matters of (Meta-) Modeling , 2006, Software & Systems Modeling.

[7]  Kalyanmoy Deb,et al.  A fast and elitist multiobjective genetic algorithm: NSGA-II , 2002, IEEE Trans. Evol. Comput..

[8]  Mark Richters,et al.  A precise approach to validating UML models and OCL constraints , 2002 .

[9]  B. Gruschko Towards Synchronizing Models with Evolving Metamodels , 2007 .

[10]  Elmar Jürgens,et al.  COPE - Automating Coupled Evolution of Metamodels and Models , 2009, ECOOP.

[11]  Antonio Cicchetti,et al.  A generic in-place transformation-based approach to structured model co-evolution , 2011 .

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

[13]  Derek Rayside,et al.  Comparison of exact and approximate multi-objective optimization for software product lines , 2014, SPLC.

[14]  Richard F. Paige,et al.  Searching for model migration strategies , 2012, ME '12.

[15]  Alexander Egyed,et al.  Co-evolution of Metamodels and Models through Consistent Change Propagation , 2013, ME@MoDELS.

[16]  Jean Bézivin,et al.  On the unification power of models , 2005, Software & Systems Modeling.

[17]  Manuel Wimmer,et al.  CARE - A Constraint-Based Approach for Re-Establishing Conformance-Relationships , 2014, APCCM.

[18]  Jay Banerjee,et al.  Semantics and implementation of schema evolution in object-oriented databases , 1987, SIGMOD '87.

[19]  Ludovico Iovino,et al.  On the Impact Significance of Metamodel Evolution in MDE , 2012, J. Object Technol..

[20]  Detlef Plump,et al.  Verifying Total Correctness of Graph Programs , 2013, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[21]  Gabor Karsai,et al.  Automatic Domain Model Migration to Manage Metamodel Evolution , 2009, MoDELS.

[22]  Houari A. Sahraoui,et al.  Maintainability defects detection and correction: a multi-objective approach , 2013, Automated Software Engineering.

[23]  Bernhard Rumpe,et al.  Domain specific modeling , 2005, Software & Systems Modeling.

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

[25]  Antonio Cicchetti,et al.  A generic in-place transformation-based approach to structured model co-evolution , 2011, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[26]  K. Deb,et al.  Understanding knee points in bicriteria problems and their implications as preferred solution principles , 2011 .

[27]  Gabriele Taentzer,et al.  Co-Transformation of Type and Instance Graphs Supporting Merging of Types with Retyping-Long Version-⋆ , 2012 .

[28]  Yuanyuan Zhang,et al.  Search-based software engineering: Trends, techniques and applications , 2012, CSUR.

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

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

[31]  John F. Roddick,et al.  Schema evolution in database systems: an annotated bibliography , 1992, SGMD.

[32]  M. Wimmer,et al.  On using Inplace Transformations for Model Co-evolution , 2010 .

[33]  Lionel C. Briand,et al.  A practical guide for using statistical tests to assess randomized algorithms in software engineering , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[34]  Markus Herrmannsdoerfer,et al.  Coupled Evolution of Software Metamodels and Models , 2014, Evolving Software Systems.

[35]  Kalyanmoy Deb,et al.  A Fast Elitist Non-dominated Sorting Genetic Algorithm for Multi-objective Optimisation: NSGA-II , 2000, PPSN.

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