Selective and Consistent Undoing of Model Changes

  • Iris Groher
  • Alexander Egyed
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6395)

Abstract

There are many reasons why modeling tools support the undoing of model changes. However, the sequential undoing is no longer useful for interrelated, multi-diagrammatic modeling languages where model changes in one diagram may also affect other diagrams. This paper introduces selective undoing of model changes where the designer decides which model elements to undo and our approach automatically suggests related changes in other diagrams that should be undone also. Our approach identifies dependencies among model changes through standard consistency and well-formedness constraints. It then investigates whether an undo causes inconsistencies and uses the dependencies to explore which other model changes to undo to preserve consistency. Our approach is fully automated and correct with respect to the constraints provided. Our approach is also applicable to legacy models provided what the models were version controlled. We demonstrate our approach’s scalability and correctness based on empirical evidence for a range of large, third party models. The undoing is as complete and correct as the constraints are complete and correct.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Concurrent Versions System (2009), http://www.nongnu.org/cvs/
  2. 2.
    Subversion (2009), http://subversion.tigris.org/
  3. 3.
    Balzer, R.: Tolerating Inconsistency. In: Proceedings of 13th International Conference on Software Engineering (ICSE), pp. 158–165 (1991)Google Scholar
  4. 4.
    Doyle, J.: A Truth Maintenance System. Artificial Intelligence 12, 231–272 (1979)MathSciNetCrossRefGoogle Scholar
  5. 5.
    Egyed, A.: Instant Consistency Checking for the UML. In: Proc. of the 28th Intern. Conf. on Software Engineering, Shanghai, China, pp. 381–390 (2006)Google Scholar
  6. 6.
    Egyed, A.: Fixing Inconsistencies in UML Design Models. In: Proceedings of the 29th International Conference on Software Eng., pp. 292–301 (2007)Google Scholar
  7. 7.
    Egyed, A., Wile, D.S.: Support for Managing Design-Time Decisions. IEEE Transactions on Software Engineering 32, 299–314 (2006)CrossRefGoogle Scholar
  8. 8.
    Fickas, S., Feather, M., Kramer, J.: Proceedings of ICSE 1997 Workshop on Living with Inconsistency, Boston, USA (1997)Google Scholar
  9. 9.
    Gall, H.: Of Changes and their History: Some Ideas for Future IDEs. In: Proc. of 15th Working Conf. on Reverse Eng., Antwerp, Belgium, p. 3 (2008)Google Scholar
  10. 10.
    Henteryck, P.: Strategic Directions in Constraint Programming. ACM Computing Surveys 28 (1996)Google Scholar
  11. 11.
    Mackworth, A.K.: Consistency in Networks of Relations. Journal of Artificial Intelligence 8, 99–118 (1977)CrossRefMATHGoogle Scholar
  12. 12.
    Mehra, A., Grundy, J., Hosking, J.: A Generic Approach to Supporting Diagram Differencing and Merging for Collaborative Design. In: Proceedings of the 20th International Conference on Automated Software Engineering (ASE), Long Beach, CA, pp. 204–213 (2005)Google Scholar
  13. 13.
    Robbes, R., Lanza, M.: A Change-based Approach to Software Evolution. Electron. Notes Theor. Comput. Sci. 166, 93–109 (2007)CrossRefGoogle Scholar
  14. 14.
    Tarr, P., Osher, H., Harrison, W., Sutton Jr., S.M.: N Degrees of Separation: Multi-Dimensional Separation of Concerns. In: Proceedings of the 21st International Conference on Software Eng., pp. 107–119 (1999)Google Scholar
  15. 15.
    Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A.: Experimentation in Software Engineering: An Introduction. Kluwer Academic Publishers, Dordrecht (2000)CrossRefMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Iris Groher
    • 1
  • Alexander Egyed
    • 1
  1. 1.Johannes Kepler University LinzLinzAustria

Personalised recommendations