モデル駆動工学

モデル駆動工学（モデルくどうこうがく、Model-Driven Engineering、MDE）とは、アルゴリズム的な概念よりも、ドメインモデルの作成と利用を中心とするソフトウェア開発方法論の一種である。ドメインモデルとは、特定の適応領域についての知識や活動を抽象化して表現したものである。
モデル駆動工学(以下、MDE)は、工学的ライフサイクルを通して、モデルをシステム的に利用する工学手法を意味する。また、MDEの適用範囲は、ソフトウェア、システム、データ工学などである。MDEでは、モデルを第一に考える。
概要.
MDEは、以下の3つを目指している。
また、その領域に精通しているユーザーから見ても、そのモデルが意味をなしており、かつシステムを実装するときの基盤として利用できるなら、MDEのモデリング方法論は効果的であるといえる。モデルの開発には、管理者、設計者、ユーザーの十分な話し合いが必要である。モデルが完成すれば、ソフトウェアやシステムの開発が可能となる。
MDEを推進している有名な組織・団体として以下がある。
歴史.
MDEをサポートした最初のツールとしては、1980年代に開発されたComputer Aided Software Engineering(CASE)ツールがある。CASEツールを開発した初期の企業として Integrated Development Environments(IDE)、Higher Order Software(後のHamilton Technologies)、Cadre Technologies、Bachman Information Systems、などがある。HTIの製品を除いて、CASEツールは、MDA/MDEと同じ問題を抱えていた。すなわち、モデルとアプリケーションが同期できなくなる問題である。
アメリカ政府は、モデリングを定義するため、IDEF規格の策定に関与した。モデリング定義にはさまざまなもの(Booch法、OMT、OOSE、ハレルの状態遷移図、など)があったが、最終的にそれらを統合した統一モデリング言語(UML)が生まれた。ラショナルは、UMLを実装した「Rational Rose」という製品を開発し、高い抽象レベルでのソフトウェア開発自動化への道を拓いた。抽象化によってモデルが単純化されたため、問題領域に集中して設計することが可能となった。また、実行可能な意味論と組み合わせることで、自動化レベルを高めることにも繋がった。Object Management Group(OMG)は、モデル駆動型アーキテクチャ(MDA)と呼ばれる標準規格群を開発し、この手法の基礎を築いた。
によると、モデル駆動工学技術は、プラットフォームの複雑性に対応しつつ、適用領域の概念を効率的に表現する能力が欠けている第三世代言語の問題への対処法として有望である。