Advertisement

Concurrent Modeling in Early Phases of the Software Development Life Cycle

  • Petra Brosch
  • Philip Langer
  • Martina Seidl
  • Konrad Wieland
  • Manuel Wimmer
  • Gerti Kappel
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6257)

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 tolerance 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Bézivin, J.: On the Unification Power of Models. Journal on Software and Systems Modeling 4(2), 171–188 (2005)CrossRefGoogle Scholar
  2. 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. 3.
    UML Specification 2.2, http://www.omg.org/spec/UML/2.2
  4. 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. 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. 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. 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. 8.
    Conradi, R., Westfechtel, B.: Version Models for Software Configuration Management. ACM Computing Surveys 30(2), 232 (1998)CrossRefGoogle Scholar
  9. 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. 10.
    Brun, C., Pierantonio, A.: Model Differences in the Eclipse Modeling Framework. UPGRADE, The European Journal for the Informatics Professional (2008)Google Scholar
  11. 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. 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. 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. 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. 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. 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. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Petra Brosch
    • 1
  • Philip Langer
    • 2
  • Martina Seidl
    • 1
  • Konrad Wieland
    • 1
  • Manuel Wimmer
    • 1
  • Gerti Kappel
    • 1
  1. 1.Business Informatics GroupVienna University of TechnologyAustria
  2. 2.Department of TelecooperationJohannes Kepler University LinzAustria

Personalised recommendations