This JOT special section contains three extended and peer reviewed papers obtained from the first and second editions of the International Workshop on Model Comparison in Practice (IWMCP), and an additional paper selected outside the contributions of the workshop. The first edition of IWMCP was held on July 1st, 2010 in Malaga, Spain, whereas the second edition was held on May 30, 2011 in Prague, Czech Republic. Both have been organized as satellite events of the TOOLS Europe conference.
Model Driven Engineering elevates models to first class artefacts of the software development process. To facilitate multi-user collaboration and enable version management and seamless evolution of models and metamodels, support for robust and performant model comparison and differencing mechanisms is essential. Previous research has demonstrated that mechanisms used for comparison and differencing of text-based artefacts (e.g. source code) are not sufficient for comparing models, as they are unaware of the structure and the semantics of the compared artefacts.
To date, several model-specific model comparison approaches have been proposed, each demonstrating different characteristics and focusing on particular sub-problems. For instance, model comparison techniques have been adopted for software refactoring, for transformation testing, to support the coupled evolution of metamodel and models, or to analyse existing artefacts with respect to some criteria. However the consensus is that this research area is still young and more research is required in order to achieve the full potential of model comparison.
The goal of IWMCP has been to bring together both researchers in the area of model comparison and differencing to report novel results, and adopters of existing approaches to present their experiences and provide insights on issues encountered when applying these approaches in practice.
In the first paper of this special section, Antonio Cicchetti, Federico Ciccozzi, and Thomas Leveque present an approach to support the concurrent versioning of metamodels and models. The proposed techniques exploit model comparison and merging mechanisms to provide a solution to issues related to concurrent and even misaligned evolution of both metamodels and models. In the second paper, Petra Brosch, Martina Seidl, Manuel Wimmer and Gerti Kappel propose the means to visualize and merge conflicts between concurrently evolved versions of a UML model. The profile mechanism of UML is leveraged to enable modelers to resolve conflicts within the used UML editor. In the third paper, Ludovico Iovino, Alfonso Pierantonio, and Ivano Malavolta deal with the problem of coupled evolution of metamodels and related artifacts. In particular, the authors propose an approach to i) establish relationships between the domain metamodel and its related artifacts, and ii) automatically identify those elements within the various artifacts affected by the metamodel changes. In the fourth paper, Philip Langer, Manuel Wimmer, Jeff Gray, Gerti Kappel, and Antonio Vallecillo propose the adoption of signifiers to enhance the different phases of the versioning process including comparing and merging models. In particular, signifiers are applied to specify the natural identifier of a model element to eliminate the issues related to the adoption of approaches based on artificial universally unique identifiers (UUIDs).
We would like to thank everyone who has made this special section possible. In particular, we are obliged to the referees for giving off their time to thoroughly and thoughtfully review and re-review papers, to the authors for their hard work on several revisions of their papers, from workshop submission to journal acceptance, and to the JOT editorial board for organising this special issue.
Davide Di Ruscio, University of L’Aquila
Dimitris Kolovos, University of York