モデル変換
モデル変換(Model Transformation)とは、モデル駆動型アーキテクチャ (MDA) で用いる手法。モデリング言語で設計されたプラットフォームに依存しないモデル (PIM) をプラットフォーム依存の(より実装に近い)モデル (PSM) に自動的に変換する。プラットフォームが変更されても設計資産を有効活用できるなどの利点がある。例えば、XMLはメタ言語であり、一種のデータモデルを構築する。これをマークアップ言語として使用するにはXSLTによる変換が必要となる。これも一種のモデル変換である。
概要
モデル変換はモデル駆動型アーキテクチャ (MDA) の中心をなす。モデル変換では、あるメタモデルに従ったモデルを入力とし、別のメタモデルに従うモデルを出力する。入力と出力のモデルが同じ場合、その変換を「内因的; endogenous」と呼ぶ。逆に異なっているなら、その変換を「外因的; exogenous」と呼ぶ。モデル変換では、複数種類の入力モデルと複数種類の出力モデルを扱うこともある。モデル変換自身もモデルである。すなわち、あるメタモデルに従っている。このため、高階変換(Higher Order Transformation、HOT)の定義が盛んに行われている。高階変換とは、モデル変換を入力とし、別のモデル変換を出力する変換である。
現在利用可能なモデル変換言語(MTL) として、Tefkat、VIATRA、GReAT、MOLA、ATL(ATL)がある。OMGは、モデル変換を含むモデル駆動型アーキテクチャの推奨標準としてQVTを提案しており、これはモデル変換言語の仕様を含む。これに対応した実装がいくつか登場しつつある。
関連項目
参考文献
- Model Driven Architecture: Applying MDA to Enterprise Computing, David S. Frankel, John Wiley & Sons, ISBN 0-471-31920-1
- Czarnecki, K, and Helsen, S : Classification of Model Transformation Approaches. In: Proceedings of the OOPSLA'03 Workshop on the Generative Techniques in the Context Of Model-Driven Architecture, Anaheim, California, USA. Webpublished.
外部リンク
- Portal site MDA and Model Transformation: site access
- Model-Driven Architecture: Vision, Standards And Emerging Technologies at omg.org
- An Introduction to Model Driven Architecture at ibm.com
- From Object Composition to Model Transformation with the MDA at omg.org