OCL is a specification language designed to formally specify constraints in software modules
An OCL expression simply specifies a logical fact (a constraint) about the system that must remain true
A constraint cannot have any side-effects
it cannot compute a non-Boolean result nor modify any data.
OCL statements in class diagrams can specify what the values of attributes and associations must be