Concurrent Modeling in Early Phases of the Software Development Life Cycle
Software engineering deals with the development of complex software systems which is an inherently team-based task. Therefore, version control support is needed to coordinate the teamwork and to manage parallel modifications. If conflicting modifications occur, in standard approaches the developer who detected the conflict is responsible for the conflict resolution alone and has to resolve the conflict immediately.
Especially in early project phases, when software models are typically employed for brainstorming, analysis, and design purposes, such an approach bears the danger of losing important viewpoints of different stakeholders and domain engineers, resulting in a lower quality of the overall system specification. In this paper, we propose conflict-tolerant model versioning to overcome this problem. Conflicts are marked during the merge phase and are tolerated temporarily in order to resolve them later in a collaborative setting. We illustrate the proposed approach for the standardized modeling language UML and discuss how it can be integrated in current modeling tools and version control systems.
Keywordsteam-based modeling model versioning conflict tolerance
Unable to display preview. Download preview PDF.
- 2.Fowler, M.: UML Distilled: A Brief Guide to the Standard Object Modeling Language. Addison-Wesley Longman Publishing Co., Inc, Amsterdam (2003)Google Scholar
- 3.UML Specification 2.2, http://www.omg.org/spec/UML/2.2
- 4.Altmanninger, K., Brosch, P., Kappel, G., Langer, P., Seidl, M., Wieland, K., Wimmer, M.: Why Model Versioning Research is Needed!? An Experience Report. In: Joint MoDSE-MCCM 2009 Workshop @ MoDELS 2009 (2009)Google Scholar
- 9.Murta, L., Corrêa, C., Prudêncio, J.G., Werner, C.: Towards Odyssey-VCS 2: Improvements over a UML-based Version Control System. In: 2nd Int. Workshop on Comparison and Versioning of Software Models @ ICSE 2008. ACM, New York (2008)Google Scholar
- 10.Brun, C., Pierantonio, A.: Model Differences in the Eclipse Modeling Framework. UPGRADE, The European Journal for the Informatics Professional (2008)Google Scholar
- 11.Schneider, C., Zündorf, A., Niere, J.: CoObRA - A Small Step for Development Tools to Collaborative Environments. In: Workshop on Directions in Software Engineering Environments @ ICSE 2004 (2004)Google Scholar
- 12.Kögel, M.: Towards Software Configuration Management for Unified Models. In: Proc. of the 2nd Int. Workshop on Comparison and Versioning of Software Models @ ICSE 2008. ACM, New York (2008)Google Scholar
- 14.Schwanke, R.W., Kaiser, G.E.: Living With Inconsistency in Large Systems. In: Workshop on Software Version and Configuration Control, pp. 98–118 (1988)Google Scholar
- 15.Balzer, R.: Tolerating Inconsistency. In: 5th Int. Software Process Workshop (ISPW 1989), pp. 41–42. IEEE Computer Society, Los Alamitos (1989)Google Scholar