6. Problem (4)
What about UML diagrams stored in text
formats?
Usual methods not applicable e.g., different file
contents can actually represent the same
diagram, but systems might show large
changes.
7. Differences between UML
diagrams.
Unified document model.
Common parts are uncolored.
Specific parts of each base document are
colored.
Assumptions :
Documents
are stored as syntax trees (e.g., XML
files).
Only consider diagrams where layout is irrelevant.
14. Intra-node differences
Differences between attributes of two
corresponding nodes.
Simple attributes e.g., changing the name of
attribute.
Multivalued/list attributes e.g.,
adding/removing attributes from list.
23. Computing the differences
All elements are modelled as objects, forming
an object graph.
Algorithm simultaneously goes through two
spanning trees (of the object graph) starting
from the root.
25. Computing the differences (3)
Assumption: the root is unchanged
foreach level in spanningTree
find corresponding sub-trees
insert a new pair into the queue
compare attributes and relations of the root
create new object in a unified document
End
26. Computing the differences (4)
Algorithm can distinguish between
creation/deletion and shifts.
Lot of comparisons. Algorithm seems slow.
They have some optimizations (not described).
27. Coloring
Too many differences => Too many colors =>
Confusing.
Solution : restrict to only subsets of
differences.
Non-interesting areas are greyed out.
Restrictions are done based on type of
elements or history of revisions.
29. Conclusion
Need a way to present differences between
versions of UML diagrams.
Various types of differences exist and various
ways to visualize these differences.
”Layered” approach in presenting differences.