If a Part or Port's type (Class, Data Type, Interface or Signal) has an Association with another Class, Data Type, Interface or Signal (as created on a Class Diagram), you can refine that Association on a Composite Structure Diagram when a Part or Port uses that Class, Data Type, Interface or Signal as its type.
How redefinitions are created
The following example demonstrates how a redefinition of an Association can occur.
On the Class Diagram we can see that Class1 has an association with Class2. The Association is named My Association.
On the Composite Structure Diagram, ClassA has Part1 that uses Class1 as its type; ClassB has Part2 that uses Class2 as its type.
We now add an Association from ClassA.Part1 to ClassB.Part2. Modeler displays a context menu, so that we can add the Class1-to-Class2 Association that was created on the Class Diagram.
Modeler creates the Association on the Composite Structure Diagram as a redefinition, so that it can be refined independently of the Association it redefines. We change the name of the redefinition to My Redefinition.
Through the View Options, we can show the type of the Association, that is, the top-level Association from which the redefinition is derived. The name of the Redefinition's type is shown after a colon.
Similarly to Parts and Ports, you can create redefinition hierarchies of Associations when adding an Association by selecting a redefinition from the context menu.
Refining association redefinitions
When Modeler creates an Association as a redefinition, you can refine that redefinition for the context in which it is being used:
• You can change its Name and Multiplicity properties
A redefinition inherits the Name and Multiplicity properties from the Association it redefines, except if that property has been set on the redefinition. After setting a Name or Multiplicity property on a redefinition, that property no longer inherits its value and it can be set independently.
• You can change its tagged values and Text tab properties
At the time of creation, a redefinition inherits the tagged values and Text tab property values of the item it redefines. Thereafter, a redefinition does not inherit tagged values and Text tab property values. If you change a tagged value or Text tab property, the value you set applies only to that redefinition.
• You can apply Stereotypes
At the time of creation, a redefinition inherits the Stereotypes of the item it redefines.
◦ If you apply a Stereotype that is not overrideable to a redefinition, that Stereotype applies to the underlying Association and all its redefinitions.
◦ If you apply a Stereotype that is overrideable to a redefinition, that Stereotype applies only to that redefinition.
• You cannot change its Type, Name Direction, Composite Aggregation, Role Name and Qualifier Name properties
If you attempt to change the preceding properties of a redefinition, Modeler displays a message stating that the property is not overrideable on redefinitions.
• Modeler does not create virtual redefinitions of an Association.
• If you delete an Association redefinition, the Association redefinition and all its redefinitions are deleted from the Model.
• You can tell if an Association is a redefinition by attempting to change, for example, its Type property. If you can change the property, the Association is not a redefinition.
• An Association redefinition can result in a redefinition of the Association's Roles.
• You can reconnect Associations:
◦ If you reconnect an Association that has redefinitions a warning is displayed. If you choose to reconnect the Association, its redefinitions are deleted.
◦ If you reconnect an Association that is a redefinition, the redefinition is deleted and a new Association is created.