You are to do all homework assignments yourself -- do NOT work with others.
In the UML3 (MetaModeling) lecture, I showed you 2 instances of a 'graph':
And two class
diagrams were suggested as their meta-model. The first (left
below) was proposed by one of you and the second (right below) I presented:
I said in class
that these two diagrams were equivalent. I want you to show me
how to transform class diagram (a) above into class diagram (b).
Each step you will define a refactoring (a graph identity)
that allows you to replace equals with equals. Two
identities that we have covered in class and that I used in my answer
are show below. The first identity says I can rename class
A to class B (and vice versa) without changing the semantics of the
diagram. The second identity says I can represent a *-*
association as a pair of 1-* associations (and vice versa):
Your task is to define a series refactorings that maps (a) into
(b). I have arranged my solution in the form below -- which I
suggest that you follow. It shows a class diagram before and
after the application of an identity, with a brief explanation of the
a SINGLE PDF
with the following information, using the required
- Your mapping of class diagram (a) to class diagram (b) + explanations, as above.
- Any explanation of constraints on the limitations of the identity that you use.