A Solution for Concurrent Versioning of Metamodels and Models

By: Antonio Cicchetti, Federico Ciccozzi, Thomas Leveque


Model-Driven Engineering has been widely recognised as a powerful paradigm for shifting the focus of software development from coding to modelling in order to cope with the rising complexity of modern systems. Models become the main artefacts in the development process and therefore undergo evolutions performed in different ways until the final implementation is produced. Moreover, modelling languages are expected to evolve too and such evolutions have to be taken into account when dealing with model versioning. Since consistency between models and related metamodels is one of the pillars on which model-driven engineering relies, evolution of models and metamodels cannot be considered as independent events in a model versioning system. This article exploits model comparison and merging mechanisms to provide a solution to the issues related to model versioning when considering metamodel and model manipulations as concurrent and even misaligned. A scenario-based description of the challenges arising from versioning of models is given and a running example is exploited to demonstrate the proposed solutions.


model-driven engineering, model versioning, model coevolution

Cite as:

Antonio Cicchetti, Federico Ciccozzi, Thomas Leveque, “A Solution for Concurrent Versioning of Metamodels and Models”, Journal of Object Technology, Volume 11, no. 3 (October 2012), pp. 1:1-32, doi:10.5381/jot.2012.11.3.a1.

PDF | DOI | BiBTeX | Tweet this | Post to CiteULike | Share on LinkedIn