Differences bet. versions of UML diagrams.

500 views
323 views

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
500
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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/

×