gis開発におけるモデル駆動型 アーキテクチャアプローチの...
TRANSCRIPT
はじめに
モデル中心手法への期待
OMG ー Model Driven Architecture標準化プロセスによって構築されるモデル
空間IT分野への適用可能性標準モデルの貢献度は未だ低い?
モデルからシステムを生成できるか?
MDA 概要
MDA (Model Driven Architecture)OMGによるモデル中心の新しい技術体系モデル駆動型のシステム開発・ライフサイクル管理を実現
特定のプラットフォームに依存しない
実装技術が変化しても、20年後も動くソフトウェアを実現する!
モデルとは
モデルとはシステムの機能、構造や振る舞いの一部を表現したもの
モデルは構文と意味論を持つ言語によって定義され、内容の分析や推論が可能であること
UMLによって記述されたモデルソースコードやIDLによる記述もモデル
モデルの種別 PIM と PSM
Platform Independent Model特定の実装には依存しないシステムのモデル
MDAの主張にある20年後も動くシステムを実現するための根幹
Platform Specific Model特定の実装に依存したモデル
PIMに実装に関わる部分を追加したような抽象度の高いPSMIDLやソースコードなどより実装に近いPSM
モデルの相互変換
モデルは形式的な言語に基づき記述されている
慎重に設計されたモデルは、機械的に処理されることで、(半)自動的に別のモデルに変換され得る
PIM→PIM、PIM→PSM、PSM→PSMといったモデル変換の繰り返しで、システムのライフサイクルが管理される
MDAのライフサイクル 1中心はMDAのコアとなるモデリング技術
円の外側はそれぞれのアプリケーション領域
中間層はPIM→PSM
参考: http://www.omg.org/mda/
MDAのライフサイクル 2
PIM/PSMCore languages
PIM to PIMMapping
PSM to PSMMapping
PIM to PSMMapping
SoftwareDevelopment
Lifecycle
参考: http://www.omg.org/cgi-bin/doc?ormsc/2001-07-01
MDAの前提
十分な記述能力を備えたPIMが定義可能である特定のプラットフォーム毎にPSMが定義されるPIMからPSMへの自動変換が定義可能である新たに登場するプラットフォームに対してもPSMが定義され、他モデルとの変換が可能となる
20年後も動くソフトウェアを実現する!
MDAの今後
UMLの記述能力の向上適用分野ごとに適合するPIM/PSMが定義される
定義されたモデル間の自動変換が実現される
空間IT分野においてもPIM/PSMおよびモデル変換が実現されることが期待される
空間IT領域の標準モデル
ISO/TC211 - ISO 19100データモデル先行 – システムの静的側面
Open GIS ConsortiumImplementation Spec. – インタフェースのモデル化
システムの動的側面 – 振る舞いのモデル化標準化されているモデルはまだ少ない
実装者が独自にモデル化を行っている
空間ITの基盤技術化を目指して空間IT技術のビジネスプロセスへの統合自律、分散、協調するアプリケーション基盤
その他のビジネスロジックと同様に統合可能な部品としての空間IT技術
統合化されたアプリケーション
… …
ビジネスプロセス統合
空間ITその他のビジネスロジック
空間ITその他のビジネスロジック
統合化されたアプリケーション
… …
ビジネスプロセス統合
空間ITその他のビジネスロジック
空間ITその他のビジネスロジック
空間ITその他のビジネスロジック
空間ITその他のビジネスロジック
レガシーGIS
GIS技術基盤GIS アプリケーション …
レガシーGIS
GIS技術基盤GIS アプリケーション …
GIS技術基盤GIS アプリケーション …
空間IT領域へのMDAの適用
空間IT領域をモデル化するPIMの導入空間IT領域のモデルを特定のプラットフォームで実現するためのPSMの導入PIM→PSMの変換の(半)自動化
「動くシステム」を実現するためには、システムの動的側面のモデル化が重要
特にGIS特有の要件としてGUIを含んだMMIモデルが重視される傾向がある
COTSアプローチの提案
「システムの動的側面のモデル化」と「システムのGUIのモデル化」を実現するお手軽な方法
COTS(Commercial Off-the-shelf) – 既製品を組み合わせて手早く簡単にシステムを構築
仮説: COTS は1つのプラットフォーム既製品を組み合わせる方式や手順を形式化することで、「システムの動的側面のモデル化」と「システムのGUIのモデル化」を実現するPSMを構築する
実験:地図URL取得サービス
COTSとして既存のリソースを活用したシステムを生成する
「与えられた座標値の範囲を中心とした地図を表示できるURLを返却するサービス」
モデルの変換を行ないながら、最終的に実行することが可能なシステムを構築する
この実験におけるモデル
PIM(UML)
PSM(UML Profile)
PSM(java ソースコード)
手動で変換
自動で変換
モデルを作成
実行可能!
UMLツール上で手動で作成
自動的に生成
PIM(UML)
PSM(UML Profile)
PSM(java ソースコード)
手動で変換
自動で変換
モデルを作成
実行可能!
UMLツール上で手動で作成
自動的に生成
PIM: UMLによって記述
PSM #1: この目的のために拡張したUMLによって記述 (PIMから手動で変換)
PSM #2: PSM #1 から自動的に変換されて生成するソースコード
COTSとして利用する既製品
Axis – ソースコードを実行するアプリケーションフレームワークとして利用
任意のインターネット地図サービス – 地図を表示するために利用
MSNの地図サービス(デモ)
URLhttp://map.msn.co.jp/here.asp
パラメータ
map=E#id_Lon#.#im_Lon#.#fs_Lon#map=N#id_Lat#.#im_Lat#.#fs_Lat#zm=12sz=1
おわりに
モデルから動くシステムを生成できる!
そのために必要なもの検討されたモデル(PIM・PSM)モデル間の変換ルールの形式化・自動化
COTS的なアプローチの応用可能性特に空間IT分野における有用性は?適切なプラットフォームの選択