You must specify the validation condition for a validation rule. This condition must be true when evaluated in order for the Constraint to be satisfied. The result of a validation rule must be of the boolean type. To define a Constraint condition 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. 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: The derive expressions can be evaluated indirectly when the validation rule (inv constraint) is referencing the property and the validation rule is evaluated. 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. The modeling tool can evaluate only those validation rules whose expression is defined in one of the languages listed above. The other languages can be used only for documentation purposes. You can add hyperlinks in the Body box. How to define hyperlinks >> You can define expressions for global validation rules. Learn more about global validation rules >>