QVT
モデル変換とは、メタモデル MMa に準拠したモデル Ma をメタモデル MMb に準拠したモデル Mb に変換するプロセスである。MMa=MMb であれば、その変換を内発的(endogeneous)といい、そうでなければ外発的(exogeneous)という。モデル変換はモデル駆動型アーキテクチャ(MDA)において重要な役割を担う。このため、OMG は MOF Query/Views/Transformations の RFP(Request for proposal)を発行し、MDA 関連の推奨規格(UML、MOF、OCLなど)に互換性のある標準を求めた。いくつかの企業や研究機関がこれに応じ、3年をかけて共同提案が策定され、標準として承認された。
現在では、QVT標準に準拠したオープンソースも含めたいくつかの製品がある。QVT はソースモデルからターゲットモデルへの変換の標準的手法を定義している。標準の中にはいくつかのアイデアが含まれている。その1つとして、ソースおよびターゲットモデルが MOF のメタモデルに準拠することを推奨している。また、変換プログラム自身も MOF のメタモデルに準拠したモデルであるとしている。これはつまり、QVT の抽象構文は MOF 2.0 のメタモデルに従うべきだということを意味する。
実際の標準は、やや複雑な構成となっている。まず、QVT 言語は OCL 2.0 標準を統合し、命令型 OCL への拡張を行っている。