情報連携を実現するモデルベース手法
のためのUML/SysMLについて
2013-07-11
オージス総研
米野 巌視
かんたんな自己紹介
• オージス総研について
– 大阪ガス株式会社の100%出資の情報子会社
– 主に情報システムの構築、運用サービスを提供
– 1990年代よりオブジェクト指向の普及に力を入れる
• 私について
– 1995年頃より、主に金融や通信など情報システムを対象
に、オブジェクト指向のソフトウェア開発や教育に従事
– 2005年頃より、車載システムや自動搬送システムなど、
組み込みシステムが対象のオブジェクト指向開発に従事
本日の内容
• なぜモデルベースか
– モデルベース手法による情報連携の実現の利点を簡単
にまとめる
• UMLとSysML
– UMLとSysMLについて、情報を定義するのに必要な部分
に絞って説明する
※
• 課題と展望
– モデルベース手法による情報連携の実現の課題と展望
について簡単にまとめる
なぜモデルベースか
データと情報
• 何の値?
45, 44, 2.5, 1.0, 47, 35, 57.8, 52.7
39, 37, 2.5, 1.0, 47, 34, 53.8, 49.2
43.1, 41.0, 2.5, 1.0, 47, 35, 57.8, 52.7
データと情報
• 値の単位は…
45, 44, 2.5, 1.0, 47, 35, 57.8, 52.7
39, 37, 2.5, 1.0, 47, 34, 53.8, 49.2
43.1, 41.0, 2.5, 1.0, 47, 35, 57.8, 52.7
単位: MJ 単位: KPaデータと情報
• 値の名前は…
45, 44, 2.5, 1.0, 47, 35, 57.8, 52.7
39, 37, 2.5, 1.0, 47, 34, 53.8, 49.2
43.1, 41.0, 2.5, 1.0, 47, 35, 57.8, 52.7
単位: MJ 単位: KPa ウォッベ 指数 燃焼速度 圧力 熱量データと情報
• …ガス事業者が供給する都市ガスの特性(熱量等)
45, 44, 2.5, 1.0, 47, 35, 57.8, 52.7
39, 37, 2.5, 1.0, 47, 34, 53.8, 49.2
43.1, 41.0, 2.5, 1.0, 47, 35, 57.8, 52.7
単位: MJ 単位: KPa ウォッベ 指数 燃焼速度 圧力 熱量 最低ウォッベ指数 最高ウォッベ指数 最低燃焼速度 最高燃焼速度 最低圧力 最高圧力 最低熱量 標準熱量大阪ガス(13A)
大多喜ガス(13A地区)
大多喜ガス(12A地区)
データは解釈の仕方がわからなければ
意味をなさない
データと情報
• データと情報の関係
情報
データ
事実,事象,事物,過程,着想などの対象物に関して知り得たこと
概念を含む
一定の文脈中で特定の意味をもつ
(JIS X 0001 – 1994 の定義より)
情報の表現
伝達,解釈又は処理に適するように形式化されたもの
再度情報として解釈できる
(JIS X 0001 – 1994 の定義より)
表
現
解
釈
⇒
同じ情報
でも技術が異なれば
違うデータ
利用している技術ごとに異なるルール
モデルベース ― 情報のモデル化
• 技術的な詳細を隠蔽
– 表現形式 (データ) に依存しない「情報」を定義
• 情報の相互連携
– データ間の相互変換から、モデルを介した相互変換へ
ここをモデルとして定義
データモデルベースのメリット
• わかりやすい
– 技術的な詳細を扱う必要がない
• 異なる技術・表現形式のデータを透過的に扱える
– 情報のモデルを介してデータ交換ができる
• さまざまなデータに柔軟に対応できる
– モデル(情報)とデータ間の変換ルールを決めればよい
• 情報(データの解釈)を共通化できる
– 誰でも同じ解釈ができる
UMLとSysML
OMGのモデリング言語
UML
SysML
基礎となる概念
オブジェクト指向
システム工学
モデルの要素
オブジェクト
(「クラス」、「インスタンス仕様」)
ブロック
(「ブロック」、「インスタンス仕様」)
モデルの種類
離散
離散 + 連続
主な用途
ソフトウェア設計
ビジネスモデル(業務)の記述
システム設計
関連する規格
ISO19505-1 (UML Part1),
ISO19505-2 (UML Part2)
ISO 10303-233 (STEP AP233)
応用例
SEMI Standard
ISA-95
OOSEM (INCOSE)
記述できるもの
論理構造
相互作用
手続き
状態
(概念上の)物理構造
(機能に関する)要求
論理構造
相互作用
手続き、または制御
状態
要求
OMGのモデルベース
• MDA (Model Driven Architecture) とモデリング言語
MDAのモデル種類
Computation Independent
Model (CIM)
Platform Independent
Model (PIM)
Platform Specific Model
(PSM)
コンセプトのモデル
問題領域を記述
ソリューションのモデル
(技術的詳細を含まない)
実装仕様のモデル
(技術的詳細を含む)
言語の適用範囲
UML
Sy
sML
変換
変換
高次な情報
低次な情報
扱
う
情
報
UMLとは
• オブジェクト指向の汎用モデリング言語
• 特徴
– ソフトウェア工学を中心に幅広く利用されている
– さまざまな分野のモデリング言語の基盤となっている
• SysML: システム工学
• BPMN: ビジネスプロセス
• SoaML: SOA (Service-Oriented Architecture)
UMLで記述できるモデル
図の名前 主な要素 主な用途 視点 クラス図 クラス、関連、汎化 オブジェクト(データや処理)の型の記述 構造 オブジェクト図 インスタンス仕様、リンク オブジェクト(データや処理)の関係の例示 構造 コンポジット構造図 パート、ポート、コネクター オブジェクトの内部構造の記述 構造 パッケージ図 パッケージ、依存関係 モデル要素の分類の記述 構造 ユースケース図 ユースケース、アクター システムの機能の記述 機能 アクティビティ図 アクション、フロー 処理や制御の流れや手順の記述 振る舞い ステートマシン図 状態、遷移 オブジェクトの状態の変化の記述 振る舞い コミュニケーション図 ライフライン、メッセージ オブジェクト間の相互作用の記述 振る舞い シーケンス図 ライフライン、メッセージ オブジェクト間の通信順序の記述 振る舞い タイミング図 ライフライン、状態 状態間の関係の例示 振る舞い 相互作用概要図 相互作用、フロー 制御の全体像の記述 振る舞い コンポーネント図 コンポーネント、コネクター ファイル等、物理的なモジュールの記述 構造 配置図 ノード、関連 物理的なモジュールの割り当ての記述 構造 プロファイル図 ステレオタイプ、メタクラス UMLをカスタマイズする際の定義(特殊用途) 構造UML
情報の定義
• 同じ種類の情報であれば同じ項目(要素)を持つ
– 同じ種類の情報は、表にまとめることができる
ガス事業者
標
準
熱
量
(
MJ
)
最
低
熱
量
(
MJ
)
最
高
圧
力
(
KP
a
)
最
低
圧
力
(
KP
a
)
最
高
燃
焼
速
度
最
低
燃
焼
速
度
最
高
ウ
ォ
ッ
ベ
指
数
最
低
ウ
ォ
ッ
ベ
指
数
ガ
ス
グ
ル
ー
プ
大阪ガス
45
44
2.5
1.0
47
35
57.8 52.7 13A
上越市ガス水道局
43.1 41.0 2.5
1.0
47
35
57.8 52.7 13A
大多喜ガス(13A地区)
45
44
2.5
1.0
47
35
57.8 52.7 13A
大多喜ガス(12A地区)
39
37
2.5
1.0
47
34
53.8 49.2 12A
表: ガス事業者別の「熱量等」(供給ガスの仕様)の例
UML
情報の定義
• クラス ― 情報の種類
– クラス図に定義
クラス名(情報の名前)
プロパティ(情報の要素)
プロパティ名(情報の要素の名前)
プロパティの型(情報の要素の種類)
クラス
可視性(要素の公開レベル)
UML
可視性の種類 + (public): 外部に公開 # (protected): 継承したクラスに公開情報の定義
• データ型 ― 値の種類
– クラス図に定義
– プロパティの型などの種類を定義
– UMLの既定のデータ型
• Boolean:
真偽値
• Integer:
整数
• Real:
実数
• String:
文字列
• UnlimitedNatural:
自然数(無限大∞は「*」記号で記述)
• データ型の定義の例
データ型を表す約束事
データ型の名前
UML
情報の定義
• 複数の情報で共通する項目(要素)
– 共通する要素は、別の情報の要素として扱う
ガス事業者
標
準
熱
量
(
MJ
)
最
低
熱
量
(
MJ
)
最
高
圧
力
(
KP
a
)
最
低
圧
力
(
KP
a
)
最
高
燃
焼
速
度
最
低
燃
焼
速
度
最
高
ウ
ォ
ッ
ベ
指
数
最
低
ウ
ォ
ッ
ベ
指
数
ガ
ス
グ
ル
ー
プ
大阪ガス
45
44
2.5
1.0
47
35
57.8 52.7 13A
上越市ガス水道局
43.1 41.0 2.5
1.0
47
35
57.8 52.7 13A
大多喜ガス(13A地区)
45
44
2.5
1.0
47
35
57.8 52.7 13A
大多喜ガス(12A地区)
39
37
2.5
1.0
47
34
53.8 49.2 12A
表: ガス事業者別の「熱量等」(供給ガスの仕様)の例
(各ガス事業者の「一般ガス供給約款」より作成)
ガスグループごとに
共通する部分
UML
情報の定義
• 関連 ― 情報の関係
– クラス図に定義
1プロパティ名(情報の要素の名前)
多重度(関連先の要素の数)
関連(情報の関係)
別の情報として定義した
共通部分
可視性(要素の公開レベル)
UML
多重度の書き方
下限値
..
上限値
一般的な多重度
「0..1」
「1..1」または「1」
「0..*」または「*」
関連の種類
• 関連の種類
– 合成集約
• 関連先が関連元の要素で他と共有しない関係
– 集約
• 関連先が関連元の要素で他と共有する関係
– 関連
• 上記以外の関係
• 関連の方向
– 双方向
• 関連元、関連先のどちらからもアクセスする
– 一方向
• 関連元からしかアクセスしない
UML
関連元
関連先
関連元
関連先
関連元
関連先
関連元
関連先
関連元
関連先
関連元
関連先
または
関連元
関連先
または
情報の定義
• 関連の表示
– 関連はプロパティとして表示できる
UML
(プロパティとして表示した関連)
(同じ「燃焼性」というプロパティ)
情報の定義
• 装置などの情報
– ガスメーターの事例
配管のガス圧が低下した場合 大量のガスが流れた場合異常時
復帰
ガス遮断
検針
通常時の機能
安全対策の機能
自動的に
作動
人による
操作
画像出典: 大阪ガスLPG株式会社 ― ガスの検針・配達 (http://www.oglpg.co.jp/service/kenshin.html)UML
情報の定義
• 状態 ― 情報が持つ動作や振る舞い
– ステートマシン図に定義
状態
遷移(状態から別の状態への変化)
エフェクト(遷移に伴う挙動)
トリガ(遷移が起こる条件)
開始状態(開始時の状態を指定)
UML
情報の定義
• 操作 ― 情報が持つ動作や振る舞い
– クラス図に定義
クラス
操作(情報が持つ動作や振る舞い)
操作の引数(この場合、なし)
操作名(動作や振る舞いの名前)
可視性(動作や振る舞いの公開レベル)
UML
情報の定義
• 都市ガスの供給設備と防災対策
画像出典: 都市ガスの安定供給 ― 大阪ガス (http://www.osakagas.co.jp/safety/1-supply.html)供
給
設
備
防
災
対
策
UML
情報の定義
• 汎化 ― 情報の分類
– クラス図に定義
汎化(情報の分類上の関係)
(ある情報に共通する部分)
(一部の情報に固有な部分)
一般的な整圧器
の情報の定義
特殊な整圧器の
情報の定義
UML
情報の定義
• 汎化と継承
– 継承
• サブタイプの情報がスーパータイプの情報の要素を引き継ぐこと
各情報はそれぞれ異なる値を持つ
整圧器の 実際の情報 遠隔遮断整圧器 の実際の情報遠隔遮断整圧器の情報は、整圧器の要素
UML
情報の内部構造の定義
• パート、ポート、コネクター ― 情報の要素と関係
– コンポジット構造図に定義
UML
クラス(情報の種類)
パート(情報の要素)
ポート(要素をつなぐ要素)
コネクター(要素の関係)
クラス図では、パートは合成関係、
ポートはプロパティとして表示される
情報の定義
• 参考: 都市ガス供給設備のクラス図
情報の定義
• 参考: 都市ガス供給設備のコンポジット構造図
SysMLとは
• システム工学分野に特化したモデリング言語
• 特徴
– UMLを簡略化し、システム工学として不足している部分を
追加・拡張
– STEP AP233(システム工学)がベース
– STEPとの相互接続性を考慮
SysML
SysMLで記述できるモデル
図の名前 主な要素 主な用途 視点 要求図 要求、依存関係 要求とその関係の記述 構造 ブロック定義図 ブロック、関連 システム要素(データや機能、装置など)の型の記述 構造 内部ブロック図 プロパティ、ポート、コネクター システム要素の内部構造の記述 構造 パラメトリック図 制約ブロック 、コネクター システム要素間の制約の記述 構造 パッケージ図 パッケージ、依存関係 モデル要素の分類の記述 構造 ユースケース図 ユースケース、アクター システムの機能の記述 振る舞い アクティビティ図 アクティビティ、フロー 処理や制御の流れや手順の記述 振る舞い シーケンス図 ライフライン、メッセージ オブジェクト間の通信順序の記述 振る舞い ステートマシン図 状態、遷移 オブジェクトの状態の変化の記述 振る舞いSysML
UMLの図との対応
SysML
UML
変更点
要求図
クラス図
クラス図を元に追加
ブロック定義図
クラス図
一部表記を変更
内部ブロック図
コンポジット構造図
一部表記を変更
パラメトリック図
コンポジット構造図
用途を限定
パッケージ図
パッケージ図
なし
ユースケース図
ユースケース図
なし
アクティビティ図
アクティビティ図
連続性に対応
シーケンス図
シーケンス図
なし
ステートマシン図
ステートマシン図
なし
SysML
情報の定義
• ブロック ― 情報の種類
– ブロック定義図に定義
ブロック名(情報の名前)
プロパティ(情報の要素)
ブロックを表す約束事
1プロパティ名(情報の要素の名前)
プロパティの型(情報の要素の種類)
多重度(情報の要素の数)
ブロック(情報の種類)
SysML
UMLとの対応 P21
情報の定義
• 値型 ― 値の種類
– ブロック定義図に定義
– プロパティの型などの種類を定義
– 値型が表す「量の種類(次元)」と「単位」も定義できる
• SI単位系が参考情報(non-normative)として規定されている
– SysMLの既定の値型
• Boolean:
真偽値
• Complex:
複素数
• Integer:
整数
• Number:
Complex, Integer, Real の総称
• Real:
実数
• String:
文字列
情報の定義
• 値型の定義の例
値の名前
値型を表す約束事
単位を表す約束事
量の種類を表す約束事
※1量の種類の名前
単位名
単位が扱う量の種類
SysML
UMLとの対応 P19
情報の定義
• 制約ブロック ― 情報に対するルールや法則
– ブロック定義図に定義
SysML
制約名(ルールや法則の名前)
制約パラメーター(ルールや法則の持つ変数)
制約ブロックを表す約束事
制約ブロック(ルールや法則)
制約(ルールや法則の実態)
UMLとの対応 P21
関連の種類
• 関連の種類
– パート関連
• 関連先が関連元の要素で他と共有しない関係
– 共有関連
• 関連先が関連元の要素で他と共有する関係
– 参照関連
• 上記以外の関係
• 関連の方向
– 双方向
• 関連元、関連先のどちらからもアクセスする
– 一方向
• 関連元からしかアクセスしない
SysML
関連元
関連先
関連元
関連先
関連元
関連先
関連元
関連先
関連元
関連先
UMLとの違い
• プロパティの種類(区別して表示できる)
– parts: パート関連のプロパティ
– references: パート関連以外の関連のプロパティ
– values: 値型のプロパティ
– ports: 他のブロックと相互作用するポートのプロパティ
– parameters: 制約ブロックの制約パラメーター
– properties: 上記すべての種類の総称
共有関連のプロパティ
プロパティの種類名
値型のプロパティ
SysML
情報の定義
• 状態 ― 情報が持つ動作や振る舞い
– ステートマシン図に定義
状態
遷移(状態から別の状態への変化)
エフェクト(遷移に伴う挙動)
トリガ(遷移が起こる条件)
開始状態(開始時の状態を指定)
SysML
UMLとの対応 P25
情報の定義
• 操作 ― 情報が持つ動作や振る舞い
– ブロック定義図に定義
操作(情報が持つ動作や振る舞い)
操作の引数(この場合、なし)
操作名(動作や振る舞いの名前)
SysML
UMLとの対応 P26
情報の定義
• 汎化 ― 情報の分類
– ブロック定義図に定義
汎化(情報の分類上の関係)
(ある情報に共通する部分)
(一部の情報に固有な部分)
一般的な整圧器
の情報の定義
特殊な整圧器の
情報の定義
SysML
UMLとの対応 P28
情報の内部構造の定義
• プロパティ、ポート、コネネクター ― 要素と関係
– 内部ブロック図に定義
SysML
ブロック(情報の種類)
プロパティ(情報の要素)
ポート(要素をつなぐ部分)
コネクター(要素の関係)
ポートで情報のやり取りがされ
る場合、情報の流れる方向を
矢印で図示する
UMLとの対応 P30
情報の定義
• 参考: 都市ガス供給設備のブロック定義図
SysML
UMLとの対応 P31
情報の定義
• 参考: 都市ガス供給設備の内部ブロック図
SysML
UMLとの対応 P32
UMLとSysMLのまとめ
情報の定義
UML
SysML
種類
クラス
18 ブロック
37
要素
プロパティ
18 プロパティ
37
値の種類
データ型
19 値型、量の種類、単位
38
関係
関連
21 関連
37
動作や振る
舞い
状態
25 状態
43
操作
26 操作
44
分類
汎化
28 汎化
45
内部構造
パート、ポート、コネクター
30 プロパティ、ポート、コネク
ター
46
その他
―
― 制約ブロック
40
課題と期待
どの情報まで扱うのか?
• ナレッジマネジメントにおける情報の階層例
David McCandless , Hierarchy Of Visual Understanding?を参考に作成 関連した要素 断片化した要素 組織化された情報 適用された知識
データ
情報
知識
卓識
組織化の深化 (意味の深化?)固有の知見・ノウハウ
一般的な知見・ノウハウ
基礎・常識
解釈の例
独
自
性
情報以前
独自性が高い
独自性が低い
モデリング&シミュレーション (M&S)
• モデリングとシミュレーションは補完しあう関係
– シミュレーションにはモデルが必要
– モデルの評価にはシミュレーションが有効
MILS
モデル
シミュレー
ション
(Model In the Loop Simulation)
OMGのモデリング言語とシミュレーション
UML
fUML
UMLモデルを実行するための仕様
SysML
SyM
シミュレーションが可能な物理モデリング言語ModelicaとSysMLを連
ツールチェーン ― モデルの連携と活用
• UMLとSysMLのツールチェーンの例
※1
SysMLツールチェーン
UMLツールチェーン
UML
SysML
モデリング
ツール
Modlica
シミュレー
ション ツール
CAD/CAM/
CAE
UML
モデリング
ツール
fUML
UML
シミュレー
ション ツール
SysML
AP233
AP2xx
Modelica
SyM
モデルベースの活用例
• NASAの事例
– SysMLモデルの活用
出典: Modeling Failure Modes with SysML, NASA, 2012-04