モデル駆動型エンジニアリング(MDE)は、特定の課題に関連するすべてのトピックの概念モデルであるドメインモデルの作成と活用に焦点を当てたソフトウェア開発手法です。そのため、コンピューティング(すなわちアルゴリズム)の概念ではなく、特定のアプリケーション領域を支配する知識と活動の抽象的な表現を重視し、それを目指します。
MDEは、ラウンドトリップエンジニアリングと呼ばれるソフトウェア設計アプローチのサブフィールドです。MDEの範囲は、モデル駆動型アーキテクチャの範囲よりもはるかに広いです。[ 1 ]
MDEアプローチは、システム間の互換性を最大化(標準化されたモデルの再利用による)、設計プロセスを簡素化(アプリケーションドメインにおける繰り返し発生する設計パターンのモデルによる)、およびシステムに取り組む個人やチーム間のコミュニケーションを促進する(アプリケーションドメインで使用される用語とベストプラクティスの標準化による)ことで生産性を向上させることを目的としています。たとえば、モデル駆動開発では、ソースコード、ドキュメント、テストなどの技術成果物は、ドメインモデルからアルゴリズム的に生成されます。[ 2 ]
MDE(モデル駆動型エンジニアリング)のモデリングパラダイムは、そのモデルが当該ドメインに精通したユーザーの視点から見て理にかなっており、かつシステム実装の基盤として機能できる場合に効果的であると考えられる。モデルは、プロダクトマネージャー、デザイナー、開発者、およびアプリケーションドメインのユーザー間の広範なコミュニケーションを通じて開発される。モデルが完成に近づくにつれて、ソフトウェアやシステムの開発が可能になる。
よく知られているMDEの取り組みには以下のようなものがあります。

MDEをサポートする最初のツールは、1980年代に開発されたコンピュータ支援ソフトウェアエンジニアリング(CASE )ツールでした。Integrated Development Environments(IDE – StP)、Higher Order Software(現Hamilton Technologies, Inc.、HTI)、Cadre Technologies、 Bachman Information Systems、Logic Works(BP-WinおよびER-Win)といった企業が、この分野のパイオニアでした。
米国政府は、IDEF仕様を作成するモデリング定義に関与しました。モデリング定義にはいくつかのバリエーションがあり(Booch、Rumbaugh、Jacobson、Gane and Sarson、Harel、Shlaer and Mellorなどを参照)、最終的に統合されて統一モデリング言語(UML)が作成されました。UML実装製品であるRational Roseは、Rational Corporation(Booch)によって開発され、自動化によってソフトウェア開発における抽象化レベルが向上します。この抽象化により、問題領域に重点を置いたよりシンプルなモデルが促進されます。実行可能なセマンティクスと組み合わせることで、自動化の全体的なレベルが向上します。オブジェクト管理グループ(OMG)は、モデル駆動型アーキテクチャ(MDA)と呼ばれる一連の標準を開発し、この高度なアーキテクチャ重視のアプローチの基盤を構築しました。
MDEに明示的に言及した最初の研究論文は[ 4 ]であると思われる。これらのアイデアは、ロバート・フランス、ベルンハルト・ルンペ、ケビン・ラノらを含む研究者グループ「Precise UML」(pUML)の研究から生まれたものである。
ダグラス・C・シュミットによれば、モデル駆動型エンジニアリング技術は、第3世代言語がプラットフォームの複雑さを軽減し、ドメイン概念を効果的に表現できないという問題に対処する有望なアプローチを提供する。[ 5 ]
モデル駆動型エンジニアリングのための注目すべきソフトウェアツールには、以下のようなものがある。