Naming conventions

Relationship names are written in lowerCamelCase but as present tense verbs e.g. isSituatedAt.

Relationship role names are also written in lowerCamelCase and they are nouns that express the role played by the class in the association.

Relationships to Objects

Relationships to objects are depicted by the standard UML composition (aggregation by value) association. Composition is a form of aggregation with strong ownership and coincident lifetime of the parts by the whole. The part is removed when the whole is removed.

The example above shows that the <<feature>> Runway has a property named theSurface. This property is modelled in UML using a composition association between the <<feature>> Runway and an object representing the characteristics of a geometric surface.

Relationships to Features

Relationships to features are described with a standard UML association. All of the associations are navigable in only one direction. This shows that the two classes are related but only one class knows that the relationship exists. In the example below the Runway feature knows about the AirportHeliport but the AirportHeliport does not know about the Runway. 

Association Classes

When information about a relationship is required, such as a property that qualifies the association between two classes, a UML association class is used. The association class is attached to the relationship with a dotted line, as shown in the following diagram.


Choice

Some classes are marked as <<choice>>. These are used to model XOR relationships. For example, the length of a Holding Pattern can be expressed using a HoldingPatternDistance, a HoldingPatternDuration or a SegmentPoint defining the end of the outbound leg.