Concurrent Modeling in Early Phases of the Software Development Life Cycle
- 3 Citations
- 987 Downloads
Abstract
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.
Keywords
team-based modeling model versioning conflict tolerancePreview
Unable to display preview. Download preview PDF.
References
- 1.Bézivin, J.: On the Unification Power of Models. Journal on Software and Systems Modeling 4(2), 171–188 (2005)CrossRefGoogle Scholar
- 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
- 5.Edwards, W.K.: Flexible Conflict Detection and Management in Collaborative Applications. In: 10th Annual ACM Symposium on User Interface Software and Technology (UIST 1997), pp. 139–148. ACM, New York (1997)CrossRefGoogle Scholar
- 6.Mens, T.: A State-of-the-Art Survey on Software Merging. IEEE Trans. on Software Engineering 28(5), 449–462 (2002)CrossRefGoogle Scholar
- 7.Munson, J.P., Dewan, P.: A Flexible Object Merging Framework. In: ACM Conference on Computer Supported Cooperative Work (CSCW 1994), pp. 231–242. ACM, New York (1994)CrossRefGoogle Scholar
- 8.Conradi, R., Westfechtel, B.: Version Models for Software Configuration Management. ACM Computing Surveys 30(2), 232 (1998)CrossRefGoogle 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
- 13.Nuseibeh, B., Easterbrook, S.M., Russo, A.: Making Inconsistency Respectable in Software Development. Journal of Systems and Software 58(2), 171–180 (2001)CrossRefGoogle 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
- 16.Finkelstein, A., Gabbay, D.M., Hunter, A., Kramer, J., Nuseibeh, B.: Inconsistency Handling in Multperspective Specifications. IEEE Trans. on Software Engineering 20(8), 569–578 (1994)CrossRefGoogle Scholar
- 17.Hunter, A., Nuseibeh, B.: Managing Inconsistent Specifications: Reasoning, Analysis, and Action. ACM Trans. on Soft. Eng. and Meth. 7(4), 335–367 (1998)CrossRefGoogle Scholar