model driven architecture / モデル駆動開発 / モデル駆動型アーキテクチャ
プラットフォーム(特定のプログラミング環境)に依存せず、UMLなどの標準モデリング技法を使ってアプリケーションの機能をモデル化し、さらにそのモデル情報を基にコードを自動生成する開発スタイルを指す。
具体的には、UMLなどで描かれた「ベースモデルセット」と、各モデルとプラットフォームの関係を描く「インターフェイス定義セット」で構成されている。モデルはCORBAや.NET、Webサービスなどの標準技術を用いることで、プラットフォームにマッピングしていく。
考え方としては従来から存在したが、MDAという語は中立的な立場でオブジェクト指向技術の推進を担っている標準化団体「OMG(Object Management Group)」が中心となって提唱した。
開発スタイルとしては、まず実装技術から独立する形でビジネスプロセスを分析し、モデル「CIM(computation independent model)」を作る。プラットフォーム技術に依存しないモデル「PIM(platform independent model)」を作成し、PIMをベースに個別プラットフォーム技術に特化したモデル「PSM(platform specific model)」を生成する。さらにPIMもしくはPSMの情報から、ツールを使って実際のソースコードに変換して実装作業を進めていく。
理想形としてのMDAは、モデルの形で“仕様”を定めれば、それよりも下流の詳細設計やコーディングといった工程が大幅に自動化されることである。ただし、これは1980年代のCASEツールが登場したときと同じだとの批判もある。
ツールとしては、Rational Rose XDE(日本IBM)、OptimalJ(日本コンピュウェア)、ArcStyler(シナジー研究所)、Webtribe(メディア情報開発)などがある。
Copyright © ITmedia, Inc. All Rights Reserved.