Managing Model Conflicts in Distributed Development

The growing complexity of current software systems naturally conveyed their development toward incremental and distributed approaches to speed up the process. Several developers update the same artefact operating concurrent manipulations which need to be coherently combined. The interaction among those changes inevitably involves conflicts which must be detected and reconciled. This paper proposes a domain specific language able to define and manage conflicts caused by cooperative updates over the same model elements. The approach relies on a model-based representation of model differences and enables the specification and the detection of both syntactical and semantic conflicts.

[1]  Axel Uhl,et al.  Model-Driven Architecture , 2002, OOIS Workshops.

[2]  Antonio Cicchetti,et al.  Weaving models in conflict detection specifications , 2007, SAC '07.

[3]  Antonio Cicchetti,et al.  Automating Co-evolution in Model-Driven Engineering , 2008, 2008 12th International IEEE Enterprise Distributed Object Computing Conference.

[4]  Cyril S. Ku,et al.  Design Patterns , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[5]  Stefan Hanenberg,et al.  A Graphical Notation to Specify Model Queries for MDA Transformations on UML Models , 2004, MDAFA.

[6]  Jeffrey G. Gray,et al.  Model Comparison : A Key Challenge for Transformation Testing and Version Control in Model Driven Software Development , 2004 .

[7]  Philip A. Bernstein,et al.  Merging Models Based on Given Correspondences , 2003, VLDB.

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

[9]  W. Retschitzegger,et al.  Model Integration Through Mega Operations , 2005 .

[10]  G. Kotsis,et al.  Semantically Enhanced Conflict Detection between Model Versions in SMoVer by Example ? , 2007 .

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

[12]  Tzilla Elrad,et al.  Aspect-Oriented Software Development , 2004 .

[13]  Christopher G. Lasater,et al.  Design Patterns , 2008, Wiley Encyclopedia of Computer Science and Engineering.

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

[15]  E. James Whitehead,et al.  Collaboration in Software Engineering: A Roadmap , 2007, Future of Software Engineering (FOSE '07).

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

[17]  Antonio Cicchetti,et al.  Meta-model Differences for Supporting Model Co-evolution , 2008 .

[18]  Arend Rensink Model Driven Architecture - Foundations and Applications, 5th European Conference, ECMDA-FA 2009, Enschede, The Netherlands, June 23-26, 2009. Proceedings , 2009, ECMDA-FA.

[19]  Jean-Michel Bruel,et al.  Satellite Events at the MoDELS 2005 Conference , 2006 .

[20]  Wolfgang Emmerich,et al.  Consistency management with repair actions , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[21]  Frédéric Jouault,et al.  Transforming Models with ATL , 2005, MoDELS.

[22]  Richard F. Paige,et al.  Using a Model Merging Language for Reconciling Model Versions , 2006, ECMDA-FA.

[23]  Alexander Egyed,et al.  Fixing Inconsistencies in UML Design Models , 2007, 29th International Conference on Software Engineering (ICSE'07).

[24]  Jean-Marie Favre,et al.  Meta-Model and Model Co-evolution within the 3D Software Space , 2003 .

[25]  Dewayne E. Perry,et al.  Parallel changes: detecting semantic interferences , 2005, 29th Annual International Computer Software and Applications Conference (COMPSAC'05).

[26]  Jean Bézivin,et al.  A Canonical Scheme for Model Composition , 2006, ECMDA-FA.