A Generic Difference Algorithm for UML Models

It is state-of-the-art to use the Unified Modelling Language (UML) to describe software system models. In order to support cooperative team work a version management system which supports UML models is absolutely necessary. The essential part of such systems is the ability to calculate differences and present them to the developer. This paper presents an approach for computing differences between UML models encoded as XMI files. In contrast to our previous work, we present a generic approach, with which we are able to cover a broad range of UML diagram types. It also does not require persistent identifiers of diagram elements. Our prototype implementation shows, that our difference algorithm used leads to good runtimes in the case of small documents and acceptable runtimes in the case of large documents. Overall, it has a very low error rate, i.e. the quality of the differences is almost optimal.

[1]  Udo Kelter,et al.  Differences between versions of UML diagrams , 2003, ESEC/FSE-11.

[2]  Udo Kelter,et al.  Difference tools for analysis and design documents , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[3]  C. Schneider CoObRA - a small step for development tools to collaborative environments , 2004, ICSE 2004.

[4]  Jörg Niere Visualizing differences of UML diagrams with Fujaba [ Position Paper ] , 2004 .

[5]  Albert Zündorf,et al.  Merging graph-like object structures , 2001 .

[6]  David J. DeWitt,et al.  X-Diff: an effective change detection algorithm for XML documents , 2003, Proceedings 19th International Conference on Data Engineering (Cat. No.03CH37405).

[7]  Erhard Rahm,et al.  Similarity flooding: a versatile graph matching algorithm and its application to schema matching , 2002, Proceedings 18th International Conference on Data Engineering.

[8]  Ivan Porres,et al.  Difference and Union of Models , 2003, UML.

[9]  Jennifer Widom,et al.  Change detection in hierarchically structured information , 1996, SIGMOD '96.

[10]  Chisu Wu,et al.  An efficient version model of software diagrams , 1998, Proceedings 1998 Asia Pacific Software Engineering Conference (Cat. No.98EX240).