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
- Open the Constraint Specification window. How to open the Specification window >>
- Find the Specification property and select its value box.
If you select the OCL2.0 language, the header of the expression from the constraint information is generated automatically
- def – for the expression of the constraint with «definition» stereotype applied.
init, derive - for the expression of the default value of the property.
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.
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 MagicDraw; increasing this to 600 (or 800 if the computer has sufficient RAM) might improve the performance.
Since constraints cannot have parameters, you may skip the information about managing parameters.
MagicDraw 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.