The readability of constraints can be significantly enhanced by the use of let-variables or the re-use, as above, of the The invariant name may be followed by a parenthesized OCL expression that computes a String to be used as the validation failure message.
For properties such as These invariants are executed when a model is validated in an application that has loaded the complementing Complete OCL document.
The significance of this is explained in Load Complete OCL Resource Menu Action.
As a special case study, we have applied the tool to parts of the UML 1.3 metamodel and its well-formedness rules.
The tool enabled a thorough and systematic check of the OCL well-formedness rules in the UML standard.
It has an animator for simulating UML models and an OCL interpreter for constraint checking.
Snapshots of a running system can be created, inspected, and checked for conformance with the model.
These wrappers are sensitive to the Resource Set for which complementing has been requested and so although this incurs a small performance penalty for use of the complemented packages in other applications, it should not affect the functional behavior of other applications.
document that we have just examined and use it to rectify inadequate checking of derived properties by the Sample Ecore Editor.
A few “primitive types” including numbers and strings are predefined in UML [RJB98*, p. The availability of other types like date and money is “system-dependent”.
In any case, the semantics of primitive types has to be defined outside UML. A Precise Approach to Validating UML Models and OCL Constraints, Universität Bremen, p.
But re-use with the Ecore and UML LPG parser required the import statements to be removed.