Architecting and designing > UML 2.5 > Introduction to UML 2.5 > UML 2.5 implementation in System Architect
  
UML 2.5 implementation in System Architect
UML 2.5 is being implemented in System Architect in stages.
In the initial “Preview” release of UML 2.5:
The entire UML 2.5 metamodel is implemented
Structural diagram types are available:
Class diagram
Component diagram
Composite Structure diagram
Package diagram
Profile diagram
The other diagram types of UML 2.5 will be available in the next few releases of System Architect.
UML 2.5 metamodel
The UML property set is a result of importing the OMG UML 2.5 XMI into System Architect’s metamodel structure. Property subsets and derived properties have been introduced to support newly required structures.
Classes have been mapped to definition types and the System Architect subtyping support extended to allow for multiple inheritance.
UML Stereotypes
UML Stereotypes provided in the XMI are supported through new definition types with a controlling property and the tab (or Chapter) containing properties only enabled if that controlling property is ticked. The definition types representing classes which could be assigned those stereotypes merely subtype those stereotype definition types. They have a Stereotype chapter containing a sorted list of these control properties. Users tick those that they want and press Apply to make the applicable Chapters (tabs) appear. Not all stereotypes add Chapters.
UML tab (Chapter) and property positioning
Within definitions, all tabs (in System Architect terminology, Chapters), all properties appear in the sequence in which they were provided in the UML XMI. Any attribute that could reference another model element is assumed to be able to reference that definition type and any subtype in order to support use of specializations.
Property nomenclature
Note Properties prefixed ‘A_’ are those modeled by the OMG as association-owned. They had to be part of System Architect’s implementation due to the way they were linked with other properties through subset relationships. They have been made available rather than being hidden because they might prove useful for tracing relationships.
Object Constraint Language (OCL) properties
Properties that are based on OCL processing have been made available for update by users. System Architect has not implemented any rules or operations besides what items attributes can reference.
Model elements are keyed by their own GUID to allow same name
All model elements that you create are keyed by their own GUID to allow you to use the same name multiple times for a definition type, which is mandated by the UML spec. System Architect will not currently allow unnamed items.
To allow you to differentiate between same-named artifacts of the same type, System Architect implements the property subtyping and through that, some items gain an owner indicator in the browser. This is not currently shown everywhere, so users, on encountering like-named artifacts with the same type, will have to use the Property Pane (View > Properties) or the Details function of Choices lists (right-click in the Choices dialog, and choose Details) to show details to enable them to pick the proper item to distinguish from multiple definitions of same type and same name.
Diagram support
Diagram borders are not provided but they can be added manually if required through the Picture or Rectangle and Text symbols.
Modeling structures were mapped to either implicit references where a line represents a single reference of a definition, or where a line represents two references of a definition; to the source or target. Where this was not possible, Explorer Relationships have been used.
Drawing relationship lines
Most line connections, such as associations, are drawn by creating an association node and then drawing lines representing the association members.
For example, to create an Association between Class A and Class B, you create AssociationNode A-B, and then model an AssociationNode to Class as Property relationship from the Association to the class you want the property to reference.
               class A                              Association A-B                              class B
If you draw from the association to B you are saying you want to create a property in either the association or class A.
Then you edit either the property or the intended owner and set ownership
Property:class / owningAssociation
Class:ownedAttribute / Association:ownedEnd
Further details are provided in the help for each relationship type:
Association
Dependency
Realization
See also
Enabling UML 2.5
Go up to
Introduction to UML 2.5