Enhancing version control with domain-specific semantics

As Domain-Specific Modeling Languages (DSML) become more widespread, it is now possible for non-computer scientists to design complex systems. Not only do DSMLs make modeling more accessible to domain experts, they also improve their efficiency. Using such models, the problem of their maintenance and evolution arises, with common software engineering issues, such as reversibility and traceability of developments. In this article we present the integration of a collaborative edition process into a model-driven engineering (MDE) simulation platform defining its own DSML, which includes a serialization procedure. Our novel approach defines a collaborative work and version control process. This process uses the concrete textual syntax defined by this DSML, which allows us to use the features of existing Version Control Systems (VCS) to work with serialized models, and helps calculate the differences between two versions of a model, merge versions of these models, and detect merge conflicts.

[1]  David Lugato,et al.  Paprika: Rapid UI Development of Scientific Dataset Editors for High Performance Computing , 2011, SDL Forum.

[2]  J. W. Hunt,et al.  An Algorithm for Differential File Comparison , 2008 .

[3]  Bernhard Rumpe,et al.  Meaningful modeling: what's the semantics of "semantics"? , 2004, Computer.

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

[5]  Parastoo Mohagheghi,et al.  Where Is the Proof? - A Review of Experiences from Applying MDE in Industry , 2008, ECMDA-FA.

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

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

[8]  Gerti Kappel,et al.  An Introduction to Model Versioning , 2012, SFM.

[9]  Birgit Grammel,et al.  Model matching for trace link generation in model-driven software development , 2012, MODELS'12.

[10]  Marc Shapiro,et al.  A semantically rich approach for collaborative model edition , 2011, SAC.

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

[12]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[13]  J. Cordy,et al.  A Survey of Methods and Applications of Model Comparison Technical Report 2011-582 Rev . 3 , 2011 .

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

[15]  M. Wimmer,et al.  Why Model Versioning Research is Needed ! ? An Experience Report ? , 2009 .

[16]  Daniel L. Moody,et al.  The “Physics” of Notations: Toward a Scientific Basis for Constructing Visual Notations in Software Engineering , 2009, IEEE Transactions on Software Engineering.

[17]  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.

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

[19]  Ileana Ober,et al.  Improving scalability and maintenance of software for high-performance scientific computing by combining MDE and frameworks , 2011, MODELS'11.

[20]  Cláudia Maria Lima Werner,et al.  Odyssey-VCS: a flexible version control system for UML model elements , 2005, SCM '05.

[21]  Richard F. Paige,et al.  Merging models with the epsilon merging language (EML) , 2006, MoDELS'06.

[22]  David Lugato,et al.  Domain specific modeling for operations research simulation in a large industrial context , 2012, DSM '12.

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

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