OCL Header If you select the OCL2.0 language, the header of the expression from the constraint information is generated automatically according to the following rules: context <constrained element> <constraint type> <constraint name if any>:. See the following image. Image Modified
Constraint types Since the Constraint is stereotyped by «validationRule» which is derived from «invariant » stereotype, inv is shown in the header. Only inv constraints can be evaluated. Other types of Constraints are not evaluated, but can be modeled for documentation purposes: - def – for the expression of the constraint with «definition» stereotype applied.
- init, derive - for the expression of the default value of the property.
| Info |
|---|
The derive expressions can be evaluated indirectly when the validation rule (inv constraint) is referencing the property and the validation rule is evaluated. |
- pre, post, body - for the expression of the appropriate fields of operation.
OCL Performance When evaluating the validation rule defined in OCL language, the validation on the first run can have a delay of 20-30 seconds (depending on the computer performance) while the Java compiler is loading. Subsequent validations will run faster than the first one. If the validation process is run heavily on medium-large projects, increasing the default Java VM size is advisable. By default, the VM size is set to 400MB in the modeling tool; increasing this to 600 (or 800 if the computer has sufficient RAM) might improve the performance. |