モデル駆動エンジニアリング( MDE ) は、特定の問題に関連するすべてのトピックの概念モデルであるドメイン モデルの作成と活用に重点を置いたソフトウェア開発方法論です。したがって、コンピューティング (アルゴリズム) の概念ではなく、 特定のアプリケーション ドメインを管理する知識とアクティビティの抽象的な表現に重点を置き、それを目指します。
MDEはラウンドトリップエンジニアリングと呼ばれるソフトウェア設計手法のサブフィールドです。MDEの範囲はモデル駆動型アーキテクチャの範囲よりもはるかに広いです。[1]
概要
MDE アプローチは、システム間の互換性を最大化 (標準化されたモデルの再利用による)、設計プロセスを簡素化 (アプリケーション ドメインで繰り返し使用される設計パターンのモデルによる)、システムで作業する個人とチーム間のコミュニケーションを促進する (アプリケーション ドメインで使用される用語とベスト プラクティスの標準化による) ことによって、生産性を向上させることを目的としています。たとえば、モデル駆動開発では、ソース コード、ドキュメント、テストなどの技術的成果物は、ドメイン モデルからアルゴリズム的に生成されます。[2]
MDE のモデリング パラダイムは、そのモデルがドメインに精通しているユーザーの観点から意味を成し、システム実装の基盤として機能できる場合に効果的であると見なされます。モデルは、製品マネージャー、設計者、開発者、およびアプリケーション ドメインのユーザー間の広範なコミュニケーションを通じて開発されます。モデルが完成に近づくにつれて、ソフトウェアとシステムの開発が可能になります。
よく知られている MDE イニシアチブには次のようなものがあります。
- オブジェクト管理グループ(OMG) のモデル駆動型アーキテクチャ(MDA) は、Meta-Object Facility、XMI、CWM、CORBA、Unified Modeling Language(より正確には、 OMG は現在、モデル駆動型アーキテクチャ用に UML のサブセットであるfUMLとそのアクション言語であるALFの使用を推進しており、以前のアプローチでは Executable UML とOCLに依存していました)、QVTなどのいくつかの標準によって活用されています。[3]
- プログラミングおよびモデリング ツールのEclipse 「エコシステム」は、一般的には (Eclipse Modeling Framework) で表されます。このフレームワークを使用すると、OMG の MDA 標準を実装するツールを作成できますが、他のモデリング関連ツールを実装するために使用することもできます。
歴史

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とSarson、Harel、ShlaerとMellorなどを参照)、最終的に統合されて統一モデリング言語(UML)が作成されました。UML実装用の製品であるRational Roseは、自動化によってソフトウェア開発の抽象化のレベルが向上することに対応して、Rational Corporation(Booch)によって開発されました。この抽象化により、問題領域に重点を置いた、より単純なモデルが促進されます。実行可能なセマンティクスと組み合わせると、自動化の全体的なレベルが向上します。オブジェクト管理グループ(OMG)は、モデル駆動アーキテクチャ(MDA)と呼ばれる一連の標準を開発し、この高度なアーキテクチャ重視のアプローチの基礎を構築しました。
利点
ダグラス・C・シュミットによれば、モデル駆動型エンジニアリング技術は、プラットフォームの複雑さを軽減し、ドメイン概念を効果的に表現できない第3世代言語の問題に対処するための有望なアプローチを提供します。[4]
ツール
モデル駆動型エンジニアリング向けの注目すべきソフトウェア ツールには、次のものがあります。
- カーネギーメロンソフトウェアエンジニアリング研究所のAADL
- Acceleo はObeo のオープンソースコードジェネレータです。
- アクティフソース
- AgileUML は AgileMDE Ltd のオープンソース MDE ツールセットです。
- ATLAS 変換言語または ATL、Obeo のモデル変換言語
- 相互運用性を実現するMDEフレームワークDUALLy
- Eclipse モデリング フレームワーク(EMF)
- Sparx Systemsのエンタープライズ アーキテクト
- eTrice は、リアルタイム オブジェクト指向モデリング標準のオープンソース実装です。
- 汎用日食モデリングシステム(GEMS)
- GeneXus は、知識ベース、宣言型、マルチプラットフォーム、マルチ言語開発ソリューションです。
- グラフィカルモデリングフレームワーク(GMF)
- JetBrains MPS、JetBrainsのメタプログラミングシステム
- No Magic Inc のMagicDraw
- MERODE JMermaid from KU Leuven (教育)
- MetaCase のMetaEdit+
- Phoenix Integration のModelCenter
- ModelSphereを開く
- CompuwareのOptimalJ
- Vector InformatikのPREEvision
- IBMのRhapsody
- SAPのPowerDesigner
- MathWorksのSimulink
- Dusan Rodina のソフトウェア アイデア モデラー
- Sirius は、カスタム グラフィカル モデリング ワークベンチを作成するための Eclipse オープン ソース プロジェクトです。
- BorlandのTogether Architect
- KDE のUmbrello
- オタワ大学のウンプル
- Compuware のUniface
- YAKINDU Statechart Tools はEclipse上に構築されたオープンソース ツールです。
参照
- アプリケーションライフサイクル管理(ALM)
- ビジネスプロセスモデルと表記法(BPMN)
- ビジネス主導開発(BDD)
- ドメイン駆動設計(DDD)
- ドメイン固有言語(DSL)
- ドメイン固有モデリング(DSM)
- ドメイン固有のマルチモデリング
- 言語指向プログラミング(LOP)
- 統一モデリング言語ツールのリスト
- モデル変換(例:QVTを使用)
- モデルベーステスト(MBT)
- モデリング成熟度レベル(MML)
- モデルベースシステムエンジニアリング(MBSE)
- サービス指向モデリングフレームワーク (SOMF)
- ソフトウェアファクトリー(SF)
- ストーリードリブンモデリング(SDM)
- Open API、HTTP 相互運用と REST API のモデルと操作を記述するためのオープンソース仕様
参考文献
- ^ 「モデル駆動型アプローチが失敗する 8 つの理由」InfoQ . 2023 年 7 月 26 日閲覧。
- ^ Flatt, Amelie; Langner, Arne; Leps, Olof (2022). Akoma Ntoso アプリケーション プロファイルのモデル駆動型開発 - XML サブスキーマのモデルベース生成の概念フレームワーク(第 1 版)。ハイデルベルク: Sprinter Nature。ISBN 978-3-031-14131-7。
- ^ Object Management Group (2006-05-24). 「OMG 商標」 . 2008-02-26閲覧。
- ^ Schmidt, DC (2006 年 2 月). 「モデル駆動型エンジニアリング」(PDF) . IEEE Computer . 39 (2). doi :10.1109/MC.2006.58. S2CID 10006139. 2006 年 9 月 9 日の オリジナル(PDF)からアーカイブ。2006年 5 月 16 日に取得。「プラットフォームの複雑さ、そしてこの複雑さを軽減してドメインの概念を効果的に表現できない第 3 世代言語の欠点に対処する有望なアプローチは、モデル駆動型エンジニアリング (MDE) テクノロジを開発することです...」
さらに読む
- David S. Frankel、モデル駆動型アーキテクチャ: エンタープライズコンピューティングへの MDA の適用、John Wiley & Sons、ISBN 0-471-31920-1
- Marco Brambilla、Jordi Cabot、Manuel Wimmer、 「Model Driven Software Engineering in Practice 」、 Richard Soley ( OMG会長)による序文、Morgan & Claypool、米国、2012 年、Synthesis Lectures on Software Engineering #1。182 ページ。ISBN 9781608458820 (ペーパーバック)、ISBN 9781608458837 (電子書籍)。https://www.mdse-book.com
- da Silva、Alberto Rodrigues (2015)。「モデル駆動型エンジニアリング:統一概念モデルによる調査」。コンピュータ言語、システム、構造。43 (43): 139–155。doi : 10.1016/ j.cl.2015.06.001。
外部リンク
- モデル駆動型アーキテクチャ: omg.org のビジョン、標準、および新興テクノロジー
