Meta-Object Facility
出典: フリー百科事典『ウィキペディア(Wikipedia)』
Meta-Object Facility(MOF)とは、OMGの定めたモデル駆動工学のための標準規格である。公式ページはOMG's MetaObject Facility。
目次 |
[編集] 概要
MOF は統一モデリング言語 (UML) を起源としている。OMG は UML の定義をするためのメタモデルアーキテクチャを必要としていた。MOF は4階層のアーキテクチャとして設計されている。MOF 最上層は M3 層と呼ばれ、メタ-メタモデルを提供する。M3モデルは MOF が利用する言語であり、それを使って M2 モデルと呼ばれるメタモデルを構築する。特筆すべき第二層 MOF モデルの例は、UML のメタモデルであり UML 自身を記述したものである。M2 モデルは M1 層の要素を記述し、それによって M1 モデルが構築される。M1 層に相当するのは、例えば UML で書かれた具体的なモデルである。最後の層は M0 層あるいはデータ層と呼ばれ、実世界を記述するものである。
さらにMOFでは、モデルやメタモデルを生成・操作する手段としてCORBAインターフェイスを定義している。MOF M3 モデルと UML 構造モデルの類似性により、MOF メタモデルは通常 UML のクラス図としてモデル化される。MOF をサポートする標準として XMI がある。XMI は M3/M2/M1層のモデルを交換可能な XMLベースの形式で定義している。
MOF は「閉じた」メタモデリング・アーキテクチャである。M3モデルは自身に適合する形で定義されている。MOF は「厳密な」メタモデリング・アーキテクチャである。各層の各モデル要素は上位層のモデル要素に厳密に対応している。MOF は、構造または言語やデータの抽象構文を定義する手段のみを提供する。メタモデル定義において MOF が果たす役割は、プログラミング言語の文法定義でEBNFが果たす役割と全く同じである。MOF はメタモデル定義のためのドメイン固有言語 (DSL) であり、これはちょうど EBNF が文法定義のための DSL であるのと同じである。EBNF と同様、MOF は MOF 自身で定義できる。
要点に触れると、MOF はオブジェクト指向でなじみのある MOF::Classes という記法を使用する(UML::Classes と混同されないよう注意)。これによりメタ層の概念(モデル要素)を定義する。MOF は例えばUMLのようなオブジェクト指向型のメタモデルも定義するが、そうでないメタモデルも定義できる(ペトリネットやWebサービスのメタモデルなど)。
2006年5月現在、OMG は3種類の MOF を定義している:
- EMOF: Essential MOF(基本MOF)
- CMOF: Complete MOF(完全MOF)
- SMOF: Semantic MOF(意味論MOF)
ECoreという派生仕様が Eclipse Modeling Framework で定義されているが、これはほぼ OMG の EMOF に相当する。
他の関連仕様としてOCLがある。これは述語論理を使用してモデルの制限を定義する形式言語の仕様である。
また、重要な新たな標準としてQVTがある。これは MOFベースのモデルのクエリ、観測、変換の手段を提供する。(モデル変換言語参照)。
MOF は国際標準規格となっている:
MOF はメタモデルを記述するための標準であり、ドメイン固有言語の抽象構文をモデル化するのにも利用できる。
[編集] 関連項目
- メタモデル
- ドメイン固有言語
- モデル駆動型アーキテクチャ
- モデル駆動工学
- 統一モデリング言語
- CWM
- XMI
- QVT
- プラットフォーム独立モデル (PIM)
- プラットフォーム特化モデル (PSM)
- メタデータ
[編集] 外部リンク
[編集] 参考文献
- Ralph Sobek, MOF Specifications Documents
- Jean Bezivin - On the Unification Power of Models. Software and System Modeling (SoSym) 4(2):171--188.
- Johannes Ernst - What is meta-modeling?
- Johannes Ernst - What are the differences between a vocabulary, a taxonomy, a thesaurus, an ontology, and a meta-model?
- Anna Gerber and Kerry Raymond. MOF to EMF and Back Again.