Using logic programming for adapting models to metamodel evolution

Evolution is inherent in software systems because of the rapid improvement of technologies. As metamodels are the cornerstone of model driven engineering and they evolve iteratively, their evolution affects the rest of artefacts involved in a development process, e.g., models or transformation rules. Therefore, co-evolution tools for models and other artefacts are indispensable. We present in this paper an intelligent approach to adapt models by means of state-based and operator-based techniques. The defined co-evolution process consists of four phases. Initially, changes between two metamodel versions are detected. After that, evolution scenario is reconstructed using logic programming method. Evolution scenario is first calculated from difference model and represented by a set of primitive evolution operations, after that it is transformed using an inference engine to include eventual composite evolution operations; from this scenario adaptation solutions are generated according to the evolution operator impact in model level. Finally, migration scenario is applied on an input model conforming to the old metamodel version to remain compliant with its metamodel.

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

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

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

[4]  Jean-Marie Favre,et al.  Meta-Model and Model Co-evolution within the 3D Software Space , 2003 .

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

[6]  Federico Ciccozzi,et al.  Towards a Novel Model Versioning Approach Based on the Separation Between Linguistic and Ontological Aspects , 2013, ME@MoDELS.

[7]  Elmar Jürgens,et al.  Automatability of Coupled Evolution of Metamodels and Models in Practice , 2008, MoDELS.

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

[9]  Chitta Baral,et al.  Logic Programming and Knowledge Representation , 1994, J. Log. Program..

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

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

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

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

[14]  Tom Mens,et al.  Challenges in software evolution , 2005, Eighth International Workshop on Principles of Software Evolution (IWPSE'05).

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

[16]  Antonio Cicchetti,et al.  A Metamodel Independent Approach to Difference Representation , 2007, J. Object Technol..