XML Metadata Interchange(XMI)は、
Extensible Markup Language (XML) を用いて
メタデータを交換するための標準規格であり、OMG(
Object Management Group)によって策定されました。この規格は、
Meta-Object Facility (MOF) で表現できる
メタモデルに従う
メタデータを扱うことを可能にします。
XMIの主な用途
XMIの代表的な利用例としては、UML(Unified Modeling Language)モデルの交換形式としての活用が挙げられます。しかし、その適用範囲はUMLに限定されず、他のモデリング言語のモデル(
メタモデル)のシリアライズにも使用できます。これにより、異なるツールや環境間でモデルデータを共有し、相互運用性を高めることが可能です。
モデリングにおける抽象モデルと具体的モデル
OMGのモデリングに関する考え方では、データは抽象モデルと具体的モデルという2つのカテゴリに分けられます。抽象モデルは、モデルの持つ意味的な情報を表現するものであり、例えばUMLやSysMLのようなモデリング言語のインスタンスがこれに該当します。一方、具体的モデルは、視覚的な図を表現するものです。図の交換には、Diagram Interchange(DI、XMI[DI])という標準規格が用いられます。
XMIの実装における課題
現在のところ、各ベンダーが提供するモデリングツール間でのXMIの実装にはいくつかの非互換性が存在し、抽象モデルのデータ交換においてさえ、互換性の問題が課題となっています。特に、Diagram Interchange を使用した例は非常に少なく、UMLツール間でのXMIによるファイル交換は未だ完全に実現されているとは言えません。
XMIの目的とモデリングにおける役割
XMIの主な目的の一つは、分散異機種混在環境におけるUMLベースのモデリングツールとMOFベースの
メタデータリポジトリ間での
メタデータ交換を円滑にすることです。
モデル駆動工学(MDE)においては、XMIはモデリングツールとソフトウェア生成ツールの間でモデルを交換するための媒体として広く利用されています。
XMIを構成する業界標準
XMIは、以下の4つの業界標準を統合して構成されています。
XML (eXtensible Markup Language): W3Cによって標準化されたマークアップ言語。
UML (Unified Modeling Language): OMGが策定したモデリング標準。
MOF (Meta Object Facility): OMGが提供するメタモデルを記述するための言語。
MOF Mapping to XMI: MOFモデルをXMIで表現するためのマッピング仕様。
これらの標準を統合することにより、分散システムにおけるツール開発者がオブジェクトモデルやその他の
メタデータを共有することが可能になります。
XMIのバージョンと他のメタデータ表現標準
XMIにはいくつかのバージョンが存在し(1.0, 1.1, 1.2, 2.0, 2.1)、2.x系は1.x系から大幅な変更が加えられています。
メタデータを表現するためのXML標準は他にも存在し、最近ではWeb Ontology Language (
OWL)が挙げられます。
OWLは
Resource Description Framework (RDF)に基づいています。
国際標準としてのXMI
XMIは国際標準として採用されており、以下の規格で規定されています。
ISO/IEC 19503:2005 Information technology -- XML Metadata Interchange (XMI)
関連技術
XMIに関連する技術や用語は以下の通りです。
OWL (Web Ontology Language)
ドメイン固有言語 (DSL)
ドメイン固有モデリング (DSM)
モデルベーステスト (MBT)
メタモデル
モデル変換言語
MOF (Meta Object Facility)
QVT (Query/View/Transformation)
OCL (
Object Constraint Language)
VIATRA
ATL (Atlas Transformation Language)
Common Warehouse Metamodel (CWM)
Eclipse Modeling Framework (EMF)
外部リンク
*
OMG XMI Specification
XMIは、異なるツールや環境間でのモデルデータの相互運用性を向上させるための重要な規格であり、モデル駆動開発や
メタデータ管理において中心的な役割を果たしています。