Object Constraint Languageとは? わかりやすく解説

Object Constraint Language

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/11/30 03:43 UTC 版)

ナビゲーションに移動 検索に移動

Object Constraint LanguageOCL)は、統一モデリング言語 (UML) モデルに適用する規則を記述するための宣言型言語である。IBMが開発し、UML標準の一部となった。初期のOCLは、単なるUMLの形式仕様記述言語としての拡張であったが、その後 UMLだけでなく Object Management Group (OMG) の Meta-Object Facility (MOF) のメタモデル全般を扱うようになった。Object Constraint Language (OCL) は Meta-Object Facility などのモデルやメタモデルについて、図表の形式では表現できない制約やクエリを表現することができる正確なテキスト言語である。OCL は OMG のモデル変換に関する推奨標準 QVT 仕様の一部となっている。他の多くのモデル変換言語ATLなど)も OCL に基づいて構築されている。

概要

OCL の元となったのは、第二世代のオブジェクト指向分析・設計手法 Syntropy である。OCL 1.4 で制約言語の仕様が追加された。OCL 2.0 では、汎用のオブジェクト・クエリ言語の定義を含むよう拡張された。

OCL 言語の構文は以下の4つに分けられる:

  1. コンテキスト - 文が正しいといえる状況の制限を定義する
  2. プロパティ - コンテキストの特性を表現する(例えば、コンテキストがクラスである場合、プロパティはその属性となる)
  3. オペレーション - プロパティを操作・修正する演算(算術演算や集合的演算)
  4. キーワード - 条件などを表現する(if、then、else、and、or、not、implies など)

OCL と UML

OCL はUMLを補うものであり、自然言語の曖昧さを排していると同時に複雑な数学的記法を扱わなくてもよいという特徴がある。OCL は、図に基づいたモデルのためのナビゲーション言語でもある。

OCL と MOF

OCL は、MOFのメタ要素と表明を関連付けることで MOF のモデルをより明確化する。

OCL と QVT

モデル駆動工学モデル駆動型アーキテクチャ (MDA) では、モデル変換の記法が重要となる。OMG はモデル変換の標準であるQVT(MOF/QVT)を定義した。GReAT、VIATRA、ATLといったモデル変換言語があるが、これらのQVT標準への対応レベルは様々である。これらの多くは OCL に基づいて構築されている。また、OCLのサポートはQVT準拠の主要な条件である。

類似技術

ナビゲーション言語として見た場合、OCLはXPathと対比することができる。XPath が XMLツリーに対してナビゲーションを行うのに対して、OCL は MOFベースのモデルやメタモデル(つまり XMIツリー)に対してナビゲーションを行う。換言すれば、OCL と UML や MOF との関係と、XPath と XML の関係が似ているのである。モデルやメタモデルに副作用のない付加情報(制約など)を与えるモデル記述言語として見た場合、OCLと同様な役割を果たす言語として Alloy などがある。

脚注

[脚注の使い方]

出典

参考文献

  • ヨシュ・ヴァルメル、アーネク・クレッペ、竹村司 (訳) 、『UML/MDAのためのオブジェクト制約言語OCL 第2版』、エスアイビー・アクセス、2004年、ISBN 978-4-434-05542-3

関連項目

外部リンク

この記事は2008年11月1日までGFDLバージョン1.3以降の再ライセンス規約に基づいていたFree On-line Dictionary of Computingにある項目の資料が元になっている。





固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Object Constraint Language」の関連用語

Object Constraint Languageのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Object Constraint Languageのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのObject Constraint Language (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS