Turning Conflicts into Collaboration

Abstract

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.

Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17
Figure 18
Figure 19
Figure 20
Figure 21
Figure 22
Figure 23
Figure 24

Notes

  1. 1.

    http://biomedgt.org

  2. 2.

    http://www.omg.org/spec/UML/2.2

  3. 3.

    http://www.bugzilla.org/docs/2.18/html/lifecycle.html

  4. 4.

    http://www.eclipse.org

  5. 5.

    http://www.eclipse.org/modeling/emf/?project=validation#validation

  6. 6.

    http://wiki.eclipse.org/CDO

  7. 7.

    http://www.eclipse.org/emf/compare/

  8. 8.

    http://eclipse.org/modeling/

References

  1. 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.

    Article  Google Scholar 

  2. 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.

  3. 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.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. 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.

    Article  Google Scholar 

  6. Bézivin, Jean (2005). On the Unification Power of Models. Journal on Software and Systems Modeling, vol. 4, no. 2, pp. 171-188.

    Article  Google Scholar 

  7. 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.

    Google Scholar 

  8. 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.

  9. 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.

    Google Scholar 

  10. 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.

    Google Scholar 

  11. Budinsky, Frank, Dave Steinberg, Ed Merks, Ray Ellersick, and Timothy J. Grose (2003). Eclipse Modeling Framework (The Eclipse Series). Addison-Wesley.

  12. Campbell, Donald T., Julian C. Stanley, and Nathaniel L. Gage (1963). Experimental and quasi-experimental designs for research. Houghton Mifflin Boston.

  13. Conradi, Reidar and Bernhard Westfechtel (1998). Version Models for Software Configuration Management. ACM Computing Surveys, vol. 30, no. 2, pp. 232-282.

    Article  Google Scholar 

  14. 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.

  15. 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.

    Article  Google Scholar 

  16. 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.

  17. 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.

    Google Scholar 

  18. 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.

  19. 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.

    Article  Google Scholar 

  20. 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.

    Article  Google Scholar 

  21. 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.

    Google Scholar 

  22. Fluegge, Martin (2009). Entwicklung einer kollaborativen Erweiterung fuer GMF-Editoren auf Basis modellgetriebener und webbasierter Technologien. Master's thesis, University of Applied Sciences Berlin.

  23. Fowler, Martin (2003). UML Distilled: A Brief Guide to the Standard Object Modeling Language. Addison-Wesley Longman Publishing Co., Inc.

  24. 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.

    Google Scholar 

  25. 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.

    Article  Google Scholar 

  26. 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.

    Google Scholar 

  27. 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.

    Article  Google Scholar 

  28. 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.

    Google Scholar 

  29. 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.

    Article  Google Scholar 

  30. 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.

  31. 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.

    Google Scholar 

  32. 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.

    Article  Google Scholar 

  33. 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.

    Google Scholar 

  34. Mens, Tom (2002). A State-of-the-Art Survey on Software Merging. IEEE Transactions on Software Engineering, vol. 28, no. 5, pp. 449-462.

    Article  Google Scholar 

  35. 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.

  36. 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.

    Google Scholar 

  37. 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.

    Article  Google Scholar 

  38. 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.

  39. 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.

    Google Scholar 

  40. 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.

  41. 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.

    Google Scholar 

  42. Shen, Haifeng (2003). Internet-Based Collaborative Programming Techniques and Environments. Ph.D. dissertation, Griffith University.

  43. 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.

    Google Scholar 

  44. 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.

    Google Scholar 

  45. 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.

    Google Scholar 

  46. 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.

    Google Scholar 

  47. Wengraf, Tom (2001). Qualitative research interviewing: biographic narrative and semi-structured methods. SAGE Publications, London.

    Google Scholar 

  48. 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.

  49. Yin, Robert K. (2002). Case Study Research: Design and Methods. SAGE Publications, London.

    Google Scholar 

Download references

Author information

Affiliations

Authors

Corresponding author

Correspondence to Konrad Wieland.

Rights and permissions

Reprints and Permissions

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

Download citation

Key words

  • model-driven engineering
  • model versioning
  • collaborative modeling