Different models for model matching: An analysis of approaches to support model differencing

Calculating differences between models is an important and challenging task in Model Driven Engineering. Model differencing involves a number of steps starting with identifying matching model elements, calculating and representing their differences, and finally visualizing them in an appropriate way. In this paper, we provide an overview of the fundamental steps involved in the model differencing process and summarize the advantages and shortcomings of existing approaches for identifying matching model elements. To assist potential users in selecting one of the existing methods for the problem at stake, we investigate the trade-offs these methods impose in terms of accuracy and effort required to implement each one of them.

[1]  Richard F. Paige,et al.  Model comparison: a foundation for model composition and model transformation testing , 2006, GaMMa '06.

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

[3]  Ivan Porres,et al.  Difference and Union of Models , 2003, UML.

[4]  F. Fleurey,et al.  Model Composition-A Signature-Based Approach , 2005 .

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

[6]  Eelco Visser,et al.  Model-Driven Software Evolution: A Research Agenda , 2007 .

[7]  Michael Pilato Version Control with Subversion , 2004 .

[8]  Antonio Vallecillo,et al.  Representing and Operating with Model Differences , 2008, TOOLS.

[9]  Antonio Cicchetti,et al.  Managing Model Conflicts in Distributed Development , 2008, MoDELS.

[10]  Tom Mens,et al.  A State-of-the-Art Survey on Software Merging , 2002, IEEE Trans. Software Eng..

[11]  Holger Giese,et al.  Tool Integration at the Meta-Model Level within the FUJABA Tool Suite , 2003 .

[12]  Narciso Martí-Oliet,et al.  Maude: specification and programming in rewriting logic , 2002, Theor. Comput. Sci..

[13]  Matt Zandstra,et al.  Version Control with Subversion , 2010 .

[14]  Cédric Brun Obeo,et al.  MODEL DIFFERENCES IN THE ECLIPSE MODELING FRAMEWORK , 2008 .

[15]  Erhard Rahm,et al.  Similarity flooding: a versatile graph matching algorithm and its application to schema matching , 2002, Proceedings 18th International Conference on Data Engineering.

[16]  Christoph Treude,et al.  Difference computation of large models , 2007, ESEC-FSE '07.

[17]  Udo Kelter,et al.  Differences between versions of UML diagrams , 2003, ESEC/FSE-11.

[18]  Bernhard Westfechtel,et al.  Differencing and Merging of Software Diagrams - State of the Art and Challenges , 2007, ICSOFT.

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

[20]  Petri Selonen,et al.  Metamodel-Based Inference of Inter-Model Correspondence , 2007, 11th European Conference on Software Maintenance and Reengineering (CSMR'07).

[21]  Xavier Crégut,et al.  The TOPCASED project : a toolkit in open source for critical aeronautic systems design , 2006 .

[22]  Mehrdad Sabetzadeh,et al.  Matching and Merging of Statecharts Specifications , 2007, 29th International Conference on Software Engineering (ICSE'07).

[23]  Derek G. Corneil,et al.  The graph isomorphism disease , 1977, J. Graph Theory.