情報連携を実現するモデルベース手法 のためのuml/sysmlにつ … · 図の前...

55
情報連携を実現するモデルベース手法 のためのUML/SysMLについて 2013-07-11 オージス総研 米野 巌視

Upload: phamnhi

Post on 29-Aug-2019

220 views

Category:

Documents


0 download

TRANSCRIPT

情報連携を実現するモデルベース手法のためのUML/SysMLについて

2013-07-11

オージス総研 米野 巌視

かんたんな自己紹介

• オージス総研について

– 大阪ガス株式会社の100%出資の情報子会社

– 主に情報システムの構築、運用サービスを提供

– 1990年代よりオブジェクト指向の普及に力を入れる

• 私について

– 1995年頃より、主に金融や通信など情報システムを対象に、オブジェクト指向のソフトウェア開発や教育に従事

– 2005年頃より、車載システムや自動搬送システムなど、組み込みシステムが対象のオブジェクト指向開発に従事

Copyright © 2013 OGIS-RI All rights reserved. 2

本日の内容

• なぜモデルベースか

– モデルベース手法による情報連携の実現の利点を簡単にまとめる

• UMLとSysML

– UMLとSysMLについて、情報を定義するのに必要な部分

に絞って説明する※

• 課題と展望

– モデルベース手法による情報連携の実現の課題と展望について簡単にまとめる

Copyright © 2013 OGIS-RI All rights reserved. 3

※ 本資料に示すUMLおよびSysMLのモデルは、すべて説明のために作成したサンプルです。

なぜモデルベースか

モデル化のメリット

Copyright © 2013 OGIS-RI All rights reserved. 4

データと情報

• 何の値?

Copyright © 2013 OGIS-RI All rights reserved. 5

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

データと情報

• 値の単位は…

Copyright © 2013 OGIS-RI All rights reserved. 6

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

データと情報

• 値の名前は…

Copyright © 2013 OGIS-RI All rights reserved. 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

ウォッベ指数

燃焼速度

圧力

熱量

データと情報

• …ガス事業者が供給する都市ガスの特性(熱量等)

Copyright © 2013 OGIS-RI All rights reserved. 8

熱量等

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地区)

データの出典: 大阪ガス「一般ガス供給約款」、大多喜ガス「一般ガス供給約款」

データは解釈の仕方がわからなければ 意味をなさない

データと情報

• データと情報の関係

Copyright © 2013 OGIS-RI All rights reserved. 9

情報

データ

事実,事象,事物,過程,着想などの対象物に関して知り得たこと 概念を含む 一定の文脈中で特定の意味をもつ (JIS X 0001 – 1994 の定義より)

情報の表現 伝達,解釈又は処理に適するように形式化されたもの 再度情報として解釈できる (JIS X 0001 – 1994 の定義より)

表現 解

⇒ 同じ情報でも技術が異なれば違うデータ

利用している技術ごとに異なるルール

モデルベース ― 情報のモデル化

• 技術的な詳細を隠蔽

– 表現形式 (データ) に依存しない「情報」を定義

• 情報の相互連携

– データ間の相互変換から、モデルを介した相互変換へ

Copyright © 2013 OGIS-RI All rights reserved. 10

ここをモデルとして定義

データ

情報

モデルベースのメリット

• わかりやすい – 技術的な詳細を扱う必要がない

• 異なる技術・表現形式のデータを透過的に扱える – 情報のモデルを介してデータ交換ができる

• さまざまなデータに柔軟に対応できる – モデル(情報)とデータ間の変換ルールを決めればよい

• 情報(データの解釈)を共通化できる – 誰でも同じ解釈ができる

Copyright © 2013 OGIS-RI All rights reserved. 11

UMLとSysML

OMGのモデリング言語

Copyright © 2013 OGIS-RI All rights reserved. 12

OMGのモデリング言語

UML SysML

基礎となる概念 オブジェクト指向 システム工学

モデルの要素 オブジェクト (「クラス」、「インスタンス仕様」)

ブロック (「ブロック」、「インスタンス仕様」)

モデルの種類 離散 離散 + 連続

主な用途 ソフトウェア設計 ビジネスモデル(業務)の記述

システム設計

関連する規格 ISO19505-1 (UML Part1), ISO19505-2 (UML Part2)

ISO 10303-233 (STEP AP233)

応用例 SEMI Standard ISA-95

OOSEM (INCOSE)

記述できるもの 論理構造 相互作用 手続き 状態 (概念上の)物理構造 (機能に関する)要求

論理構造 相互作用 手続き、または制御 状態 要求

Copyright © 2013 OGIS-RI All rights reserved. 13

OMGのモデルベース

• MDA (Model Driven Architecture) とモデリング言語

Copyright © 2013 OGIS-RI All rights reserved. 14

MDAのモデル種類

Computation Independent Model (CIM)

Platform Independent Model (PIM)

Platform Specific Model (PSM)

コンセプトのモデル 問題領域を記述

ソリューションのモデル (技術的詳細を含まない)

実装仕様のモデル (技術的詳細を含む)

言語の適用範囲

UM

L

SysM

L

変換

変換

高次な情報

低次な情報

扱う情報

UMLとは

• オブジェクト指向の汎用モデリング言語

• 特徴

– ソフトウェア工学を中心に幅広く利用されている

– さまざまな分野のモデリング言語の基盤となっている • SysML: システム工学

• BPMN: ビジネスプロセス

• SoaML: SOA (Service-Oriented Architecture)

Copyright © 2013 OGIS-RI All rights reserved. 15

UML

UMLで記述できるモデル 図の名前 主な要素 主な用途 視点

クラス図 クラス、関連、汎化 オブジェクト(データや処理)の型の記述 構造

オブジェクト図 インスタンス仕様、リンク オブジェクト(データや処理)の関係の例示 構造

コンポジット構造図 パート、ポート、コネクター オブジェクトの内部構造の記述 構造

パッケージ図 パッケージ、依存関係 モデル要素の分類の記述 構造

ユースケース図 ユースケース、アクター システムの機能の記述 機能

アクティビティ図 アクション、フロー 処理や制御の流れや手順の記述 振る舞い

ステートマシン図 状態、遷移 オブジェクトの状態の変化の記述 振る舞い

コミュニケーション図 ライフライン、メッセージ オブジェクト間の相互作用の記述 振る舞い

シーケンス図 ライフライン、メッセージ オブジェクト間の通信順序の記述 振る舞い

タイミング図 ライフライン、状態 状態間の関係の例示 振る舞い

相互作用概要図 相互作用、フロー 制御の全体像の記述 振る舞い

コンポーネント図 コンポーネント、コネクター ファイル等、物理的なモジュールの記述 構造

配置図 ノード、関連 物理的なモジュールの割り当ての記述 構造

プロファイル図 ステレオタイプ、メタクラス UMLをカスタマイズする際の定義(特殊用途) 構造

Copyright © 2013 OGIS-RI All rights reserved. 16

UML

情報の定義

• 同じ種類の情報であれば同じ項目(要素)を持つ

– 同じ種類の情報は、表にまとめることができる

Copyright © 2013 OGIS-RI All rights reserved. 17

ガス事業者

標準熱量(M

J

最低熱量(M

J

最高圧力(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

情報の定義

• クラス ― 情報の種類

– クラス図に定義

Copyright © 2013 OGIS-RI All rights reserved. 18

クラス名(情報の名前)

プロパティ(情報の要素)

プロパティ名(情報の要素の名前)

プロパティの型(情報の要素の種類)

クラス

可視性(要素の公開レベル)

UML

可視性の種類 + (public): 外部に公開 # (protected): 継承したクラスに公開 ~ (package): 同一のパッケージに公開 - (private): 非公開

情報の定義

• データ型 ― 値の種類

– クラス図に定義

– プロパティの型などの種類を定義

– UMLの既定のデータ型 • Boolean: 真偽値

• Integer: 整数

• Real: 実数

• String: 文字列

• UnlimitedNatural: 自然数(無限大∞は「*」記号で記述)

• データ型の定義の例

Copyright © 2013 OGIS-RI All rights reserved. 19

データ型を表す約束事

データ型の名前

UML

情報の定義

• 複数の情報で共通する項目(要素)

– 共通する要素は、別の情報の要素として扱う

Copyright © 2013 OGIS-RI All rights reserved. 20

ガス事業者

標準熱量(M

J

最低熱量(M

J

最高圧力(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

情報の定義

• 関連 ― 情報の関係

– クラス図に定義

Copyright © 2013 OGIS-RI All rights reserved. 21

1

プロパティ名(情報の要素の名前)

多重度(関連先の要素の数)

関連(情報の関係)

別の情報として定義した共通部分

可視性(要素の公開レベル)

UML

多重度の書き方 下限値..上限値 一般的な多重度 「0..1」 「1..1」または「1」 「0..*」または「*」 「1..*」

関連の種類

• 関連の種類 – 合成集約

• 関連先が関連元の要素で他と共有しない関係

– 集約 • 関連先が関連元の要素で他と共有する関係

– 関連 • 上記以外の関係

• 関連の方向 – 双方向

• 関連元、関連先のどちらからもアクセスする

– 一方向 • 関連元からしかアクセスしない

Copyright © 2013 OGIS-RI All rights reserved. 22

UML

関連元 関連先

関連元 関連先

関連元 関連先

関連元 関連先

関連元 関連先

関連元 関連先 または

関連元 関連先 または

情報の定義

• 関連の表示

– 関連はプロパティとして表示できる

Copyright © 2013 OGIS-RI All rights reserved. 23

UML

(プロパティとして表示した関連)

(同じ「燃焼性」というプロパティ)

情報の定義

• 装置などの情報

– ガスメーターの事例

Copyright © 2013 OGIS-RI All rights reserved. 24

配管のガス圧が低下した場合

大量のガスが流れた場合

異常時

復帰

ガス遮断

検針

通常時の機能 安全対策の機能

自動的に 作動

人による 操作

画像出典: 大阪ガスLPG株式会社 ― ガスの検針・配達 (http://www.oglpg.co.jp/service/kenshin.html)

UML

情報の定義

• 状態 ― 情報が持つ動作や振る舞い

– ステートマシン図に定義

Copyright © 2013 OGIS-RI All rights reserved. 25

状態

遷移(状態から別の状態への変化) エフェクト(遷移に伴う挙動)

トリガ(遷移が起こる条件) 開始状態(開始時の状態を指定)

UML

情報の定義

• 操作 ― 情報が持つ動作や振る舞い

– クラス図に定義

Copyright © 2013 OGIS-RI All rights reserved. 26

クラス

操作(情報が持つ動作や振る舞い)

操作の引数(この場合、なし)

操作名(動作や振る舞いの名前)

可視性(動作や振る舞いの公開レベル)

UML

情報の定義

• 都市ガスの供給設備と防災対策

Copyright © 2013 OGIS-RI All rights reserved. 27

画像出典: 都市ガスの安定供給 ― 大阪ガス (http://www.osakagas.co.jp/safety/1-supply.html)

供給設備

画像出典: 「大阪ガスの地震防災対策について」 大阪ガス (http://www.kiis.or.jp/bousai/pdf/121206_5.pdf)

防災対策

UML

情報の定義

• 汎化 ― 情報の分類

– クラス図に定義

Copyright © 2013 OGIS-RI All rights reserved. 28

汎化(情報の分類上の関係)

(ある情報に共通する部分)

(一部の情報に固有な部分)

一般的な整圧器の情報の定義

特殊な整圧器の情報の定義

UML

情報の定義

• 汎化と継承

– 継承 • サブタイプの情報がスーパータイプの情報の要素を引き継ぐこと

Copyright © 2013 OGIS-RI All rights reserved. 29

各情報はそれぞれ異なる値を持つ

整圧器の 実際の情報

遠隔遮断整圧器の実際の情報

遠隔遮断整圧器の情報は、整圧器の要素(設定圧や流量)を引き継ぐ

UML

情報の内部構造の定義

• パート、ポート、コネクター ― 情報の要素と関係

– コンポジット構造図に定義

Copyright © 2013 OGIS-RI All rights reserved. 30

UML

クラス(情報の種類)

パート(情報の要素)

ポート(要素をつなぐ要素)

コネクター(要素の関係)

クラス図では、パートは合成関係、ポートはプロパティとして表示される

情報の定義

• 参考: 都市ガス供給設備のクラス図

Copyright © 2013 OGIS-RI All rights reserved. 31

UML

情報の定義

• 参考: 都市ガス供給設備のコンポジット構造図

Copyright © 2013 OGIS-RI All rights reserved. 32

UML

SysMLとは

• システム工学分野に特化したモデリング言語

• 特徴

– UMLを簡略化し、システム工学として不足している部分を追加・拡張

– STEP AP233(システム工学)がベース

– STEPとの相互接続性を考慮

Copyright © 2013 OGIS-RI All rights reserved. 33

SysML

SysMLで記述できるモデル 図の名前 主な要素 主な用途 視点

要求図 要求、依存関係 要求とその関係の記述 構造

ブロック定義図 ブロック、関連 システム要素(データや機能、装置など)の型の記述 構造

内部ブロック図 プロパティ、ポート、コネクター システム要素の内部構造の記述 構造

パラメトリック図 制約ブロック 、コネクター システム要素間の制約の記述 構造

パッケージ図 パッケージ、依存関係 モデル要素の分類の記述 構造

ユースケース図 ユースケース、アクター システムの機能の記述 振る舞い

アクティビティ図 アクティビティ、フロー 処理や制御の流れや手順の記述 振る舞い

シーケンス図 ライフライン、メッセージ オブジェクト間の通信順序の記述 振る舞い

ステートマシン図 状態、遷移 オブジェクトの状態の変化の記述 振る舞い

Copyright © 2013 OGIS-RI All rights reserved. 35

SysML

UMLの図との対応

Copyright © 2013 OGIS-RI All rights reserved. 36

SysML UML 変更点

要求図 クラス図 クラス図を元に追加

ブロック定義図 クラス図 一部表記を変更

内部ブロック図 コンポジット構造図 一部表記を変更

パラメトリック図 コンポジット構造図 用途を限定

パッケージ図 パッケージ図 なし

ユースケース図 ユースケース図 なし

アクティビティ図 アクティビティ図 連続性に対応

シーケンス図 シーケンス図 なし

ステートマシン図 ステートマシン図 なし

SysML

情報の定義

• ブロック ― 情報の種類

– ブロック定義図に定義

Copyright © 2013 OGIS-RI All rights reserved. 37

ブロック名(情報の名前)

プロパティ(情報の要素)

ブロックを表す約束事

関連(情報の関係)

1

プロパティ名(情報の要素の名前)

プロパティの型(情報の要素の種類)

多重度(情報の要素の数)

ブロック(情報の種類)

SysML

UMLとの対応 P21

情報の定義

• 値型 ― 値の種類

– ブロック定義図に定義

– プロパティの型などの種類を定義

– 値型が表す「量の種類(次元)」と「単位」も定義できる • SI単位系が参考情報(non-normative)として規定されている

– SysMLの既定の値型 • Boolean: 真偽値

• Complex: 複素数

• Integer: 整数

• Number: Complex, Integer, Real の総称

• Real: 実数

• String: 文字列

Copyright © 2013 OGIS-RI All rights reserved. 38

SysML

情報の定義

• 値型の定義の例

Copyright © 2013 OGIS-RI All rights reserved. 39

※1: 正しくは<<quantityKind>>とする

量の種類(次元) 単位 値型

値の名前

値型を表す約束事

単位を表す約束事

量の種類を表す約束事※1

量の種類の名前

単位名 単位が扱う量の種類

SysML

UMLとの対応 P19

情報の定義

• 制約ブロック ― 情報に対するルールや法則

– ブロック定義図に定義

Copyright © 2013 OGIS-RI All rights reserved. 40

SysML

制約名(ルールや法則の名前)

制約パラメーター(ルールや法則の持つ変数)

制約ブロックを表す約束事

制約ブロック(ルールや法則)

制約(ルールや法則の実態)

UMLとの対応 P21

関連の種類

• 関連の種類 – パート関連

• 関連先が関連元の要素で他と共有しない関係

– 共有関連 • 関連先が関連元の要素で他と共有する関係

– 参照関連 • 上記以外の関係

• 関連の方向 – 双方向

• 関連元、関連先のどちらからもアクセスする

– 一方向 • 関連元からしかアクセスしない

Copyright © 2013 OGIS-RI All rights reserved. 41

SysML

関連元 関連先

関連元 関連先

関連元 関連先

関連元 関連先

関連元 関連先

UMLとの違い

• プロパティの種類(区別して表示できる)

– parts: パート関連のプロパティ

– references: パート関連以外の関連のプロパティ

– values: 値型のプロパティ

– ports: 他のブロックと相互作用するポートのプロパティ

– parameters: 制約ブロックの制約パラメーター

– properties: 上記すべての種類の総称

Copyright © 2013 OGIS-RI All rights reserved. 42

共有関連のプロパティ

プロパティの種類名

値型のプロパティ

SysML

情報の定義

• 状態 ― 情報が持つ動作や振る舞い

– ステートマシン図に定義

Copyright © 2013 OGIS-RI All rights reserved. 43

状態

遷移(状態から別の状態への変化) エフェクト(遷移に伴う挙動)

トリガ(遷移が起こる条件) 開始状態(開始時の状態を指定)

SysML

UMLとの対応 P25

情報の定義

• 操作 ― 情報が持つ動作や振る舞い

– ブロック定義図に定義

Copyright © 2013 OGIS-RI All rights reserved. 44

操作(情報が持つ動作や振る舞い)

操作の引数(この場合、なし)

操作名(動作や振る舞いの名前)

SysML

UMLとの対応 P26

情報の定義

• 汎化 ― 情報の分類

– ブロック定義図に定義

Copyright © 2013 OGIS-RI All rights reserved. 45

汎化(情報の分類上の関係)

(ある情報に共通する部分)

(一部の情報に固有な部分)

一般的な整圧器の情報の定義

特殊な整圧器の情報の定義

SysML

UMLとの対応 P28

情報の内部構造の定義

• プロパティ、ポート、コネネクター ― 要素と関係

– 内部ブロック図に定義

Copyright © 2013 OGIS-RI All rights reserved. 46

SysML

ブロック(情報の種類)

プロパティ(情報の要素)

ポート(要素をつなぐ部分)

コネクター(要素の関係)

ポートで情報のやり取りがされる場合、情報の流れる方向を矢印で図示する

UMLとの対応 P30

情報の定義

• 参考: 都市ガス供給設備のブロック定義図

Copyright © 2013 OGIS-RI All rights reserved. 47

SysML

UMLとの対応 P31

情報の定義

• 参考: 都市ガス供給設備の内部ブロック図

Copyright © 2013 OGIS-RI All rights reserved. 48

SysML

UMLとの対応 P32

UMLとSysMLのまとめ

情報の定義 UML SysML

種類 クラス 18 ブロック 37

要素 プロパティ 18 プロパティ 37

値の種類 データ型 19 値型、量の種類、単位 38

関係 関連 21 関連 37

動作や振る舞い

状態 25 状態 43

操作 26 操作 44

分類 汎化 28 汎化 45

内部構造 パート、ポート、コネクター 30 プロパティ、ポート、コネクター

46

その他 ― ― 制約ブロック 40

Copyright © 2013 OGIS-RI All rights reserved. 49

課題と期待

モデルベース手法の取り組みに向けて

Copyright © 2013 OGIS-RI All rights reserved. 50

どの情報まで扱うのか?

• ナレッジマネジメントにおける情報の階層例

Copyright © 2013 OGIS-RI All rights reserved. 51

David McCandless , Hierarchy Of Visual Understanding?を参考に作成 (http://www.InformationIsBeautiful.net)

関連した要素

断片化した要素

組織化された情報

適用された知識

データ

情報

知識

卓識

組織化の深化 (意味の深化?)

固有の知見・ノウハウ

一般的な知見・ノウハウ

基礎・常識

解釈の例

独自性

情報以前

独自性が高い

独自性が低い

モデリング&シミュレーション (M&S)

Copyright © 2013 OGIS-RI All rights reserved. 52

• モデリングとシミュレーションは補完しあう関係

– シミュレーションにはモデルが必要

– モデルの評価にはシミュレーションが有効

MILS モデル シミュレーション

(Model In the Loop Simulation)

OMGのモデリング言語とシミュレーション

UML fUML UMLモデルを実行するための仕様

SysML SyM シミュレーションが可能な物理モデリング言語ModelicaとSysMLを連携させるための仕様

ツールチェーン ― モデルの連携と活用

• UMLとSysMLのツールチェーンの例※1

Copyright © 2013 OGIS-RI All rights reserved. 53

SysMLツールチェーン UMLツールチェーン

UML

SysML モデリング ツール

Modlica

シミュレーション ツール

CAD/CAM/ CAE

UML モデリング ツール

fUML

UML

シミュレーション ツール

SysML

STEP

AP233 AP2xx

Modelica

SyM

※1 仕様ベースの例

モデルベースの活用例

• NASAの事例

– SysMLモデルの活用

Copyright © 2013 OGIS-RI All rights reserved. 54

出典: Modeling Failure Modes with SysML, NASA, 2012-04 http://www.nasa.gov/pdf/637603main_day_1-lui_wang.pdf

YOUR MODELING PERTNER

ご清聴ありがとうございました

オージス総研 組み込みソリューション第一部

米野 巌視

[email protected]

Copyright © 2013 OGIS-RI All rights reserved.