Towards a Novel Model Versioning Approach Based on the Separation Between Linguistic and Ontological Aspects

With the increasing adoption of Model-Driven Engineering (MDE) the support of distributed development and hence model versioning has become a necessity. MDE research investigations targeting (meta-)model versioning, conflict management, and model co-evolution have progressively recognized the importance of tackling the problem at higher abstraction level and a number of solving techniques have been proposed. However, in general existing mechanisms hit the wall of semantics, i.e. when not only syntax is involved in the manipulations the chances for providing precision and automation are remarkably reduced. In this paper we illustrate a novel version management proposal that leverages on the separation between linguistic and ontological aspects involved in a (meta-)modelling activity. In particular, we revisit the main versioning tasks in terms of the mentioned separation. The aim is to maximize the amount of versioning problems that can be automatically addressed while leaving the ones intertwined with domain-specific semantics to be solved separately, possibly by means of semi-automatic techniques and additional precision.

[1]  Reidar Conradi,et al.  Version models for software configuration management , 1998, CSUR.

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

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

[4]  Gerti Kappel,et al.  Lifting metamodels to ontologies: a step to the semantic integration of modeling languages , 2006, MoDELS'06.

[5]  Juan de Lara,et al.  Abstracting Modelling Languages: A Reutilization Approach , 2012, CAiSE.

[6]  Richard F. Paige,et al.  Different models for model matching: An analysis of approaches to support model differencing , 2009, 2009 ICSE Workshop on Comparison and Versioning of Software Models.

[7]  Gerti Kappel,et al.  Turning Conflicts into Collaboration , 2012, Computer Supported Cooperative Work (CSCW).

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

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

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

[11]  Richard F. Paige,et al.  A comparison of model migration tools , 2010, MODELS'10.

[12]  Juan de Lara,et al.  Generic Model Transformations: Write Once, Reuse Everywhere , 2011, ICMT@TOOLS.

[13]  Shane Sendall,et al.  Model Transformation: The Heart and Soul of Model-Driven Software Development , 2003, IEEE Softw..

[14]  Jorge Villalobos,et al.  Co-creation of models and metamodels for enterprise architecture projects , 2012, XM '12.

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

[16]  Manuel Wimmer,et al.  A survey on model versioning approaches , 2009, Int. J. Web Inf. Syst..

[17]  Juan de Lara,et al.  Genericity for model management operations , 2011, Software & Systems Modeling.

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

[19]  Tom Mens,et al.  Detecting Structural Refactoring Conflicts Using Critical Pair Analysis , 2005, SETra@ICGT.

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

[21]  Colin Atkinson,et al.  Melanie: multi-level modeling and ontology engineering environment , 2012, MW '12.

[22]  Juan de Lara,et al.  Deep Meta-modelling with MetaDepth , 2010, TOOLS.

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

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

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

[26]  Colin Atkinson,et al.  A Flexible Infrastructure for Multilevel Language Engineering , 2009, IEEE Transactions on Software Engineering.