Turning Conflicts into Collaboration

In model-driven software development, software models are the main artifacts used not only for supporting brainstorming, analysis, and design purposes, but also for generating executable code. Such software models are usually not created by one single developer, but within a team. To coordinate team work, versioning systems have proven to be indispensable for managing modifications performed by different modelers at the same time. When concurrently performed modifications are contradicting each other, the standard versioning paradigm requires the person who detected the conflict to resolve it immediately in order to keep the evolved artifacts in a consistent state. Whereas this approach works well in later phases of the software development process, in early phases, when the development team had not established a consolidated view on the system under development yet, the conflicts might provide valuable information on the various intentions of the modelers. This information might be lost if removed in an undocumented manner by a single modeler. We propose an alternative versioning paradigm for models, where conflicts are temporarily tolerated and discuss its technical realization for current modeling languages such as the UML. The resolution of conflicts is then not performed by one single modeler but within a team so that a consolidated version of the model is obtained.

[1]  Samson W. Tu,et al.  Supporting Collaborative Ontology Development in Protégé , 2008, SEMWEB.

[2]  Gabriele Taentzer,et al.  Conflict Detection for Model Versioning Based on Graph Modifications , 2010, ICGT.

[3]  César A. Collazos,et al.  An ontological conceptualization approach for awareness in domain-independent collaborative modeling systems: Application to a model-driven development method , 2011, Expert Syst. Appl..

[4]  Tom Wengraf Qualitative Research Interviewing: Biographic Narrative and Semi-Structured Methods , 2001 .

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

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

[7]  Gerti Kappel,et al.  Adaptable Model Versioning in Action , 2010, Modellierung.

[8]  Reidar Conradi,et al.  Impact of software engineering research on the practice of software configuration management , 2005, ACM Trans. Softw. Eng. Methodol..

[9]  Andrea Zisman,et al.  Inconsistency Management in Software Engineering: Survey and Open Research Issues , 2000 .

[10]  Douglas C. Engelbart,et al.  A research center for augmenting human intellect , 1968, AFIPS Fall Joint Computing Conference.

[11]  Bashar Nuseibeh,et al.  Making inconsistency respectable in software development , 2001, J. Syst. Softw..

[12]  Dov M. Gabbay,et al.  Inconsistency Handling in Multperspective Specifications , 1994, IEEE Trans. Software Eng..

[13]  Bashar Nuseibeh,et al.  Managing inconsistent specifications: reasoning, analysis, and action , 1998, TSEM.

[14]  Jordi Cabot,et al.  EMF Profiles: A Lightweight Extension Approach for EMF Models , 2012, J. Object Technol..

[15]  Gerti Kappel,et al.  Towards an Understanding of Requirements for Model Versioning Support , 2011, Int. J. People Oriented Program..

[16]  Haifeng Shen,et al.  Internet-Based Collaborative Programming Techniques and Environments , 2003 .

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

[18]  Salvatore T. March,et al.  Design and natural science research on information technology , 1995, Decis. Support Syst..

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

[20]  John C. Grundy,et al.  A generic approach to supporting diagram differencing and merging for collaborative design , 2005, ASE '05.

[21]  Michael Schwind,et al.  SLIM - A Lightweight Environment for Synchronous Collaborative Modeling , 2009, MoDELS.

[22]  Ralph E. Johnson,et al.  Effective Software Merging in the Presence of Object-Oriented Refactorings , 2008, IEEE Transactions on Software Engineering.

[23]  Alan R. Hevner,et al.  Design Science in Information Systems Research , 2004, MIS Q..

[24]  Gregory D. Abowd,et al.  Towards a Better Understanding of Context and Context-Awareness , 1999, HUC.

[25]  Stephan Lukosch,et al.  Comparing and Merging Versioned Wiki Pages , 2008, WEBIST.

[26]  Geraldine Fitzpatrick,et al.  CVS integration with notification and chat: lightweight software team collaboration , 2006, CSCW '06.

[27]  Gail E. Kaiser,et al.  Living With Inconsistency in Large Systems , 1988, System Configuration Management.

[28]  Frank Budinsky,et al.  Eclipse Modeling Framework , 2003 .

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

[30]  Tom Wengraf,et al.  Qualitative Research Interviewing , 2001 .

[31]  Petra Kaufmann,et al.  We can work it out: Collaborative Conflict Resolution in Model Versioning , 2009, ECSCW.

[32]  Udo Kelter,et al.  Differences between versions of UML diagrams , 2003, ESEC/FSE-11.

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

[34]  Prasun Dewan,et al.  A flexible object merging framework , 1994, CSCW '94.

[35]  Tania Tudorache,et al.  A Generic Ontology for Collaborative Ontology-Development Workflows , 2008, EKAW.

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

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

[38]  Thomas Herrmann,et al.  Proceedings of the 16th international conference on Collaboration and technology , 2010 .

[39]  Hartmut Ehrig,et al.  A Formal Resolution Strategy for Operation-Based Conflicts in Model Versioning Using Graph Modifications , 2011, FASE.

[40]  Robert Balzer,et al.  Tolerating Inconsistency , 1991, [1989] Proceedings of the 5th International Software Process Workshop.

[41]  Lidia Fuentes-Fernández,et al.  An Introduction to UML Profiles , 2004 .

[42]  Sören Auer,et al.  OntoWiki: A Tool for Social, Semantic Collaboration , 2006, CKC.

[43]  Jörg Niere Visualizing differences of UML diagrams with Fujaba [ Position Paper ] , 2004 .

[44]  D. Campbell,et al.  EXPERIMENTAL AND QUASI-EXPERIMENT Al DESIGNS FOR RESEARCH , 2012 .

[45]  Gwendolyn L. Kolfschoten,et al.  Challenges in Collaborative Modeling: A Literature Review , 2008, CIAO! / EOMAS.

[46]  Gerti Kappel,et al.  Concurrent Modeling in Early Phases of the Software Development Life Cycle , 2010, CRIWG.

[47]  Ernst Lippe,et al.  Operation-based merging , 1992, SDE 5.