differences bet. versions of uml diagrams

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

Upload: dhruvgairola

Post on 25-Jun-2015

233 views

Category:

Technology


1 download

DESCRIPTION

Presentation for one of my courses.

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.