制約の例としては、特定の値を持つ属性などの条件が挙げられます。制約は、システムの設計段階において実施される必要があります。 条件または制限を、制約の本文で指定します。
通常、制約は名前を持ちません。代わりに、制約はその本文の内容で識別されます。 ただし、通常使用されている制約の中には、制約の本文の内容が反復されないように、名前によって識別される制約もあります。 複数の関連が 1 つのクラスに対して共通の接続を持つ場合は、XOR 制約が適用されます。
OCL について詳しくは、オブジェクト管理グループ (OMG) の Web サイトで入手できる、 統一モデリング言語 (UML) の仕様をご覧ください。 一般に、本文の構文または本文の言語プロパティーは、強制的なものではありません。
制約は、中括弧 ({}) で囲まれたテキストで表され、 右上角が折られた長方形の中に表示されます。
以下の目的で、制約をモデルに追加することができます。
モデルにおける制約は、フリー・フォーム図内と同様、 すべてのタイプの UML ダイアグラムで示すことができます。
制約を検証することができます。 実施する検証のレベルは、検証される制約のタイプによって決まります。 制約には、以下の 3 つのタイプがあります。
制約の構文と式が検証されるのは、 制約に «metaConstraint» ステレオタイプが適用されている場合、 または制約がプロファイルで定義されている場合です。
«metaConstraint» ステレオタイプが適用されず、 かつプロファイルで定義されていない制約については、制約の構文のみが検証されます。