Collaborative model merging

Models are important artifacts in the software development life-cycle and are often the result of a collaborative activity of multiple developers. When multiple developers modify the same model, conflicts can occur and need to be resolved by merging. Existing approaches for model merging require developers to solve all conflicts before committing. The later a developer commits the higher the probability for even more conflicts. This forces the developers to solve every conflict as soon as possible and without consulting the other developer. However, we claim that developers often need to discuss their choice of conflict resolution with another developer in case of a complex conflict, since a conflict also expresses differences in opinion about the model. In this paper we propose to allow developers to postpone a decision of a modeling conflict. We present an approach to make conflicts part of the model and represent them as first-level entities based on issue modeling from the field of Rationale Management. This facilitates the possibility for collaborative conflict resolution and merging. Furthermore, it allows for a complete batch merge instead of interactive merging, where all conflicts are added to the model and then resolved later. To substantiate our claim that developers favor to discuss complex conflicts we conducted a case study.

[1]  Martin Gogolla Unified Modeling Language , 2009, Encyclopedia of Database Systems.

[2]  Claudia-Lavinia Ignat,et al.  Operation-based versus State-based Merging in Asynchronous Graphical Collaborative Editing , 2004 .

[3]  Yuefeng Zhang,et al.  Agile Model-Driven Development in Practice , 2011, IEEE Software.

[4]  Jintae Lee,et al.  What's in design rationale? , 1991 .

[5]  M. D. Lubars,et al.  Representing design dependencies in an issue-based style , 1991, IEEE Software.

[6]  Mehrdad Sabetzadeh,et al.  Traceability in viewpoint merging: a model management perspective , 2005, TEFSE '05.

[7]  W. Keith Edwards,et al.  Flexible conflict detection and management in collaborative applications , 1997, UIST '97.

[8]  William A. Wulf,et al.  Capturing design rationale in concurrent engineering teams , 1993 .

[9]  Allan MacLean,et al.  WHAT MAKES A GOOD DESIGN QUESTION? , 1991, SGCH.

[10]  Maximilian Koegel,et al.  Operation-based conflict detection and resolution , 2009, 2009 ICSE Workshop on Comparison and Versioning of Software Models.

[11]  Mark Klein,et al.  Capturing design rationale in concurrent engineering teams , 1993, Computer.

[12]  Jack Mostow,et al.  Toward Better Models of the Design Process , 1985, AI Mag..

[13]  Mourad Debbabi,et al.  Systems Modeling Language , 2010 .

[14]  Ali A. Ghorbani,et al.  Towards a Belief-Theoretic Model for Collaborative Conceptual Model Development , 2008, Proceedings of the 41st Annual Hawaii International Conference on System Sciences (HICSS 2008).

[15]  Steve Easterbrook,et al.  Resolving requirements conflicts with computer-supported negotiation , 1994 .

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

[17]  Timo Wolf,et al.  Rationale-based unified software engineering model , 2008 .

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

[19]  Jos Nijhuis,et al.  Design Decisions: The Bridge between Rationale and Architecture , 2006 .

[20]  C. Schneider CoObRA - a small step for development tools to collaborative environments , 2004, ICSE 2004.

[21]  Kuntz Werner,et al.  Issues as Elements of Information Systems , 1970 .