システムズモデリング言語
SysML
の活用
慶應義塾大学大学院システムデザイン・マネジメント研究科 教授 西村 秀和 http: lab.sdm.keio.ac.jp/nismlab/IAF 第6回情報・モデリング・運用WGセミナー
2015年2月9日(月)
?
システムとは何か?
システム:
相互に関連し全体として機能するコンポーネントの集まり
ハードウェア,ソフトウェア,人,設備など複数のドメインで構成
System of interest
境界:boundary
アクター actor:行為者 (人とは限らない) Use Case1 Use Case 2環境
System of interest
対象システム
システムズエンジニアリングとは?
システムを
成功裏に実現
するための
複数の分野
にまたがる
アプローチおよび手段
システムズエンジニアリングとは?
システムズエンジニアリングの定義
システムを成功裏に実現するための複数の分野にまたが
るアプローチおよび手段
システムズエンジニアリングでは、開発の初期段階で顧客の
ニーズを明確化し、機能要求を定義し、関連する問題をすべ
て考慮しながら設計のための総合とシステムの妥当性確認
を進める。
システムズエンジニアリングは、ユーザーニーズに合致した
品質の製品を供給することを目的とし、ビジネスとすべての
顧客の技術的要求を考慮する。
システムズエンジニアリング
「要求」と「アーキテクチャ」
要求の2つの鉄則
機能要求:“どのように要求を実現するか?”の前に
“
何をするのか?
”,“
なぜそれが必要か?
”を明確にする。
システム要求:“
測定可能
”, “
テスト可能
”
アーキテクチャの3つのビュー
Operational view:システムの使い方、動かし方
Functional view:システムへ要求される機能
Physical view:機能を実現するハードウェア、ソフトウエア
高
抽
象
度
低
エンティティ
V:ビューの位置づけ
利害関係者の要求 製作,コード 化に向けた 仕様 Entity要求の定義 概念設計,アーキテクチャ の選定,設計に向けた仕様 購入,製作, コード化 検証 検査,テスト, 実証,分析 妥当性確認 妥当性確認の計画 要求の 抽出 概念設計 アーキテ クチャ 詳細設計 試験,検証 製造, 運用 Customer Confirmation Verification and Validation Planning Verification Planning 検証 検査,テスト, 実証,分析 C us tom e r C on fi rm at io n C us tom e r C on fi rm at io n 見 込 み調査 , リス ク 調 査 不 具 合調査 解決策の達成 ② Functional view ③ Physical view MATLAB/Simulink Mechanical CAD Electronic CAD Program code SysML ① Operational view二元
V字開発モデル (Dual Vee Model)
Architecture Vee Entity Vee 利害関係者 の要求 要求を満足する システムの完成二元
V字モデルによるプロセスの理解
Architecture Vee Entity Vee 利害関係者 の要求 要求を満足する システムの完成 アーキテクチャの検討, 決定では,サブシステ ムやコンポーネントの 実現可能性を検討しな がら進めることがある.早い段階での
手戻り
二元
V字モデルによるプロセスの理解
Architecture Vee Entity Vee 利害関係者 の要求 要求を満足する システムの完成 コンポーネント, サブシステムの 検証,妥当性確認 を順序行い,システム としての検証,妥当性 確認を行って行く.致命的な
手戻り
利害関係者の要求 製作,コード 化に向けた 仕様 Entity要求の定義 アーキテクチャの 選定とシステム仕様 購入,製作, コード化 検証 検査,テスト, 実証,分析 妥当性確認 妥当性確認の 計画 要求の 抽出 概念設計 アーキテ クチャ 詳細設計 試験,検証 製造, 運用 Customer Confirmation Verification and Validation Planning Verification Planning 検証 検査,テスト, 実証,分析 C us to me r C on fir ma tio n C us to me r C on fir ma tio n
エンティティ
V : 検証と妥当性確認
ノミナル オフノミナル HILS/SILS Human in the Loop Simulation シナリオIEEE 1220 systems engineering process
要求と制約の矛盾 要求のトレードオフ と影響 分解割り当ての トレードオフと影響 分解と要求の割り当に 関する候補 設計解の トレードオフと影響 設計解の要求と候補 要求の基準 確認された要求の基準 機能アーキテクチャ 検証済み機能アーキテクチャ 物理アーキテクチャ 検証済み物理アーキテクチャ SEプロセスへの入力 SEプロセスの出力 統制 設計の検証 機能の検証 要求の分析 要求の 妥当性確認 要求の トレードオフ 分析と評価 設計の トレードオフ 分析と評価 総合 システム解析 機能の分析 機能の トレードオフ 分析と評価“モデルベースでシステムを考える”とは?
モデル
*に基づくシステム開発
仕様書など文書だけではすぐに理解できないことが、
図的
に表現する
ことで理解が容易になる。
協働してシステム開発をする
には、共通言語が必要であり、
それをサポートするには
図的な言語
が有効である。
モデルを再利用
することにより開発の効率化が期待できる。
モデルを用いて
抽象度を上げる
ことにより
革新
に導く。
*注:実行可能ではないモデルを含む
システムモデルの記述
システムモデル表記法:
SysML(Systems Modeling Language)
システムを
構造
,
振る舞い
,
要求
,
パラメトリック制約
の観
点で図的に表現することができる。
図的表現により、
開発者の思考
を支援できる。
複数のドメインにまたがる開発、分業化された開発環境で、
共通言語
として利用できる。
システム開発プロセスの中で
要求のトレーサビリティ
が確
保される。
構成管理
、
変更管理
が容易になる。ーあるサブシステムや
コンポーネントの要求の変更や設計の変更が生じた際に、
他のサブシステムやコンポーネントにどのような影響が及
ぶかを判断できる。
モデルベースシステムズエンジニアリング
の海外動向
MBSE wiki
http://www.omgwiki.org/MBSE/doku.php?id=start
最新の
MBSEアクティビティと応用
MBSE関係者とのネットワークづくり
MBSE Workshop at INCOSE IW 2014
http://www.omgwiki.org/MBSE/doku.php?id=mbse:incose_mbs
e_iw_2014
MBSE Workshop at INCOSE IW 2013
http://www.omgwiki.org/MBSE/doku.php?id=mbse:incose_mbs
システム
アーキテクチャ
形式の変換
分析的な
統合
PDM:
Product Data
Management
要求分析
実行可能なシミュレーションモデル 文書化と文書管理 コスト分析 リスク分析 最適化 視覚化 部品表(BOM) サプライチェーンマネジメント 物理設計(3D CAD) 要求管理Christopher Oster, Lockheed Martin Corporationの資料より改変
High Fidelity Simulations 忠実度の高い シミュレーション
正しいシステムを得ること
「正しい要求」+「正しいインタフェース」
→ 「正しいコンポーネント」
正しい要求 ←整合→
要求のモデル
正しいインタフェース ←整合→
インタフェースのモデル
正しいコンポーネント ←整合→
コンポーネントのモデル
シミュレーションモデル:「要求のモデル」をサポートする。
正しいシステム←整合→ シミュレーションモデル
→
仕様を正しく得る
。
Ron Carson, MBSE Implementation Across Diverse Domains at The Boeing Company より改変
SysMLで何ができるのか?
システムを構成するサブシステムに対する機能要求とその振
る舞いを把握できる。
設計変更があった場合にも、要求のトレースが可能なため、
その影響を容易に把握できる。
SysMLを用いることで、開発者の思考を支援し、ドメインをまた
がる協働作業が可能となる。
コンカレントデザインを促進するフレームワークが実現可能と
なる。ただし、組織の硬直化などが弊害となり得る。
参考資料:システムズモデリング言語 SysML (A Practical Guide to SysML翻訳本)
西村 秀和(監訳)
訳者:白坂成功,成川輝真,長谷川堯一,中島裕生,翁志強 著者:Sanford Friedenthal, Alan Moore, Rick Steiner
構造
要求
振る舞い
パラメトリック
制約
・数式表現 ・運動方程式 ・パラメータによる 性能評価 などSysMLのダイアグラムは,互いに関連している。
→ 設計変更があった場合にもその影響を容易に把握できる。
ibd act req parソフトウェアモデル
ハードウェアモデル
要求・仕様 設計・統合 要求・仕様 設計・統合SysMLを用いた協働作業
構造 要求 振る舞い パラメトリックシステムモデル
ダイナミクス 解析 制御システム 解析 1D-CAEなど ハードウェア 設計モデル 電気回路 設計モデル ソフトウェア 設計モデル テスト方法 テストモデル 解析モデル 外部からの 要求 解析 性能 評価 システム 仕様書 システムモデル
コンカレントデザインを促進するフレームワーク
構造 要求 振る舞い パラメトリック制約 トレーサビリティ 根拠 ビュー ポイント 製品データ管理 (PDM) ・部品表(BOM) ・物理設計(CAD)SysMLダイアグラムの分類
SysML
ダイアグラム
振る舞い図
構造図
要求図
ユースケース図
シーケンス図
アクティビティ図
状態機械図
ブロック定義図
パラメトリック図
内部ブロック図
パッケージ図
SysML: Systems Modeling Language
SysMLによるMBSEのサポート
システム仕様の決定 ← 以下の活動の反復
ブラックボックスのシステム要求の取得と分析(コンテキストレベル)
要求管理ツールでの文書ベースでの要求の獲得 SysMLモデリングツールへの要求のインポート システムのユースケースからシステムレベルでの機能の特定 ユースケースと要求間のトレーサビリティの獲得 ユースケースシナリオの実現:アクティビティ図,シーケンス図,状態機械図 システムコンテキスト図の創出 システム検証をサポートするシステムのテストケースの特定 要求を満たすシステムアーキテクチャ候補の開発
ブロック定義図を用いたシステムの分解 アクティビティ図またはシーケンス図を用いたパート間の相互作用の定義 内部ブロック図を用いたパート間の相互接続の定義SysMLによるMBSEのサポート(続き)
所望のアーキテクチャの評価と選択のためのエンジニアリング解析と
トレードオフ分析
の実行
性能,信頼性,コスト,その他の重要なプロパティの分析をサポートするための パラメトリック図を用いたシステムプロパティの制約の獲得 システムプロパティの予算を決定するためのエンジニアリング解析の実行 (通常,別のエンジニアリング解析ツールで行われる) コンポーネント要求の規定とシステム要求に対するコンポーネント要求の
トレーサビリティの規定
アーキテクチャにおける,各コンポーネント(ブロック)のための機能要求,イン タフェース要求,性能要求の獲得 システム要求へのコンポーネント要求のトレース システムレベルでの
テストケース
の実行→システム設計に関する要求の
充足の検証
SysML-Liteとは?
SysMLの9つのダイアグラムの内、6つのダイアグラム、パ
ッケージ図、要求図、アクティビティ図、ブロック定義図、
内部ブロック図、パラメトリック図を用いてシステムモデ
ルを記述する考え。
SysML
ダイアグラム
振る舞い図
構造図
要求図
ユースケース図
シーケンス図
アクティビティ図
状態機械図
ブロック定義図
パラメトリック図
内部ブロック図
パッケージ図
機能の明確化とインタフェース(1)
コンテキストレベルでの外部システムとのインタフェース
システムのユースケース(使われ方、動作)を考える。
シーケンス図による記述
パート間の相互作用
外部
システム
システム
メッセージ (相互作用) 自己 メッセージ機能を記述するユースケースをシーケンス
図で記述し、
システムの機能の抽出
を行う。
↓
・システムは、外部システムから
メッセージを受けるという
機能1
をもつ。
・システムは、自己メッセージを処理する
という
機能2
をもつ。
次に、抽出された各機能を実現する
シーケンスを考える。
機能の明確化とインタフェース(2)
システムの分解を検討する。
ブロック定義図
機能1
, 2
を実現するシーケンスを検討
サブシステム間の相互作用を明確
にする。
各サブシステムの生存線上にそれ
ぞれの機能が抽出される。
サブシステム1
サブシステム2
同期メッセージシステム
サブシステム1
サブシステム2
・サブシステム2はサブシステム1から
同期メッセージを受け、自己メッセー
ジを処理する。
・サブシステム2はサブシステム1に
メッセージを返信する。
返信メッセージ機能のコンポーネントへの割り当て
アクティビティ図でさらに信号のフローを検討する。
コンポーネントとインタフェースを明確化する。
サブシステム サブシステム サブシステム 2-1 サブシステム 2-2 アクション 1-1 アクション2-1 アクション 1-2 アクション 2-2 制御フロー オブジェクトフロー スイムレーイン or アクティビティ区画 開始ノード アクティビティ 終了ノード ピン パラメータ 1 パラメータ 2 1ブロック定義図
シーケンス図とアクティビティ図での検討により、サブシ
ステム
2は、サブシステム2-1, 2-2に分解された。
システム
サブシステム1
サブシステム2
サブシステム
2-1
サブシステム
2-2
内部ブロック図
内部ブロック図によるコンポーネント間のインタフェース
の記述
[サブシステムの内部構造] サブシステム1 サブシステム2 サブシステム 2-1 サブシステム 2-2要求の詳細化とトレーサビリティの確保
<<Requirement>> 対象システムの要求 対象システムはxxの状況で、△△へ○○すること。 <<Requirement>> R1 外部システムがxxの 状況で○○すること。 <<Requirement>> R2 △△に対応すること。 + <<Functional Requirement>> 機能要求1 <<Functional Requirement>> 機能要求2-1 <<Functional Requirement>> 機能要求2-2 <<block>> サブシステム1 <<derived>> <<derived>> <<satisfy>> <<block>> サブシステム 2-1 <<satisfy>> <<satisfy>> <<derived>> <<block>> サブシステム 2-2SysMLの活用で見えてくること
システムをモデルで表現する。
構造/振る舞い/要求/パラメトリック制約
- What – そもそも、何をしなければならないのか?
革新に導く。
オペレータや外部システムとの相互作用の明確化
サブシステム間のインタフェース
最適化
“問題”
やトレードオフ
“問題”
の
設定・定義
アーキテクチャと仕様決定までの要求のトレース
エレベータに対する要求(例)
エレベーターは、ビルの各階から“コール(呼び)”を受けるこ
と。(入力に関する要求)
エレベーターは、想定される乗員に対して、エレベーターを呼
んでいることを表示すること。(出力に関する要求)
エレベーターは、緊急コールに対してビルにある標準電話を
利用すること。(外部インタフェースに関する要求)
The Engineering Design of
Systems, - Models and Methods -, 2ndEdition, Dennis M. Buede,
コンテクストレベルでの機能分析
ユースケース「ドアを開く」
→シーケンス図
アナリシスレベル
01での機能分析
要求を詳細化したユースケース
→ テストケース
パラメトリック図:
まとめ
複数のドメインで構成されるシステムを設計するために、
MBSE
(モデルベースシステムズエンジニアリング)の活用が重要であ
ることを述べた。
モデルを用いたシステム開発では、システムモデルの記述に
際して、
構造/振る舞い/要求/パラメトリック制約
の4つの柱で考えることが重要である。
SysMLはこれをサポートしている。
SysMLの適用手順を概説するとともに、エレベータ開発の事例
を紹介し、
MBSEで思考する過程を示した。
参考文献
Systems Engineering Handbook Ver.3.2, INCOSE, 2010 Visualizing Project Management, Third Edition
Kevin Forsberg, Hal Mooz, Howard Cotterman, John Wiley & Sons, Inc.
IEEE 1220: For Practical Systems Engineering, Teresa Doran
http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1631953&userType=inst システムズモデリング言語 SysML(A Practical Guide to SysMLの翻訳本)
西村 秀和(監訳),白坂成功,成川輝真,長谷川堯一,中島裕生,翁志強, 東京電機大学出版局,2012
The Engineering Design of Systems, - Models and Methods -, 2nd Edition
Dennis M. Buede, John Wiley & Sons, Inc.
The Art of Systems Architecting, Second Edition, Mark W. Maier, Eberhardt Rechtin, CRC
Press, 2002
MBSE wiki: http://www.omgwiki.org/MBSE/doku.php?id=start
複雑化する統合システム(SoS)の開発方法論 モデルベースシステムズエンジニアリング導