Difference Detection and Visualization in UML Class Diagrams

Analyzing typical diagram life cycles results in the observation that they usually undergo several modifications during the development process. The better the tracking of such changes the more information can be obtained from them. As class diagrams are among the most widely used and most important UML diagram types, this paper investigates the concept of class diagram diffing and applies it to several application areas such as software design, implementation documentation, roundtrip modeling, and model driven development. I present the design of a change-detection implementation, which automatically detects differences between class diagrams and visualizes them by the use of color.

[1]  Christoph M. Hoffmann,et al.  Pattern Matching in Trees , 1982, JACM.

[2]  Udo Kelter,et al.  A Generic Difference Algorithm for UML Models , 2005, Software Engineering.

[3]  Carlo Zaniolo,et al.  XML document versioning , 2001, SGMD.

[4]  Eiichi Tanaka,et al.  The Tree-to-Tree Editing Problem , 1988, Int. J. Pattern Recognit. Artif. Intell..

[5]  Hector Garcia-Molina,et al.  Meaningful change detection in structured data , 1997, SIGMOD '97.

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

[7]  Eleni Stroulia,et al.  Understanding class evolution in object-oriented software , 2004, Proceedings. 12th IEEE International Workshop on Program Comprehension, 2004..

[8]  J. Rowling X-Diff : A Fast Change Detection Algorithm for XML Documents , 2003 .