The specification uses the Object Constraint Language (OCL), as defined in Chapter 6, “Object Constraint Language Specification” of the UML 1.4 specification, for expressing well-formedness rules. The following conventions are used to promote readability:
Self - which can be omitted as a reference to the metaclass defining the context of the invariant, has been kept for clarity.
In expressions where a collection is iterated, an iterator is used for clarity, even when formally unnecessary. The type of the iterator is usually omitted, but included when it adds to understanding.
The ‘collect’ operation is left implicit where this is practical
The context part of an OCL constraint is not included explicitly, as it is well-defined in the section where the constraint appears.