DIFFERENCES BETWEEN
VERSIONS OF UML
DIAGRAMS
Ohst et. Al., ESEC/FSE’03

Dr. Maibaum

Dhruv
Gairola
Outline







Problem.
Differences between UML diagrams.
Classification of differences.
Computing differences.
Concl...
Problem




Text files easily handled by version control
tools.
What about binary files? How to detect
differences?
Problem (2)
Problem (3)
Problem (4)




What about UML diagrams stored in text
formats?
Usual methods not applicable e.g., different file
conten...
Differences between UML
diagrams.






Unified document model.
Common parts are uncolored.
Specific parts of each bas...
Quick preview
Quick preview (2)
SiDiff
SiDiff (2)
SiDiff (3)
Classification of differences



Intra-node differences.
Structural differences.
 Deletion.
 Creation.
 Shifting.
Intra-node differences






Differences between attributes of two
corresponding nodes.
Simple attributes e.g., changin...
Intra-node differences (2)
Intra node differences (2)
Structural differences



Deletion/ creation/ shifting
Shifts :
 Modifications

to layout.
 Structural shifts (e.g. sh...
Type of shifts (structural shift)
Type of shifts (inter-node shift)
Type of shifts (inter-node shift)
Type of shifts (position shift)
Computing the differences




All elements are modelled as objects, forming
an object graph.
Algorithm simultaneously go...
Computing the differences (2)

The composition relationships form a spanning
tree of this graph.
Computing the differences (3)



Assumption: the root is unchanged
foreach level in spanningTree







find corres...
Computing the differences (4)




Algorithm can distinguish between
creation/deletion and shifts.
Lot of comparisons. Al...
Coloring







Too many differences => Too many colors =>
Confusing.
Solution : restrict to only subsets of
differenc...
Coloring (2)
Conclusion






Need a way to present differences between
versions of UML diagrams.
Various types of differences exist...
Future work


3-way differences.
References






https://cs.uwaterloo.ca/~jmatlee/teaching/846/
Schedule/Feb27/Oleksii.pdf
http://www.cs.toronto.edu/~c...
Differences bet. versions of UML diagrams.
Upcoming SlideShare
Loading in...5
×

Differences bet. versions of UML diagrams.

244

Published on

Presentation for one of my courses.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
244
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Differences bet. versions of UML diagrams."

  1. 1. DIFFERENCES BETWEEN VERSIONS OF UML DIAGRAMS Ohst et. Al., ESEC/FSE’03 Dr. Maibaum Dhruv Gairola
  2. 2. Outline      Problem. Differences between UML diagrams. Classification of differences. Computing differences. Conclusion.
  3. 3. Problem   Text files easily handled by version control tools. What about binary files? How to detect differences?
  4. 4. Problem (2)
  5. 5. Problem (3)
  6. 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. 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.
  8. 8. Quick preview
  9. 9. Quick preview (2)
  10. 10. SiDiff
  11. 11. SiDiff (2)
  12. 12. SiDiff (3)
  13. 13. Classification of differences   Intra-node differences. Structural differences.  Deletion.  Creation.  Shifting.
  14. 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.
  15. 15. Intra-node differences (2)
  16. 16. Intra node differences (2)
  17. 17. Structural differences   Deletion/ creation/ shifting Shifts :  Modifications to layout.  Structural shifts (e.g. shifting an edge)  Inter-node shifts (e.g. shifting an attribute)  Position shifts (e.g. reordering a list of attributes)
  18. 18. Type of shifts (structural shift)
  19. 19. Type of shifts (inter-node shift)
  20. 20. Type of shifts (inter-node shift)
  21. 21. Type of shifts (position shift)
  22. 22. 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.
  23. 23. Computing the differences (2) The composition relationships form a spanning tree of this graph.
  24. 24. 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
  25. 25. Computing the differences (4)   Algorithm can distinguish between creation/deletion and shifts. Lot of comparisons. Algorithm seems slow. They have some optimizations (not described).
  26. 26. 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.
  27. 27. Coloring (2)
  28. 28. 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.
  29. 29. Future work  3-way differences.
  30. 30. References    https://cs.uwaterloo.ca/~jmatlee/teaching/846/ Schedule/Feb27/Oleksii.pdf http://www.cs.toronto.edu/~chechik/courses12/ csc2125/paper18.pdf http://pi.informatik.uni-siegen.de/Projekte/sidiff/
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×