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.
This is a preview of subscription content, access via your institution.
Buy single article
Instant access to the full article PDF.
Tax calculation will be finalised during checkout.
Altmanninger, Kerstin, Martina Seidl, and Manuel Wimmer (2009a). A Survey on Model Versioning Approaches. International Journal of Web Information Systems, vol. 5, no. 3, pp. 271-304.
Altmanninger, Kerstin, Petra Brosch, Gerti Kappel, Philip Langer, Martina Seidl, Konrad Wieland, and Manuel Wimmer (2009b). Why Model Versioning Research is Needed!? An Experience Report. In MoDSE-MCCM'09. Proceedings of the Models and Evolution Workshop @ MoDELS'09, Denver, Colorado, USA, October 4, 2009.
Auer, Sören, Sebastian Dietzold, and Thomas Riechert (2006). OntoWiki – A Tool for Social, Semantic Collaboration. In I. F. Cruz, S. Decker, D. Allemang, C. Preist, D. Schwabe, P. Mika, M. Uschold, and L. Aroyo (eds): ISWC'06. Proceedings of the 5th International Semantic Web Conference, Athens, Georgia, USA, November 5-9, 2006, vol. 4273 of LNCS. Berlin/Heidelberg, Springer, pp. 736-749.
Balzer, Robert (1989). Tolerating inconsistency. In D. E. Perry (eds): ISPW'89. Proceedings of the 5th International Software Process Workshop, Kennebunkport, Maine, USA, October, 1989. Los Alamitos, CA, USA, IEEE Computer Society, pp. 41-42.
Batini, Carlo, Maurizio Lenzerini, and Shamkant B. Navathe (1986). A comparative analysis of methodologies for database schema integration. ACM Computing Survey, vol. 18, no. 4, pp. 323-364.
Bézivin, Jean (2005). On the Unification Power of Models. Journal on Software and Systems Modeling, vol. 4, no. 2, pp. 171-188.
Brosch, Petra, Philip Langer, Martina Seidl, Konrad Wieland, and Manuel Wimmer (2009). We Can Work It Out: Collaborative Conflict Resolution in Model Versioning. In I. Wagner, H. Tellioglu, E. Balka, and C. Simone (eds): ECSCW' 09. Proceedings of the European Conference on Computer Supported Cooperative Work, Vienna, Austria. September 7-11, 2009. Berlin/Heidelberg, Springer, pp. 207-214.
Brosch, Petra, Gerti Kappel, Martina Seidl, Konrad Wieland, Manuel Wimmer, Horst Kargl, and Philip Langer (2010a). Adaptable Model Versioning in Action. In G. Engels, D. Karagiannis, and H. C. Mayr (eds): Modellierung'10. Tagungsband der Modellierung 2010, Klagenfurt, Austria, March 24-26, 2010, vol. 161 of LNI. Bonn, GI, pp. 221-236.
Brosch, Petra, Philip Langer, Martina Seidl, Konrad Wieland, Manuel Wimmer, and Gerti Kappel (2010b). Concurrent Modeling in Early Phases of the Software Development Life Cycle. In G. L. Kolfschoten, T. Herrmann, and S. Lukosch (eds): CRIWG'10. Proceedings of the 16th International Conference on Collaboration and Technology, Maastricht, The Netherlands, September 20-23, 2010, vol. 6257 of LNCS. Berlin/Heidelberg, Springer, pp. 129-144.
Brun, Cédric and Alfonso Pierantonio (2008). Model Differences in the Eclipse Modeling Framework. UPGRADE, The European Journal for the Informatics Professional, vol. 9, no. 2, pp. 29-34.
Budinsky, Frank, Dave Steinberg, Ed Merks, Ray Ellersick, and Timothy J. Grose (2003). Eclipse Modeling Framework (The Eclipse Series). Addison-Wesley.
Campbell, Donald T., Julian C. Stanley, and Nathaniel L. Gage (1963). Experimental and quasi-experimental designs for research. Houghton Mifflin Boston.
Conradi, Reidar and Bernhard Westfechtel (1998). Version Models for Software Configuration Management. ACM Computing Surveys, vol. 30, no. 2, pp. 232-282.
Dey, Anind K. and Gregory D. Abowd (2000). Towards a better understanding of context and context-awareness. In Proceedings of the Workshop on the What, Who, Where, When and How of Context-Awareness @ CHI'00, The Hague, The Netherlands, April 1-6, 2000. New York, NY, USA, ACM Press.
Dig, Danny, Kashif Manzoor, Ralph E. Johnson, and Tien N. Nguyen (2008). Effective Software Merging in the Presence of Object-Oriented Refactorings. IEEE Transactions on Software Engineering, vol. 34, no. 3, pp. 321-335.
Edwards, W. Keith (1997). Flexible Conflict Detection and Management in Collaborative Applications. In UIST'97. Proceedings of the 10th Annual ACM Symposium on User Interface Software and Technology, Banff, Alberta, Canada, October 14-17, 1997. New York, NY, USA, ACM, pp. 139-148.
Ehrig, Hartmut, Claudia Ermel, and Gabriele Taentzer (2011). A Formal Resolution Strategy for Operation-Based Conflicts in Model Versioning Using Graph Modifications. In D. Giannakopoulou and F. Orejas (eds): FASE'11. Proceedings of the International Conference on Fundamental Approaches to Software Engineering, Saarbrücken, Germany, March 26 - April 3, 2011, vol. 6603 of LNCS. Berlin/Heidelberg, Springer, pp. 202-216.
Engelbart, Douglas C. and William K. English (1968). A research center for augmenting human intellect. In AFIPS'68. Proceedings of the Fall Joint Computer Conference, San Francisco, California, December 9-11, 1968. New York, NY, USA, ACM, pp. 395-410.
Estublier, Jacky, David Leblang, André van der Hoek, Reidar Conradi, Geoffrey Clemm, Walter Tichy, and Darcy Wiborg-Weber (2005). Impact of software engineering research on the practice of software configuration management. ACM Transactions on Software Engineering and Methodology, vol. 14, no. 4, pp. 383-430.
Finkelstein, Anthony, Dov M. Gabbay, Anthony Hunter, Jeff Kramer, and Bashar Nuseibeh (1994). Inconsistency Handling in Multperspective Specifications. IEEE Transactions on Software Engineering, vol. 20, no. 8, pp. 569-578.
Fitzpatrick, Geraldine, Paul Marshall, and Anthony Phillips (2006). CVS integration with notification and chat: lightweight software team collaboration. In P. J. Hinds and D. Martin (eds): CSCW'06. Proceedings of the 20th anniversary Conference on Computer Supported Cooperative Work, Banff, Alberta, Canada, November 4-8, 2006. New York, NY, USA, ACM, pp. 49-58.
Fluegge, Martin (2009). Entwicklung einer kollaborativen Erweiterung fuer GMF-Editoren auf Basis modellgetriebener und webbasierter Technologien. Master's thesis, University of Applied Sciences Berlin.
Fowler, Martin (2003). UML Distilled: A Brief Guide to the Standard Object Modeling Language. Addison-Wesley Longman Publishing Co., Inc.
Fuentes-Fernández, Lidia and Antonio Vallecillo-Moreno (2004). An Introduction to UML Profiles. UPGRADE, The European Journal for the Informatics Professional, vol. 5, no. 2, pp. 5-13.
Gallardo, Jesús, Ana I. Molina, Crescencio Bravo, Miguel A. Redondo, and César A. Collazos (2011). An ontological conceptualization approach for awareness in domain-independent collaborative modeling systems: Application to a model-driven development method. Expert Systems with Applications, vol. 38, no. 2, pp. 1099-1118.
Hevner, Alan R., Salvatore T. March, Jinsoo Park, and Sudha Ram (2004). Design Science in Information Systems Research. MIS Quarterly, vol. 28, no. 1, pp. 75-105.
Hunter, Anthony and Bashar Nuseibeh (1998). Managing Inconsistent Specifications: Reasoning, Analysis, and Action. ACM Transactions on Software Engineering and Methodology, vol. 7, no. 4, pp. 335-367.
Kappel, Gerti, Elisabeth Kapsammer, Horst Kargl, Gerhard Kramler, Thomas Reiter, Werner Retschitzegger, Wieland Schwinger, and Manuel Wimmer (2006). Lifting metamodels to ontologies - a step to the semantic integration of modeling languages. In O. Nierstrasz, J. Whittle, D. Harel, and G. Reggio (eds): MoDELS'06. Proceedings of the International Conference on Model Driven Engineering Languages and Systems, Genova, Italy, October 1-6, 2006, vol. 4199 of LNCS. Berlin/Heidelberg, Springer, pp. 528-542.
Langer, Philip, Konrad Wieland, Manuel Wimmer, and Jordi Cabot (2012). EMF Profiles: A Lightweight Extension Approach for EMF Models. Journal of Object Technology, vol. 11, no. 1, pp. 1-29.
Lippe, Ernst and Norbert van Oosterom (1992). Operation-Based Merging. In SDE 5. Proceeding of the 5th ACM SIGSOFT Symposium on Software Development Environments, Washington, DC, USA, December 9-11, 1992. ACM, pp. 78-87.
Lukosch, Stephan and Andrea Leisen (2009). Comparing and Merging Versioned Wiki Pages. In J. Cordeiro, S. Hammoudi, and J. Filipe (eds): WEBIST'08. Proceedings of the 4th International Conference on Web Information Systems and Technologies, Funchal, Madeira, Portugal, May 4-7, 2008, vol. 18 of LNBIP. Berlin/Heidelberg, Springer, pp. 159-173.
March, Salvatore T. and Gerald F. Smith (1995). Design and natural science research on information technology. Decision Support Systems, vol. 15, no. 4, pp. 251-266.
Mehra, Akhil, John Grundy, and John Hosking (2005). A Generic Approach to Supporting Diagram Differencing and Merging for Collaborative Design. In D. F. Redmiles, T. Ellman, and A. Zisman (eds): ASE'05. Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering, November 7-11, 2005, Long Beach, CA, USA. ACM, pp. 204-213.
Mens, Tom (2002). A State-of-the-Art Survey on Software Merging. IEEE Transactions on Software Engineering, vol. 28, no. 5, pp. 449-462.
Munson, Jonathan P. and Prasun Dewan (1994). A Flexible Object Merging Framework. In CSCW'94. Proceedings of the 1994 ACM Conference on Computer Supported Cooperative Work, October 22-26, 1994, Chapel Hill, North Carolina, USA. ACM, pp. 231-242.
Niere, Jörg (2004). Visualizing Differences of UML Diagrams With Fujaba. In A. Schürr and A. Zündorf (eds): Proceedings of the 2nd International Fujaba Days 2004, September 15-17, 2004, Darmstadt, Germany, vol. tr-ri-04-253. Paderborn, University of Paderborn, pp. 31-35.
Nuseibeh, Bashar, Steve M. Easterbrook, and Alessandra Russo (2001). Making inconsistency respectable in software development. Journal of Systems and Software, vol. 58, no. 2, pp. 171-180.
Ohst, Dirk, Michael Welle, and Udo Kelter (2003). Differences between Versions of UML Diagrams. In ESEC'03. Proceedings of the 11th ACM SIGSOFT Symposium on Foundations of Software Engineering 2003 held jointly with 9th European Software Engineering Conference, September 1-5, 2003, Helsinki, Finland. ACM, pp. 227-236.
Renger, Michiel, Gwendolyn L. Kolfschoten, and Gert-Jan de Vreede (2008). Challenges in Collaborative Modeling: A Literature Review. In J. L. G. Dietz, A. Albani, and J. Barjis (eds): Proceedings of the 5th International Workshop on Groupware: Design, Implementation, and Use, @ CRIWG 2009, September 17-19, 2009, Peso da Régua, Douro, Portugal, vol. 10 of LNBIP. Berlin/Heidelberg, Springer, pp. 61-77.
Schwanke, Robert W. and Gail E. Kaiser (1988). Living With Inconsistency in Large Systems. In J. F. H. Winkler (eds): SCM'88. Proceedings of the International Workshop on Software Version and Configuration Control, January 27-29, 1988, Grassau, Germany, vol. 30 of Berichte des German Chapter of the ACM. Teubner, pp. 98-118.
Sebastian, Abraham, Natalya Fridman Noy, Tania Tudorache, and Mark A. Musen (2008). A Generic Ontology for Collaborative Ontology-Development Work-flows. In A. Gangemi and J. Euzenat (eds): EKWA'06. Proceedings of the 16th International Conference on Knowledge Engineering: Practice and Patterns, September 29 - October 2, 2008. Acitrezza, Italy, vol. 5268 of LNCS. Berlin/Heidelberg, Springer, pp. 318-328.
Shen, Haifeng (2003). Internet-Based Collaborative Programming Techniques and Environments. Ph.D. dissertation, Griffith University.
Spanoudakis, George and Andrea Zisman (2001). Inconsistency management in software engineering: Survey and open research issues. In S.-K. Chang (eds): Handbook of Software Engineering and Knowledge Engineering. Singapure, World Scientific Publishing, pp. 329-380.
Taentzer, Gabriele, Claudia Ermel, Philip Langer, and Manuel Wimmer (2010). Conflict Detection for Model Versioning Based on Graph Modifications. In H. Ehrig, A. Rensink, G. Rozenberg, and A. Schürr (eds): ICGT'10. Proceedings of the 5th International Conference on Graph Transformations, September 27 - October 2, 2010, Enschede, The Netherlands, vol. 6372 of LNCS. Berlin/Heidelberg, Springer, pp. 171-186.
Thum, Christian, Michael Schwind, and Martin Schader (2009). SLIM-A Lightweight Environment for Synchronous Collaborative Modeling. In A. Schürr and B. Selic (eds): MODELS'09. Proceedings of the 12th International Conference on Model Driven Engineering Languages and Systems, October 4-9, 2009, Denver, CO, USA, vol. 5795 of LNCS. Berlin/Heidelberg, Springer, pp. 137-151.
Tudorache, Tania, Natalya Fridman Noy, Samson W. Tu, and Mark A. Musen (2008). Supporting Collaborative Ontology Development in Protégé. In A. P. Sheth, S. Staab, M. Dean, M. Paolucci, D. Maynard, T. W. Finin, and K. Thirunarayan (eds): ISWSWC'08. Proceedings of the 7th International Semantic Web Conference, October 26-30, 2008, Karlsruhe, Germany, vol. 5318 of LNCS. Berlin/Heidelberg, Springer, pp. 17-32.
Wengraf, Tom (2001). Qualitative research interviewing: biographic narrative and semi-structured methods. SAGE Publications, London.
Wieland, Konrad, Geraldine Fitzpatrick, Gerti Kappel, Martina Seidl, and Manuel Wimmer (2011). Towards an Understanding of Requirements for Model Versioning Support. International Journal of People-Oriented Programming, vol. 1, no. 2. publication pending.
Yin, Robert K. (2002). Case Study Research: Design and Methods. SAGE Publications, London.
About this article
Cite this article
Wieland, K., Langer, P., Seidl, M. et al. Turning Conflicts into Collaboration. Comput Supported Coop Work 22, 181–240 (2013). https://doi.org/10.1007/s10606-012-9172-4
- model-driven engineering
- model versioning
- collaborative modeling