モデル駆動型アーキテクチャとは? わかりやすく解説

Weblio 辞書 > 固有名詞の種類 > 製品 > コンピュータ > プログラミング言語 > 統一モデリング言語 > モデル駆動型アーキテクチャの意味・解説 

モデル駆動型アーキテクチャ

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/07/31 02:33 UTC 版)

ナビゲーションに移動 検索に移動

モデル駆動型アーキテクチャ(モデルくどうがたアーキテクチャ、Model-Driven ArchitectureMDA)とは、Object Management Group (OMG) が2001年に公式に発表したソフトウェア設計手法である[1]。MDA はソフトウェアシステムにおけるモデル駆動工学サポートを意図したものである。

概要

モデル駆動型アーキテクチャ (MDA) は、モデルとして表現される構造的仕様のガイドラインを提供するソフトウェア開発手法である。MDAでは、システムの機能はまず適切なドメイン固有言語を使ってプラットフォーム独立モデル (PIM) として定義する。CORBAや .NET といったプラットフォーム定義モデル (PDM) が与えられると、PIM は別のドメイン固有言語や汎用のプログラミング言語(Java、C#、Python など)に対応したプラットフォーム特化モデル(PSM)へと変換される[2]。PIMとPSMとの変換は通常、モデル変換ツールなどの自動化されたツールを使って行われる(例えば OMG が標準化したQVT)。工程全体は文書化され、OMG が MDAガイド(MDA Guide)として保守している。

MDAモデルは、統一モデリング言語 (UML)、Meta-Object Facility (MOF)、XML Metadata Interchange (XMI)、Enterprise Distributed Object Computing (EDOC)、Software Process Engineering Metamodel (SPEM)、Common Warehouse Metamodel (CWM) といった複数の標準規格と関連している。モデル駆動型アーキテクチャの「アーキテクチャ」とはモデル化対象のシステムのアーキテクチャのことではなく、MDA を構成する各種標準やモデル形式のアーキテクチャを意味する。

Object Management Group (OMG) は、「MDA」や「Model Driven Architecture」を商標として登録しており、他にも関連する用語を商標として登録している[1]。OMG が現状で商標登録していない略語としては MDE(モデル駆動工学の略語)がある。

手法

MDAの主たる目的として、アーキテクチャから設計を分離し、設計とアーキテクチャがそれぞれ独立して変更できるような技術を確立するということが上げられる。設計とは機能的な要求仕様(ユースケース)の実装に対応するもので、アーキテクチャは機能とは無関係なスケーラビリティ・信頼性・性能などの要求仕様の実現に対応する。MDA は、実装技術やソフトウェアアーキテクチャが変化しても、機能的要求仕様の概念設計を表現したプラットフォーム独立モデル (PIM) が依然として利用可能となることを意図している。

モデル駆動型アーキテクチャでも特に重要となるのはモデル変換に関する部分である。OMG はQVTと呼ばれるモデル変換のための標準言語を定義した。

ツール

MDAツールは、モデルやメタモデルの開発・翻訳・比較・調整・計測・検証・変換などに使われる[3]。以下では、モデルもメタモデルも総称して「モデル」と表記する。MDAには基本的に2種類のモデルがある。「初期モデル; initial model」は主に人間が手動で作成するものであり、「導出モデル; derived model」はプログラムによって自動的に生成されるものである。例えば、アナリストがビジネスの現状を観察してUMLの初期モデルを作成し、そのUMLモデルにモデル変換を施して自動的に Java モデルを生成する。

MDAツールは以下の種類に分類される。

  • 作成ツール: 初期モデルの作成や導出モデルの編集のためのツール。
  • 解析ツール: モデルの完全性・無矛盾性・エラー/警告条件などを検証するツール。モデルの統計情報の計算にも使われる。
  • 変換ツール: モデルを別のモデルやコードや文書に変換するツール。
  • 合成ツール: 通常同じメタモデルに従った複数のモデルを合成するツール。
  • 評価ツール: モデルベーステストのようにモデルを評価するツール。
  • シミュレーションツール: あるモデルで表されるシステムに実行をシミュレートするツール。
  • メタデータ管理ツール: 各モデル内のメタデータ(作者名、作成日、更新日、使用したツールなど)やモデル間の相互関係(モデル変換の変換元と変換結果の関係やメタモデルのバージョンの関係など)を扱うツール。
  • リバースエンジニアリングツール: 古い情報システムをMDAで扱えるようモデルに変換するツール。

ツールによってはこれらの機能を複数備えている。例えば作成ツールによっては変換や評価の機能も持っている。もちろん、作成のみのツール、グラフィカルな表現のためだけのツール、変換だけを行うツールなどもある。

MDAツールの特徴は、モデル(MOFモデルやメタモデル)を入力とし、別のモデルを出力する点である[4]。ただし、文書とモデルとの変換ツールなどではMDAの範囲外のパラメータの入力が必要となることもある。

MDAツールは、いくつかのベンダーやオープンソースプロジェクトで開発されている。Rational Rose はベンダー作成のツールである。マイクロソフトはMDAに準拠しない類似のツールを提案している。Eclipseでは各種オープンソースツールを開発中である。

MDAツールはUMLツールよりも範囲が広い点に注意されたい。これは、ベースとしているメタモデルが可変か固定かの違いである。UMLツールのメタモデルは一般に固定であり、特定のUMLメタモデル(例えば UML 2.1)上でのみ動作する。一方 MDAツールは任意のメタモデルに対応できる仕組みを用意しているか、複数のメタモデルをサポートしている。

MDAツールは基本的なアーキテクチャ仕様を扱うことが多いが、アーキテクチャ(およびプラットフォーム)に依存しないツールもある。ここでいうアーキテクチャ仕様とは次のようなものを意味する:

  • 参照アーキテクチャ: Java EE.NET
  • 階層ごとのアーキテクチャ(プレゼンテーション層やビジネスロジック層)や階層間の一貫性技術(オブジェクトデータベースと関係データベースのマッピングなど)

懸案事項

2001年に始まったMDAの基盤となる概念は、1980年代後半にShlaer-Mellor法として初めて明確化された。その後、標準化がなされないまま Shlaer-Mellor Action Language を利用したMDA的手法がいくつかのベンダーで試みられた。しかし、この間のMDA的手法は業界に広く受け入れられることはなかった。ガートナーは2006年現在もMDAを "on the rise"(成長中)の技術であるとしている[5]。フォレスターリサーチは2006年に MDA は死に体(D.O.A.)であるとした[6]。OMGのMDAに関する懸案事項としては次のようなものがある:

不完全な標準
MDAは各種技術標準に基づいているが、その一部は未だに仕様が定まっていないか(xtUMLのための言語など)、標準的手法で実装されていない(QVT変換エンジンや仮想実行環境でのPIM[7][8]
理想主義
MDAは、自動化された生成ステップによってモデルを実装物(実行コードやデータベーススキーマ)に変換する工学手法である。このため、OMGの展望としては MDA によって変換前のUMLで問題(対象システム)を完全にモデリングできなければならない[9]。しかし、この手法では生成された実装物を変更することは考慮されていない(例えばデータベーススキーマの調整など)。このため、生成後の実装物を調整する際の問題が生じる。完全なMDA手法はあまりにも理想主義的であり、実際の開発にあたってはより実用的なMDAが必要になるとも考えられている[10]。実用的なMDAでは、本来のMDAに加えて、従来からのモデル駆動的機構をサポートすることで実装物の修正を可能とする必要がある。
特別なスキルの必要性
MDAに基づいた開発では、技術者に特別なスキルが要求される。そのようなスキルを持った技術者はごく少数である[11]
OMGの過去の実績
MDAを推進しているOMGは、かつて分散オブジェクト技術CORBA標準の普及に尽力したが成功したとは言いがたい[12]

関連項目

脚注

参考文献

  • MDA Distilled, Principles of Model Driven Architecture, Stephen Mellor, Kendall Scott, Axel Uhl, Dirk Weise, Addison-Wesley Professional, 2004, ISBN 0-201-78891-8
  • MDA Explained, The Model Driven Architecture: Practice and Promise, Anneke Kleppe, Jos Warmer, Wim Bast, Addison-Wesley, 2003, ISBN 0-321-19442-X
  • The MDA Journal: Model Driven Architecture Straight From The Masters, Meghan Kiffer, ISBN 0-929652-25-8
  • Model Driven Architecture, Springer-Verlag, ISBN 3-540-28240-8
  • Model Driven Architecture: Applying MDA to Enterprise Computing, David S. Frankel, John Wiley & Sons, ISBN 0-471-31920-1
  • Model Driven Architecture With Executable UML, Chris Raistrick, Paul Francis, John Wright, Colin Carter, Ian Wilkie, Cambridge University Press, ISBN 0-521-53771-1
  • 『UML/MDAのためのオブジェクト制約言語OCL 第2版』、ヨシュ・ヴァルメル、アーネク・クレッペ、竹村司(訳)、エスアイビー・アクセス、星雲社、2004年、ISBN 978-4434055423

外部リンク


モデル駆動型アーキテクチャ

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/11/08 23:17 UTC 版)

Object Management Group」の記事における「モデル駆動型アーキテクチャ」の解説

OMG では統一モデリング言語(UML)のためのモデリング標準化注力し、さらに関連標準として Meta-Object Facility (MOF)、XML Metadata Interchange (XMI)、MOF QVT (Query/Views/Transformation) などを策定した。これらはモデル駆動型アーキテクチャ (MDA) の基盤提供するのであるSystems Modeling Language (SysML) は、UML基盤としたシステム工学用のモデリング言語であり、INCOSE(英語版)と共同標準化策定したまた、RDFOWLモデルによりUMLモデル標準的手法関連させるオントロジー定義メタモデル」の採用通じてUMLによるモデリングセマンティック・ウェブ世界広げることにも注力してきた。 Semantics of Business Vocabulary and Business Rules (SBVR) は、自然言語によるモデリング採用した標準であり、形式論理モデル明示的に提供する2年準備期間経て言語・論理・計算機科学融合させたもので、自然言語書かれ仕様から形式論理による表現変換しコンピュータ処理できる形にする方法提供している。SBVRはMDA重要な部分となっている。

※この「モデル駆動型アーキテクチャ」の解説は、「Object Management Group」の解説の一部です。
「モデル駆動型アーキテクチャ」を含む「Object Management Group」の記事については、「Object Management Group」の概要を参照ください。

ウィキペディア小見出し辞書の「モデル駆動型アーキテクチャ」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「モデル駆動型アーキテクチャ」の関連用語

モデル駆動型アーキテクチャのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



モデル駆動型アーキテクチャのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのモデル駆動型アーキテクチャ (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのObject Management Group (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS