Top Banner
DIFFERENCES BETWEEN VERSIONS OF UML DIAGRAMS Ohst et. Al., ESEC/FSE’03 Dr. Maibaum Dhruv Gairola
31

Differences bet. versions of UML diagrams.

Jun 25, 2015

Download

Technology

dhruvgairola

Presentation for one of my courses.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Differences bet. versions of UML diagrams.

DIFFERENCES BETWEEN VERSIONS OF UML DIAGRAMS

Ohst et. Al., ESEC/FSE’03

Dr. Maibaum

Dhruv Gairola

Page 2: Differences bet. versions of UML diagrams.

Outline

Problem. Differences between UML diagrams. Classification of differences. Computing differences. Conclusion.

Page 3: Differences bet. versions of UML diagrams.

Problem

Text files easily handled by version control tools.

What about binary files? How to detect differences?

Page 4: Differences bet. versions of UML diagrams.

Problem (2)

Page 5: Differences bet. versions of UML diagrams.

Problem (3)

Page 6: Differences bet. versions of UML diagrams.

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.

Page 7: Differences bet. versions of UML diagrams.

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.

Page 8: Differences bet. versions of UML diagrams.

Quick preview

Page 9: Differences bet. versions of UML diagrams.

Quick preview (2)

Page 10: Differences bet. versions of UML diagrams.

SiDiff

Page 11: Differences bet. versions of UML diagrams.

SiDiff (2)

Page 12: Differences bet. versions of UML diagrams.

SiDiff (3)

Page 13: Differences bet. versions of UML diagrams.

Classification of differences

Intra-node differences. Structural differences.

Deletion. Creation. Shifting.

Page 14: Differences bet. versions of UML diagrams.

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.

Page 15: Differences bet. versions of UML diagrams.

Intra-node differences (2)

Page 16: Differences bet. versions of UML diagrams.

Intra node differences (2)

Page 17: Differences bet. versions of UML diagrams.

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)

Page 18: Differences bet. versions of UML diagrams.

Type of shifts (structural shift)

Page 19: Differences bet. versions of UML diagrams.
Page 20: Differences bet. versions of UML diagrams.

Type of shifts (inter-node shift)

Page 21: Differences bet. versions of UML diagrams.

Type of shifts (inter-node shift)

Page 22: Differences bet. versions of UML diagrams.

Type of shifts (position shift)

Page 23: Differences bet. versions of UML diagrams.

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.

Page 24: Differences bet. versions of UML diagrams.

Computing the differences (2)

The composition relationships form a spanning tree of this graph.

Page 25: Differences bet. versions of UML diagrams.

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

Page 26: Differences bet. versions of UML diagrams.

Computing the differences (4) Algorithm can distinguish between

creation/deletion and shifts. Lot of comparisons. Algorithm seems

slow. They have some optimizations (not described).

Page 27: Differences bet. versions of UML diagrams.

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.

Page 28: Differences bet. versions of UML diagrams.

Coloring (2)

Page 29: Differences bet. versions of UML diagrams.

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.

Page 30: Differences bet. versions of UML diagrams.

Future work

3-way differences.