Term Definition: Object Constraint Language (OCL)
Main Description

The Object Constraint Language (OCL) is a formal language to describe expressions on OCL models defined by the Object Management Group (OMG).

These expressions typically specify invariant conditions that must hold for the system being modeled or queries over objects described in a model. Note that when the OCL expressions are evaluated, they do not have side effects (i.e., their evaluation cannot alter the state of the corresponding executing system). OCL expressions can be used to specify operations / actions that, when executed, do alter the state of the system. UML modelers can use OCL to specify application-specific constraints in their models. UML modelers can also use OCL to specify queries on the UML model, which are completely programming language independent.

(Taken from the OCL specification found at http://www.omg.org/spec/OCL/2.3.1/PDF/)