MDA技術解説
OMGジャパン テクニカルスタッフ
和田 周
[email protected]
http://www.omgj.org/, http://www.omg.org/
© 2001 OMG Japan, Inc.
OMGとは

OMG



1989年,ミドルウェアの標準化を目的とし設立
ソフトウェアの移植性、再利用性、相互運用性を最大限保持した標準
技術の仕様を策定
特定のベンダーに依存しない,オープンな標準を策定
• オープンな標準化プロセス


現在,参加ベンダー,団体は約750
オブジェクト技術の標準化団体






CORBA (Common Object Request Broker Architecture)
UML (Unified Modeling Language)
XMI (XML Metadata Interchange)
CWM (Common Warehouse Metadata)
MOF (Meta Object Facility)
... etc.
© 2001 OMG Japan, Inc.
MDAとは
© 2001 OMG Japan, Inc.
MDA

Model Driven Architecture


モデル(メタデータ)を,各種
プラットフォーム技術へとマッ
ピング


モデル駆動型アーキテクチャ
モデリング標準とプラットフォー
ム標準の融合
http://www.omg.org/mda/
© 2001 OMG Japan, Inc.
その目指すところ

まずモデルありき


モデルが定義されることで特定言語や製品へのマッピングは自動的
に決定、さらにシステム管理、インテグレーションもモデルを中心とし
て行うことを可能とする
目標







システムの全ライフサイクルを管理
モデルのレベル、実装のレベルなど、異なる抽象レベルを対象とした
複数の視点(ViewPoint)を提供
特定の技術に依存しないモデルの構築
様々な産業分野における、標準的なモデルをサポート
モデルレベルでのインテグレーション
プラットフォームレベルでの相互運用性
プラットフォームレベルでのポータビリティ
© 2001 OMG Japan, Inc.
MDA技術解説
© 2001 OMG Japan, Inc.
PIMからPSMへ

モデルから実装への2つのレベル






Platform-Independent Model
Platform-Specific Model
プラットフォームに依存しないレベルから各種プラット
フォームに特化したレベルへ移行
PIMはUML,MOF,CWMによって構築
PSMはUML Profileや実際のコード
PIMからPSMへのマッピングは,各種のマッピング
ルールによって自動的に行なう
© 2001 OMG Japan, Inc.
PIM
© 2001 OMG Japan, Inc.
PIM

モデル(メタデータ)とは

システムの設計図
対象となるシステムを抽象化
システムをある側面で「切る」




一つのシステムを幾つかの側面から眺める
複雑なシステムであっても,特定の側面のみに集中することで理解可
能とする
モデル
モデリング
対象領域
© 2001 OMG Japan, Inc.
OMGにおけるモデリング標準

UML (Unified Modeling Language)




http://www.uml.org/
ソフトウェアのモデルを記述するための標準
図の描き方(シンタックス)と図の意味(セマンティクス)を
定義
CWM (Common Warehouse Metamodel)


http://www.omg.org/technology/cwm/
ウェアハウスのモデルを記述するための標準
© 2001 OMG Japan, Inc.
UML仕様


異なる幾つかのダイアグラム(図)を含む
静的な構造を図示


動的な振る舞いを図示


ユースケース図,シーケンス図,コラボレーション図,ステートチャート
図,アクティビティ図
モデル管理


クラス図,オブジェクト図,コンポーネント図,配置図
パッケージ,サブシステム,モデル
多彩なダイアグラム


要件分析からシステム管理まで,あらゆる工程をサポート
システムの静的な側面,動的な側面をサポート
© 2001 OMG Japan, Inc.
CWM仕様
管理
ウェアハウスプロセス
変換
分析
ウェアハウス操作
OLAP
データ
マイニング
視覚化
命名
リソース
オブジェクト
(OODB)
関係
(RDB)
レコード
多次元
XML
Foundation
ビジネス
情報
データ
タイプ
Expression
キー、
タイプ
インデックス マッピング
配置
UML 1.3




管理 : ウェアハウスの操作、操作の結果に対してメタモデルを定義
分析 : データの分析方法に対してメタモデルを定義
リソース : 様々なタイプのリポジトリに対してメタモデルを定義
Foundation : 基本的な型表現や操作に対してメタモデルを定義
© 2001 OMG Japan, Inc.
モデル間の相互運用

モデルだけで十分?


新規,既存システムのモデル間の相互運用
モデル同士の相互運用が可能であれば,モデルレベルで
のインテグレーションが可能
Client
RDBMS
Analysis Tool
COBOL
Metadata & Data
Common Service/API
MDA Platform (Infrastructure)
© 2001 OMG Japan, Inc.
MOF

モデル間の相互運用,モデルの管理を行なうための標準技術

http://www.omg.org/technology/documents/formal/mof.htm
メタメタモデル
(MOFコア)
EBNF
MOF
メタモデル
UML
メタモデル
モデル
(メタデータ)
UML
モデル
CWM
メタモデル
CWM
モデル
Javaの文法
Javaプログラム
稼動している
Javaプログラム
インスタンス
(データ)
© 2001 OMG Japan, Inc.
なぜMOFが必要か

UML,CWMなど,モデリング技術の中核はメタモデル



メタモデルの定義,記述方法を標準化することで,モ
デル間の相互運用やモデル管理が容易になる


メタモデルでは,モデルのセマンティクスを決めている
クラスとは何なのか? クラスと属性はどのような関係か?
ex ) プログラミング言語の文法をEBNFで定義すれば,
EBNF対応のツールから,どのような言語に対してもパーサ
を自動生成することができる
MOFによってもたらされるもの


モデルを管理するためのリポジトリAPI
モデル情報を交換するためのフォーマット
© 2001 OMG Japan, Inc.
MOF-IDL

MOFを基盤として定義したメタモデルより自動生成されるIDL
インタフェース

モデルを管理する
メタメタモデル
メタモデル
MOF
UML
メタモデル
CWM
メタモデル
IDL
モデル
(メタデータ)
UML
モデル
CWM
モデル
インスタンス
(データ)
© 2001 OMG Japan, Inc.
XML Metadata Interchange (XMI)

MOFを基盤として定義したモデル情報を交換するためのXML
ボキャブラリ群

http://www.omg.org/technology/documents/formal/xmi.htm
メタモデル
UML
メタモデル
XMLドキュメント
モデル
(メタデータ)
UML
モデル
インスタンス
(データ)
DTD, XML Schema
© 2001 OMG Japan, Inc.
XMIの例
© 2001 OMG Japan, Inc.
OMGにおけるPIM

各種OMG仕様の中で,PIMに属するものは



UML : オブジェクトモデリングの標準
CWM : ウェアハウスモデリングの標準
MOF : メタモデルの文法(メタメタモデル)を与える,メタモ
デル定義の標準
• MOF-IDL : モデルを管理するためのリポジトリAPIを生成


XMI : モデル情報の相互運用
「まずモデルありき」ではあるが,モデルを定義して
終わりではなく,モデルの活用も可能
© 2001 OMG Japan, Inc.
UML 2.0

UML 2.0


Infrastructure : ノーテーション(ダイアグラム)の改訂
Superstructure : メタモデルの厳密化
• モデルの相互運用性を向上


OCL : オブジェクト制約言語の改訂
Diagram Interchange : ダイアグラムの情報(大きさ,色,
フォント,…)等の相互運用
© 2001 OMG Japan, Inc.
Action Semantics

現在のUMLの持つ制約言語(OCL)は,モデルの性
的な側面のみを定義


PIMからPSMへ自動変換を行なうには不十分
Action Semantics



http://www.omg.org/techprocess/meetings/schedule/
Action_Semantics_for_UML_RFP.html
Executable UML(実行可能なUML)を実現するための仕
様
モデル上で,動作のトレース,デバックを可能とする
© 2001 OMG Japan, Inc.
PIMとJava


OMGの各種技術がJava(J2EE)にも盛り込まれる予定
Java Metadata Interface (JMI)




Java OPAL Interface (JOLAP)



http://www.java.sun.com/aboutJava/communityprocess/jsr/jsr_0
40_mof.html
MOFのJavaマッピング
IDLではなく,Javaのインタフェースを生成
http://www.java.sun.com/aboutJava/communityprocess/jsr/jsr_0
69_jolap.html
CWMのOPAL packageをJava (J2EE仕様)にマッピング
Java Data Mining API (JDM)


http://www.java.sun.com/aboutJava/communityprocess/jsr/jsr_0
73_jdmapi.html
CWMのData Mining packageをJava (J2EE仕様)にマッピング
© 2001 OMG Japan, Inc.
PSM
© 2001 OMG Japan, Inc.
PSM

プラットフォーム依存のモデル

プラットフォーム技術は問わない
• CORBA,EJB,.NET, Sun ONE, …


UML Profileによって表現
その後,実際のコードへと変換
© 2001 OMG Japan, Inc.
UMLの拡張メカニズム

UMLには,自己(モデル要素)を拡張するための機構が用意
されている

ステレオタイプ,制約(OCL),タグ付き値
<<interface>>
org.omg.CORBA.Object
単なるクラスではなく「インタフェース」を表す
単なる汎化ではなく「インタフェースの実装」を
<<implements>> 表す
{abstract}
StockExchanger
単なるクラスではなく「抽象クラス」を表す
 仕様では,多くのステレオタイプ等を標
_StockExchangerStub
準化している
 勝手に拡張しても良いのか?
 メタモデルレベルでの整合性が取れ
ているため,問題はない
© 2001 OMG Japan, Inc.
UML Profile

特定ドメインでの利用を想定した,UMLの拡張セット


UML仕様が持つ拡張メカニズムを利用
MDAの実現に向け,今後は各種UML Profileの標準
化が盛んになってゆく
© 2001 OMG Japan, Inc.
MDAに向けた各種Profile

UML Profile for CORBA


CORBAにおけるセマンティクス(インタフェース,Value等)
を定義
UML Profile for EDOC


コンポーネント対応,プロセスのモデリング
UML/EJBマッピング仕様と関連が深い
• http://www.java.sun.com/aboutJava/communityprocess/jsr/js
r_026_uml.html
• EJBのメタモデルを定義
© 2001 OMG Japan, Inc.
各種Profile


for EAI(Enterprise Application Integration)
for Scheduling, Performance, and Time


for QoS and Fault Tolerance Characteristics and
Mechanisms of RealTime Systems


スケジューリング等に関するのモデリング要素
リアルタイムシステムのモデリング要素
for SPE(Software Process Engineering)

開発プロセスをモデリング
© 2001 OMG Japan, Inc.
MDAサポート製品
© 2001 OMG Japan, Inc.
MDAサポート製品

ArcStyler





ModelMethods




from Interactive Objects Software
http://www.io-software.com/products/
J2EE/EJB向けのコード生成
RUP開発フローをサポート
from Secant
http://www.secant.com/products/
ビジネスモデルとアプリケーションモデルをUMLにより定
義,ロジックを自動生成
http://www.omgj.org/technology/products/mda.
html
© 2001 OMG Japan, Inc.
参考URL

OMG,OMGジャパンとは



OMGメンバーになるメリット


http://www.omg.org/technology/documents/formal/
新しく標準化された仕様の仕様書


http://www.omgj.org/about/member/benefits.html
OMG標準仕様の仕様書


http://www.omgj.org/about/omg.html
http://www.omgj.org/about/omgj.html
http://www.omg.org/technology/documents/recent/
現在標準化作業中の仕様とその状況

http://www.omg.org/technology/documents/recent/
© 2001 OMG Japan, Inc.
参考URL(cont’d)

各種ドメインタスクフォースの一覧


CORBA準拠製品リスト


http://www.omgj.org/technology/products/corba_relat
ed.html
UML準拠製品リスト


http://www.omgj.org/technology/products/corba.html
CORBA関連製品リスト


http://www.omg.org/homepages/
http://www.omgj.org/technology/products/uml.html
CORBA事例集

http://www.omgj.org/technology/success/
© 2001 OMG Japan, Inc.
ダウンロード

Architectural Refrectionを用いた分散システム構築フレームワーク