ABSTRACT
This paper addresses the problem of how to detect and visualise differences between versions of UML documents such as class or object diagrams. Our basic approach for showing the differences between two documents is to use a unified document which contains the common and specific parts of both base documents; the specific parts are highlighted. The main problems are (a) how to abstract from modifications done to the layout and other (document type-specific) details which are considered irrelevant; (b) how to deal with structural changes such as the shifting of an operation from one class to another; (c) how to reduce the amount of highlighted information. Our approach is based on the assumption that software documents are modelled in a fine-grained way, i.e. they are stored as syntax trees in XML files or in a repository system, and that the version management system supports fine-grained data. Our difference computation algorithm detects structural changes and enables their appropriate visualisation. Highlighting can be restricted on the basis of the types of the elements and on the basis of the revision history, e.g. only changes which occurred during a particular editing session are highlighted.
- U. Asklund. Identifying conflicts during structural merge. In B. Magnusson, editor, Proceedings of NWPER'94, Nordic Workshop on Programming Environment Research, June 1994.Google Scholar
- D. T. Barnard, G. Clarke, and N. Duncan. Tree-to-tree correction for document trees. Technical report, Departement of Computing andf Information Science Queen's University Kingston Ontario, Canada, January 1995.Google Scholar
- S. Chawathe and H. Garcia-Molina. Meaningful change detection in structured data. In Proceedings of the ACM SIGMOD International Conference on Management of Data, pages 26--37, Tuscon, Arizona, May 1997. Google ScholarDigital Library
- S. S. Chawathe, A. Rajaraman, H. Garcia-Molina, and J. Widom. Change detection in hierarchically structured information. In Proceedings of the ACM SIGMOD International Conference on Management of Data, pages 493--504, 1996. Google ScholarDigital Library
- G. Cobéna, S. Abiteboul, and A. Marian. Detecting changes in XML documents. In 18. International Conference on Data Engineering (ICDE) San Jose, California, USA, February 26-March 1, 2002, 2002. Google ScholarDigital Library
- R. Conradi and B. Westfechtel. Version models for software configuration management. ACM Computing Surveys, 30(2):232--282, June 1998. Google ScholarDigital Library
- J. J. Hunt, K.-P. Vo, and W. F. Tichy. An empirical study of delta algorithms. In I. Sommerville, editor, Software configuration management: ICSE 96 SCM-6 Workshop, pages 49--66. Springer, 1996. Google ScholarDigital Library
- U. Kelter. H-PCTE -- a high-performance object management system for system development environments. In Proceedings COMPSAC Illinois, September 23-25, pages 45--50. IEEE Press, 1992.Google ScholarCross Ref
- U. Kelter, M. Monecke, and D. Platz. Constructing distributed SDEs using an active repository. In Proc. 1st Intl. Symposium on Constructing Software Engineering Tools (COSET '99); 17.-18.05.1999, Los Angeles, CA, pages 149--158, 1999. Google ScholarDigital Library
- B. Magnusson, U. Asklund, and S. Minör. Fine-Grained Revision Control for Collaborative Software Development. In Proceedings of the ACM SIGSOFT '93 Symposium on the Foundations of Software Engineering, Los Angeles, California, pages 33--41, December 1993. Google ScholarDigital Library
- A. Marian, S. Abiteboul, G. Cobena, and L. Mignet. Change-centric management of versions in an XML warehouse. In P. M. G. Apers, P. Atzeni, S. Ceri, S. Paraboschi, K. Ramamohanarao, and R. T. Snodgrass, editors, Proceedings of the Twenty-seventh International Conference on Very Large Data Bases: Roma, Italy, 11--14th September, 2001, pages 581--590, Los Altos, CA 94022, USA, 2001. Morgan Kaufmann Publishers. Google ScholarDigital Library
- M. Monecke. Adaptierbare CASE-Werkzeuge in prozessorientierten Software-Entwicklungsumgebungen. PhD thesis, Universitát Siegen, 2003.Google Scholar
- E. W. Myers. An O(ND) difference algorithm and its variations. Algorithmica, 1:251--256, 1986.Google ScholarCross Ref
- D. Ohst and U. Kelter. A fine-grained version and configuration model in analysis and design. In Proc. of the IEEE International Conference on Software Maintenance 2002 (ICSM 2002), 3-6 October 2002, Montreal, Canada, 2002. Google ScholarDigital Library
- OMG. Unified Modeling Language Specification. OMG, March 2003. Version 1.5 formal/03-03-01.Google Scholar
- J. Rho and C. Wu. An efficient version model of software diagrams. In Proc. 5th Asia-Pacific Software Engineering Conf., 2-4 December 1998 in Taipei, Taiwan, ROC. IEEE Computer Society, Dec. 1998. Google ScholarDigital Library
- S. M. Selkow. The tree-to-tree editing problem. Information Processing Letters, 6(6):184--186, December 1977.Google ScholarCross Ref
- K.-C. Tai. The tree-to-tree correction problem. Journal of the ACM, 26(3):422--433, July 1979. Google ScholarDigital Library
- W. F. Tichy. The string-to-string correction problem with block moves. ACM Transactions on Computer Systems, 2(4):309--321, Nov. 1984. Google ScholarDigital Library
- Y. Wang, D. J. DeWitt, and J.-Y. Cai. X-Diff: An effective change detection algorithm for XML documents. In 19th International Conference on Data Engineering, March 5 - March 8, 2003 - Bangalore, India, 2003.Google ScholarCross Ref
- B. A. White. Software Configuration Management Strategies and Rational ClearCase. Addison-Wesley, 2000. Google ScholarDigital Library
- W. Yang. How to merge program texts. The Journal of Systems and Software, 27(2):129--141, November 1994. Google ScholarDigital Library
- K. Zhang and D. Shasha. Simple fast algorithms for the editing distance between trees and related problems. SIAM Journal of Computing, 18:1245--1262, 1989. Google ScholarDigital Library
- K. Zhang, J. T.-L. Wang, and D. Shasha. On the editing distance between undirected acyclic graphs and related problems. In Z. Galil and E. Ukkonen, editors, Combinatorial Pattern Matching, 6th Annual Symposium, volume 937 of Lecture Notes in Computer Science, pages 395--407, Espoo, Finland, 5-7 July 1995. Springer.Google Scholar
- A. Zündorf, J. Wadsack, and I. Rockel. Merging graph-like object structures. In Tenth International Workshop on Software Configuration Management (SCM-10) New Practices, New Challenges, and New Boundaries May 14-15, 2001 Toronto, Canada (a workshop of 23th ICSE 2001). http://www.ics.uci.edu/~andre/scm10/, 2001.Google Scholar
Index Terms
- Differences between versions of UML diagrams
Recommendations
Differences between versions of UML diagrams
This paper addresses the problem of how to detect and visualise differences between versions of UML documents such as class or object diagrams. Our basic approach for showing the differences between two documents is to use a unified document which ...
Difference Tools for Analysis and Design Documents
ICSM '03: Proceedings of the International Conference on Software MaintenanceThis paper presents a concept and tools for the detectionand visualisation of differences between versions of graphicalsoftware documents such as ER, class or object diagrams,state charts, etc. We first analyse the problems whichoccur when comparing ...
Designing UML diagrams for technical documentation
SIGDOC '03: Proceedings of the 21st annual international conference on DocumentationThis paper presents a framework for improving the presentation of Unified Modeling Language (UML) diagrams, as applied in technical documentation produced at the IBM Toronto Software Laboratory. UML diagrams are a key part of program design. They can ...
Comments