Architectural Refrectionを用いた分散システム構築フレームワーク
Download
Report
Transcript Architectural Refrectionを用いた分散システム構築フレームワーク
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.