P. Brosch, P. Langer, M. Seidl, K. Wieland, M. Wimmer, G. Kappel: Concurrent Modeling in Early Phases of the Software Development Life Cycle, in: Proceedings of the 16th Collaboration Researchers' International Working Group Conference on Collaboration and Technology (CRIWG 2010), Springer, 2010, ISBN: 978-3-642-15713-4, pages 129 - 144. paper
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.