A Formalism for Specifying Model Merging Conflicts

Verifying the consistency of model merging is an important step towards the support for team collaboration in software modeling and evolution. Since merging conflicts are inevitable, this has triggered intensive research on conflict management in different domains. Despite these efforts, techniques for high-level conflict representation have hardly been investigated yet. In this paper, we propose an approach to specify model merging conflicts. This approach includes the Conflict Pattern Language (CPL), a formalism for specifying conflicts in different modeling languages. CPL is based on the OCL grammar and is tooled by an editor and a parser. CPL facilitates the slow and error-prone task of specifying model merging conflicts and can be used to specify conflicts in any EMF-based model. We evaluated our approach with a case study, including five different conflict cases. The results are promising about how CPL can be used for specifying syntactic and semantic conflicts.

[1]  Tony Clark OCL Pattern Matching , 2013, OCL@MoDELS.

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

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

[4]  Hong Zhu,et al.  WELL-FORMEDNESS , CONSISTENCY AND COMPLETENESS OF GRAPHIC MODELS , 2006 .

[5]  Francisco Curbera,et al.  Web Services Business Process Execution Language Version 2.0 , 2007 .

[6]  Gerti Kappel,et al.  Conflicts as First-Class Entities: A UML Profile for Model Versioning , 2010, MoDELS.

[7]  Bahman Zamani,et al.  A UML profile for modeling the conflicts in model merging , 2017, 2017 IEEE 4th International Conference on Knowledge-Based Engineering and Innovation (KBEI).

[8]  Hong Zhu,et al.  Formal specification of the variants and behavioural features of design patterns , 2010, J. Syst. Softw..

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

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

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

[12]  Annegret Habel,et al.  Translating essential OCL invariants to nested graph constraints for generating instances of meta-models , 2018, Sci. Comput. Program..

[13]  Luis Mandel,et al.  On the Expressive Power of OCL , 1999, World Congress on Formal Methods.

[14]  Bahman Zamani,et al.  Towards a formal model of patterns and pattern languages , 2016, Inf. Softw. Technol..

[15]  Jean-Marc Jézéquel,et al.  Refactoring UML Models , 2001, UML.

[16]  Venkataraman Ramesh,et al.  Collaborative conceptual schema design: a process model and prototype system , 1998, TOIS.

[17]  Behrouz Tork Ladani,et al.  Towards automatic generation of formal specifications for UML consistency verification , 2015, 2015 2nd International Conference on Knowledge-Based Engineering and Innovation (KBEI).

[18]  Hong Zhu,et al.  On the Theoretical Foundation of Meta-Modelling in Graphically Extended BNF and First Order Logic , 2010, 2010 4th IEEE International Symposium on Theoretical Aspects of Software Engineering.

[19]  Alfonso Pierantonio,et al.  A categorization for conflicts in model versioning , 2011, Elektrotech. Informationstechnik.

[20]  Henry Muccini,et al.  Collaborative Model-Driven Software Engineering: A Classification Framework and a Research Map , 2018, IEEE Transactions on Software Engineering.

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

[22]  Eugene Syriani,et al.  Feature Model for Collaborative Modeling Environments , 2017, MoDELS.

[23]  Bahman Zamani,et al.  Configurable three‐way model merging , 2020, Softw. Pract. Exp..

[24]  Gerson Sunyé,et al.  Model Consistency for Distributed Collaborative Modeling , 2017, ECMFA.

[25]  Donatello Materassi,et al.  Blind Learning of Tree Network Topologies in the Presence of Hidden Nodes , 2020, IEEE Transactions on Automatic Control.

[26]  Richard F. Paige,et al.  The Design of a Conceptual Framework and Technical Infrastructure for Model Management Language Engineering , 2009, 2009 14th IEEE International Conference on Engineering of Complex Computer Systems.

[27]  Jörg Kienzle,et al.  Towards Online Collaborative Multi-view Modelling , 2018, SAM.

[28]  Richard F. Paige,et al.  The Epsilon Pattern Language , 2017, 2017 IEEE/ACM 9th International Workshop on Modelling in Software Engineering (MiSE).

[29]  Frédéric Jouault,et al.  Towards Functional Model Transformations with OCL , 2015, ICMT.

[30]  Juan de Lara,et al.  Collaborative Modeling and Group Decision Making Using Chatbots in Social Networks , 2018, IEEE Software.

[31]  Petra Kaufmann,et al.  Semantics-Aware Versioning Challenge: Merging Sequence Diagrams along with State Machine Diagrams , 2013, Softwaretechnik-Trends.

[32]  Michael Winikoff,et al.  Consistent merging of model versions , 2016, J. Syst. Softw..