The OCL Portal
The Object Constraint Language (OCL) is originally a textual sublanguage of the Unified Modelling Language (UML). It can be used to express additional constraints on UML models that cannot be expressed, or are very difficult to express, with the graphical means provided by UML. OCL is based on first-order predicate logic but it uses a syntax similar to programming languages and closely related to the syntax of UML. It is, thus, more adequate for every-day modelling than pure first-order predicate logic.
In the rule context, OCL is appropriate to specify integrity rules (OCL invariants). There are several OCL engines (interpreters, code generators) that evaluate OCL expressions. One example is the OCL22SQL tool generating SQL code for checking a relational database (Dresden OCL Toolkit).
The OCL Portal collects information about OCL. You are invited to contribute to this site.