Use of the OCL metamodel in the UML metamodel

OCL expressions can be used anywhere in the model where a value needs to be specified. Table 7 lists a number of places in a model, where we expect OCL expressions will be useful. This list is not exhaustive, other uses of OCL expressions can be added. For some cases this submission defines a special concrete syntax, in case the OCL expression is added to the model not in a diagram, but in another (text) file. The UML 2.0 metamodel needs to link the mentioned metaclasses in some manner to the metaclass Expression, or to another metaclass suitable to hold an OCL expression.

Table 7 - Overview of places in a model where an OCL expression may be used
Related UML  metaclasses Function of expression Concrete syntax defined in OCL 2.0 submission
Attribute inital value X
Attribute derivation rule X
AssociationEnd inital value X
AssociationEnd derivation rule X
Classifier invariant X
Classifier Attribute definition of new attribute X
Classifier Operation definition of new operation X
Operation precondition X
Operation postcondition X
Operation body expression X
AssociationEnd value of multiplicity
Guard specification of condition
Message specification of source
Message specification of target
Message specification of condition
Message actual parameter value
Action specification of target
Action actual parameter value
Change Event condition
Use Case precondition
Use Case postcondition