Object Constraint Language (OCL) ステートメントを作成する場合、そのターゲット・モデルによって OCL ステートメントがアクセスできるコンテキスト要素の機能が判別されます。 ターゲット・モデルはユーザー・モデルまたはメタモデルのいずれかです。
ターゲット・モデルをユーザー・モデルとして指定すると、OCL ステートメントはコンテキスト要素のユーザー定義機能に限定されます。 また、ターゲット・モデルをユーザー・モデルとして指定した場合、OCL ステートメントを評価することはできません。 OCL ステートメントを解析してはじめてそのステートメントが文法的に正しいかどうかを確認できます。
ターゲット・モデルをメタモデルとして指定すると、OCL ステートメントはコンテキスト要素のメタモデル機能、さらに コンテキスト要素に適用されるステレオタイプが提供するすべての機能にアクセスできます。 さらに、ターゲット・モデルがメタモデルの場合、OCL ステートメントを解析することで、それらの OCL ステートメントが文法的に有効であるかどうかをチェックしたり、ステートメントの出力を評価したりできます。