QVT
QVT(Queries/Views/Transformations)とは、Object Management Groupが定義したモデル駆動型アーキテクチャにおけるモデル変換の標準である。Meta-Object Facility(MOF)に関連する標準であることから、MOF QVT とも呼ばれる。
さらに、QVT は QVT/Relations、QVT/Core、QVT/OperationalMapping という3つのドメイン固有言語を定義し、これらの言語が階層型アーキテクチャを構成している。Relations と Core は宣言型言語であり、それぞれ抽象化レベルが異なる。また、それらの間には規範的な対応関係が定義されている。Relations 言語はテキスト表現に加え、グラフィカルに定義された厳密な文法を持つ。QVT/OperationalMapping 言語は命令型言語であり、QVT/Relations と QVT/Core の拡張となっている。QVT/OperationalMapping 言語の文法は一般的な命令型言語の構文によく似ている(ループ、条件など)。
また、QVT/BlackBox という機構で他の言語(XSLT、XQuery)で表現された変換機能を呼び出すようになっており、これも仕様の重要な部分を占める。これは特に既存の QVT 以外のライブラリを統合する際に重要となる。
今のところ、QVT ではモデルからモデルへの変換しか扱っておらず、そのモデルも MOF 2.0 のメタモデルに対応したものだけである。各種文書(XML、SQLなど)とモデルの間の変換は、QVT の範囲にはないが、いずれ標準化される可能性はある。それらは他のドメイン固有言語を MDA の枠内で扱えるようにするものと見ることができる。