d-caseとsysmlとの連携による ディペンダブルな …...1.概要...
TRANSCRIPT
目的とアプローチ
目的
ディペンダビリティを備えるシステムの開発を実現
4
アプローチ
par [パッケージ] Design [PAR_車両ブロック]
ブレーキ<<Block>>
Values
Operations
breakPowerTargetbreakPower
CCコントローラ<<Block>>
Values
Operations
powerOFF ccBtnccPower
speed
車速センサー<<Block>>
Values
Operations
speed
アクセル<<Block>>
Values
Operations
accelPowerTargetaccelPower
電子制御スロットル<<Block>>
Values
Operations
pwrthrottleTorque
スロットル アクチュエータ<<Block>>
Values
Operations
pwr
CC操作UI<<Block>>
Values
Operations
ccBtn
加速の加速度制限:
a < 0.35G加減速性能:
a > 0.080G
設定車速の制限:
50km/h ≦ vt ≦ 100km/h
<<allocate>>
車速制御<<Block>>
Values
Operations
breakPowerTarget
accelPowerTarget
breakTorque
throttleTorque
ccPower
breakPower
accelPower
<<allocate>><<allocate>>
電子制御ブレーキ<<Block>>
Values
Operations
pwrbreakTorque
ブレーキ アクチュエータ<<Block>>
Values
Operations
pwr
車両力学制御<<Block>>
Values
Operations
pwrspeed
車速のモニター回路<<Block>>
Values
Operations
powerOFF speed
<<allocate>>CC動作状況のモニター回路<<Block>>
Values
Operations
ccBtn
speedpowerOFF
pwr =Kp ( Vp - Vt )+ Ki ∫(Vp - Vt ) dt
<<allocate>>
a = (thrust + drag) / mass
<<allocate>>
thrust = pwr / actualSpeed
<<allocate>>
actualSpeed = ∫a dt + v0
<<allocate>>
drag =
-1/2 * Cd * A
* densityOfAir
* actualSpeed̂2
<<allocate>>
セダンの場合
mass = 1700 kgワゴンの場合
mass = 2500 kg
<<allocate>>
セダンの場合
Cd = 0.44ワゴンの場合
Cd = 0.50
<<allocate>>
セダンの場合
A = 1.8 m̂2ワゴンの場合
A = 2.0 m̂2
<<allocate>>
densityOfAir = 1.2 kg/m̂3
<<allocate>>
req [パッケージ] Design [REQ_CC]
CC<<Requirement>>
ID = REQ_01
車両は運転者を支援する走行制御機能を搭載する
CC起動(Cruise)<<Requirement>>
ID = REQ_02
CC停止中に運転者が「Cruise」ボタンを押すと、CCが起動する
<<derive>>
CC停止(Cruise)<<Requirement>>
ID = REQ_08
CC起動中に運転者が「Cruise」ボタンを押すと、CCを停止する
<<derive>>
目標車速の設定(Set)<<Requirement>>
ID = REQ_03
CC起動中に運転者が「Set」ボタンを押すと、現在の速度を設定値として保持する
<<derive>>
目標車速の減速(Decel)<<Requirement>>
ID = REQ_04
CC起動中に運転者が「Decel」ボタンを押すと、設定値の速度が下がる
<<derive>>
目標車速の加速(Accel<<Requirement>>
ID = REQ_05
CC起動中に運転者が「Accel」ボタンを押すと、設定値の速度が上がる
<<derive>>
CC一時休止<<Requirement>>
ID = REQ_06
CC起動中に運転者がブレーキを踏むと、CCを一時休止する
<<derive>>
CC復帰<<Requirement>>
ID = REQ_07
CC一時休止中に運転者が「Resume」ボタンを押すと、一時休止前の設定でCCを再開する
<<derive>>
操作の即応性<<Requirement>>
ID = REQ_12
ドライバが設定すると、CCが1ms以内に応答する
<<derive>><<derive>> <<derive>><<derive>> <<derive>>
操作の容易性<<Requirement>>
ID = REQ_11
ワンタッチでCCを操作できる
<<derive>> <<derive>><<derive>>
車速制限<<Requirement>>
ID = REQ_18
CCの設定車速を50~100km/hに制限する
<<derive>><<derive>> <<derive>>
加速の加速度制限<<Requirement>>
ID = REQ_13
加速は0.35G未満とする
<<derive>> <<derive>>
連続稼働<<Requirement>>
ID = REQ_15
100時間以上、連続稼働する
<<derive>>
ドライバによる運転操作の尊重<<Requirement>>
ID = REQ_16
ドライバによるアクセル操作、ブレーキ操作、ステアリング操作を最優先とする
<<derive>><<derive>>
設定情報の保持<<Requirement>>
ID = REQ_17
設定情報を不正に変更しない
<<derive>>
加減速性能<<Requirement>>
ID = REQ_14
目標速度と20km/h以上の差があるときは、0.080G以上の加速度で加減速する
<<derive>><<derive>>
CC停止(PCS)<<Requirement>>
ID = REQ_09
CC起動中にPCSから停止要求があると、CCを停止する
<<derive>>
加速度の抑制制御<<Requirement>>
ID = REQ_21
加速度が閾値を超えない制御を行う
<<derive>>
<<derive>>
車速の監視<<Requirement>>
ID = REQ_22
車速を監視する
<<derive>>
<<derive>>
CCの緊急停止<<Requirement>>
ID = REQ_23
異常を検知するとCCを緊急停止する
<<derive>>
CC動作状況の監視<<Requirement>>
ID = REQ_24
CCの動作状況を監視する
<<derive>>
uc [パッケージ] Design [UC_CC]
CC
CC停止
目標車速の設定
目標車速の減速
目標車速の加速
CC再開
車速制御<<include>>
<<include>>
<<include>>
<<include>>
CC一時休止
CC起動
車速の監視
<<include>>
<<include>>
<<include>>
CC動作状況の監視
<<include>>
<<include>>
<<include>>
<<include>>CC緊急停止
<<include>>
ドライバドライバ
スロットルスロットル
PCSPCS
対応確認
証跡の追加
D-Case SysML
議論分解
情報抽出
システム要求
設計 仕様
開発の上流工程から下流工程に至るまでの、 D-CaseとSysMLモデルとの一貫した連携
成果
5
D-CaseとSysMLモデルの連携方法のガイドとサンプルの提供
ガイド内容
D-CaseとSysMLのモデリングフロー D-Caseノードの記述スタイル D-CaseとSysMLモデルの情報連携
対象のシステム
自動車の機能安全に関する国際規格ISO26262に準拠する 車載システムへの適用
対象の読者
ディペンダブルなシステムの開発を検討中の開発者
ディペンダブルなシステムの開発に必要な特性
システム要求が ディペンダビリティを満足している
システム要求が ディペンダビリティを満足している
設計仕様が 要求を正確に反映している
設計仕様が 要求を正確に反映している
要件定義要件定義
システム設計システム設計
開発フェーズ開発フェーズ 必要な特性必要な特性
検証結果が ディペンダビリティを満足すること を説明可能である
検証結果が ディペンダビリティを満足すること を説明可能であるシステム検証システム検証
ハードウェア開発ハードウェア開発ソフトウェア開発ソフトウェア開発
7
ディペンダブルなシステムの開発における課題
1
ディペンダビリティを阻害するすべての要因を除去することが可能な 要求を導出する必要がある
3
2
• ディペンダビリティから導出した要求に含まれる設計情報を活用して、 システム設計を行う必要がある
• 導出した設計仕様を、ディペンダビリティから導出した要求と照合し、 過不足なきことを確認する必要がある
要求や設計仕様との関連付けにより、検証結果の位置付けを 明確化する必要がある
システム要求を過不足なく導出することができない
検証結果が要求や設計仕様を どのように満足するか説明することができない
設計仕様を正確に導出することができない
8
par [パッケージ] Design [PAR_車両ブロック]
ブレーキ<<Block>>
Values
Operations
breakPowerTargetbreakPower
CCコントローラ<<Block>>
Values
Operations
powerOFF ccBtnccPower
speed
車速センサー<<Block>>
Values
Operations
speed
アクセル<<Block>>
Values
Operations
accelPowerTargetaccelPower
電子制御スロットル<<Block>>
Values
Operations
pwrthrottleTorque
スロットル アクチュエータ<<Block>>
Values
Operations
pwr
CC操作UI<<Block>>
Values
Operations
ccBtn
加速の加速度制限:a < 0.35G
加減速性能:a > 0.080G
設定車速の制限:
50km/h ≦ vt ≦ 100km/h
<<allocate>>
車速制御<<Block>>
Values
Operations
breakPowerTarget
accelPowerTarget
breakTorque
throttleTorque
ccPower
breakPower
accelPower
<<allocate>><<allocate>>
電子制御ブレーキ<<Block>>
Values
Operations
pwrbreakTorque
ブレーキ アクチュエータ<<Block>>
Values
Operations
pwr
車両力学制御<<Block>>
Values
Operations
pwrspeed
車速のモニター回路<<Block>>
Values
Operations
powerOFF speed
<<allocate>>CC動作状況のモニター回路<<Block>>
Values
Operations
ccBtn
speedpowerOFF
pwr =Kp ( Vp - Vt )+ Ki ∫(Vp - Vt ) dt
<<allocate>>
a = (thrust + drag) / mass
<<allocate>>
thrust = pwr / actualSpeed
<<allocate>>
actualSpeed = ∫a dt + v0
<<allocate>>
drag =
-1/2 * Cd * A
* densityOfAir
* actualSpeed̂ 2
<<allocate>>
セダンの場合mass = 1700 kgワゴンの場合mass = 2500 kg
<<allocate>>
セダンの場合Cd = 0.44ワゴンの場合Cd = 0.50
<<allocate>>
セダンの場合A = 1.8 m̂2ワゴンの場合A = 2.0 m̂2
<<allocate>>
densityOfAir = 1.2 kg/m 3̂
<<allocate>>
req [パッケージ] Design [REQ_CC]
CC<<Requirement>>
ID = REQ_01
車両は運転者を支援する走行制御機能を搭載する
CC起動(Cruise)<<Requirement>>
ID = REQ_02
CC停止中に運転者が「Cruise」ボタンを押すと、CCが起動する
<<derive>>
CC停止(Cruise)<<Requirement>>
ID = REQ_08
CC起動中に運転者が「Cruise」ボタンを押すと、CCを停止する
<<derive>>
目標車速の設定(Set)<<Requirement>>
ID = REQ_03
CC起動中に運転者が「Set」ボタンを押すと、現在の速度を設定値として保持する
<<derive>>
目標車速の減速(Decel)<<Requirement>>
ID = REQ_04
CC起動中に運転者が「Decel」ボタンを押すと、設定値の速度が下がる
<<derive>>
目標車速の加速(Accel<<Requirement>>
ID = REQ_05
CC起動中に運転者が「Accel」ボタンを押すと、設定値の速度が上がる
<<derive>>
CC一時休止<<Requirement>>
ID = REQ_06
CC起動中に運転者がブレーキを踏むと、CCを一時休止する
<<derive>>
CC復帰<<Requirement>>
ID = REQ_07
CC一時休止中に運転者が「Resume」ボタンを押すと、一時休止前の設定でCCを再開する
<<derive>>
操作の即応性<<Requirement>>
ID = REQ_12
ドライバが設定すると、CCが1ms以内に応答する
<<derive>><<derive>> <<derive>><<derive>> <<derive>>
操作の容易性<<Requirement>>
ID = REQ_11
ワンタッチでCCを操作できる
<<derive>> <<derive>><<derive>>
車速制限<<Requirement>>
ID = REQ_18
CCの設定車速を50~100km/hに制限する
<<derive>><<derive>> <<derive>>
加速の加速度制限<<Requirement>>
ID = REQ_13
加速は0.35G未満とする
<<derive>> <<derive>>
連続稼働<<Requirement>>
ID = REQ_15
100時間以上、連続稼働する
<<derive>>
ドライバによる運転操作の尊重<<Requirement>>
ID = REQ_16
ドライバによるアクセル操作、ブレーキ操作、ステアリング操作を最優先とする
<<derive>><<derive>>
設定情報の保持<<Requirement>>
ID = REQ_17
設定情報を不正に変更しない
<<derive>>
加減速性能<<Requirement>>
ID = REQ_14
目標速度と20km/h以上の差があるときは、0.080G以上の加速度で加減速する
<<derive>><<derive>>
CC停止(PCS)<<Requirement>>
ID = REQ_09
CC起動中にPCSから停止要求があると、CCを停止する
<<derive>>
加速度の抑制制御<<Requirement>>
ID = REQ_21
加速度が閾値を超えない制御を行う
<<derive>>
<<derive>>
車速の監視<<Requirement>>
ID = REQ_22
車速を監視する
<<derive>>
<<derive>>
CCの緊急停止<<Requirement>>
ID = REQ_23
異常を検知するとCCを緊急停止する
<<derive>>
CC動作状況の監視<<Requirement>>
ID = REQ_24
CCの動作状況を監視する
<<derive>>
uc [パッケージ] Design [UC_CC]
CC
CC停止
目標車速の設定
目標車速の減速
目標車速の加速
CC再開
車速制御<<include>>
<<include>>
<<include>>
<<include>>
CC一時休止
CC起動
車速の監視
<<include>>
<<include>>
<<include>>
CC動作状況の監視
<<include>>
<<include>>
<<include>>
<<include>>CC緊急停止
<<include>>
ドライバドライバ
スロットルスロットル
PCSPCS
D-Caseによる課題解決開発対象のディペンダビリティを開発の上流工程から 下流工程に至るまで一貫して実現するためD-Caseを活用
1 ディペンダビリティを阻害するすべての要因を 除去することが可能な要求を導出する
D-Caseによる議論分解
2 ディペンダビリティから導出した要求に含まれる 設計情報の活用によりシステム設計を行う
D-Caseからの情報抽出
導出した設計仕様を、ディペンダビリティから導出した 要求と照合し、過不足なきことを確認する
D-Caseと仕様との対応確認
3 検証結果が要求や設計仕様を満足することを説明する D-Case上での証跡の追加
対応確認
証跡の追加
D-Case SysML
議論分解情報抽出
システム要求
設計 仕様
9
アプローチ ~ D-Caseによる議論分解
ディペンダビリティを阻害するすべての要因を抽出し、 その対策をシステム要求として整理する
対策の明確化対策の明確化
原因の明確化原因の明確化
脅威の発生シーンの明確化脅威の発生シーンの明確化
ディペンダビリティへの脅威の明確化ディペンダビリティへの脅威の明確化
D-Caseの議論分解パターンD-Caseの議論分解パターン
1 システム要求を過不足なく導出
10
ディペンダビリティから導出した 要求に含まれる設計情報を抽出し システム設計を行う
導出した設計仕様を ディペンダビリティに基づく要求と 照合し、過不足なきことを確認する
D-Case SysML
機能・非機能要求
システム構成要求
システムの制約 パラメトリック図パラメトリック図
ブロック定義図ブロック定義図
要求図要求図
モデル・シミュレーションモデル・シミュレーション
制約ブロック制約ブロック
ブロックブロック
要求要求
検証条件検証条件検証の条件
設計情報の抽出設計情報の抽出
仕様との対応確認仕様との対応確認
アプローチ ~ D-Caseからの情報抽出と対応確認
2 設計仕様を正確に導出
11
検証結果をエビデンスとしてゴールに関連付け、 関連する要求や設計仕様との整合性を確認する
D-Case SysML
モデル・ シミュレーション
モデル・ シミュレーション 検証結果検証結果
証跡の追加証跡の追加
アプローチ ~ D-Caseへの証跡の追加
3 検証結果と要求や設計仕様との関連性を明確化
12
ディペンダブルなシステムの開発手法 ~ 全体像
D-CaseとSysMLモデリングとの連携によるシステム開発
13
D-Case SysML
要望獲得・商品企画
要件定義
S/W, H/W 開発
システム検証
要件の実現の可否
システム設計
ユースケース図ユースケース図
パラメトリック図パラメトリック図
ブロック定義図ブロック定義図
要求図要求図
内部ブロック図内部ブロック図
ステートマシン図ステートマシン図
機能概要と前提要求機能概要と前提要求
システムの環境
システムの操作 ユースケース
機能・非機能要求
機能・非機能要件
システムの構成要素
構成要素に課した制約 検証結果
検証条件
モデル・ シミュレーション モデル・ シミュレーション
システムの機能 構成要素
構成要素
制約
2. 設計仕様を正確に導出2. 設計仕様を正確に導出
3. 検証結果と要求や設計仕様との関連性を明確化3. 検証結果と要求や設計仕様との関連性を明確化
システム要求を過不足なく導出
システム要求を過不足なく導出
1.
検証結果による保証検証結果による保証
対策の明確化対策の明確化
原因の明確化原因の明確化
脅威の発生シーンの明確化脅威の発生シーンの明確化
ディペンダビリティへの脅威の明確化ディペンダビリティへの脅威の明確化
トップゴールの設定トップゴールの設定
ディペンダブルなシステムの開発フロー
D-Case SysML
要件定義要件定義
トップゴールの設定トップゴールの設定
ディペンダビリティへの脅威の明確化ディペンダビリティへの脅威の明確化
脅威の発生シーンの明確化脅威の発生シーンの明確化
原因の明確化原因の明確化
システム設計システム設計
S/W開発 ・ H/W開発S/W開発 ・ H/W開発
システム検証システム検証
検証結果による保証検証結果による保証
対策の明確化対策の明確化
D-CaseとSysMLとの連携によりディペンダブルなシステムを開発
14
フロー詳細 ~ トップゴールの設定 と ディペンダビリティへの脅威の明確化
D-Case
トップゴールの設定トップゴールの設定
ディペンダビリティの観点に基づきトップゴールと前提を設定
ディペンダビリティの観点からトップゴールを設定し、脅威を大別
ディペンダビリティに着目し システムが満たすべき性質と 前提を設定
ディペンダビリティへの脅威の明確化ディペンダビリティへの脅威の明確化
ディペンダビリティを阻害するすべての脅威を抽出するため大別
脅威を機能不全、ユーザーのミス、 発生していない脅威に大別し、 トップゴールを分解
例. 車載クルーズコントロール(CC)システムの安全性
15
フロー詳細 ~ 脅威の発生シーンの明確化
D-Case SysML
脅威の発生シーンの明確化脅威の発生シーンの明確化 ユースケース図ユースケース図 ユースケース
検証の条件モデル・ シミュレーション モデル・ シミュレーション
脅威を引き起こす操作を明確化システムの置かれた環境を明確化
ディペンダビリティを阻害するすべてのシーンの抽出
脅威を引き起こす操作を基に システムのユースケースを更新
システムの利用者と操作の関係の明確化
システムの置かれた環境を基に 検証シナリオの条件を更新
検証条件の明確化
脅威ごとに発生シーンを明確化し、システムの環境と操作を明確化
CC起動
ドライバドライバ
反映
16
フロー詳細 ~ 原因の明確化 と 対策の明確化
脅威を引き起こす原因を分析し、対策を立案
D-Case
原因の明確化原因の明確化
対策を立てられる粒度に至るまで原因を深堀り
各シーンで脅威を引き起こす 原因を分析
対策の明確化対策の明確化
脅威の原因ごとに対策を システム要求として整理
原因ごとに対策を立案
17
フロー詳細 ~ 要件定義
D-Case SysML
対策の明確化対策の明確化
要求図要求図 機能・非機能要件
機能要求の明確化非機能要求の明確化システム構成要求の明確化構成要素に課された制約の明確化
対策ごとにシステム要求を詳細化
機能・非機能要求を基に要件を更新
システムの機能・非機能要件を明確化
対策を基にシステム要求を明確化し、要件を導出
ユースケースユースケース図ユースケース図
機能要求を基にユースケースを更新システムの利用者と操作の関係
目標車速の設定
目標車速の減速
目標車速の加速
車速制御
<<include>>
<<include>>
<<include>>
車速の監視<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
ドライバドライバ
CC<<Requirement>>
ID = REQ_01
車両は運転者を支援する走行制御機能を搭載する
加速度の抑制制御<<Requirement>>
ID = REQ_21
加速度が閾値を超えない制御を行う
<<derive>>
反映
18
フロー詳細 ~ システム設計
D-Case SysML
対策の明確化対策の明確化構成要素
機能要求の明確化非機能要求の明確化システム構成要求の明確化構成要素に課された制約の明確化
対策ごとにシステム要求を詳細化
システム構成要求を基にブロックを更新
システムのアーキテクチャを明確化
システム要求や要件に基づき設計仕様を明確化
ブロック定義図ブロック定義図
制約
ブロックに課された制約を更新
システムの前提と制約を明確化
パラメトリック図パラメトリック図
反映
内部ブロック図内部ブロック図
1
車速のモニター回路<<Block>>
Values
Operations
1
加速の加速度制限:a < 0.35G
車速制御<<Block>>
Values
Operations
breakPowerTarget
accelPowerTarget breakTorque
throttleTorque
ccPower
breakPower
accelPower
<<allocate>>
19
フロー詳細 ~ 検証結果による保証
D-Case
システム要求を満足することを検証結果により保証
検証結果モデル・ シミュレーション モデル・ シミュレーション
シミュレーション結果の獲得
実行可能なモデルによる システム検証
SysML
検証結果を 証跡として追加
検証結果による保証検証結果による保証
検証結果をエビデンスとしてゴールに関連付け
システム要求を満足することを明示
0
20
40
60
80
100
120
0 5000 10000 15000 20000速
度(k
m/h
)経過時間 (ms)
0.28G MAX
20
本手法を適用するメリット
1. 開発の上流工程から下流工程まで開発の意図を反映し、品質を向上2. D-Caseの情報からモデルを作成可能3. D-Caseが開発プロセスをコントロールし、開発計画の精度を向上
D-Case SysMLによる開発成果物開発プロセス
開発の計画開発の計画
開発の実施
開発の実施
開発のコントロール
開発のコントロール
モデルへの 情報抽出
設計の 意図
要求の 意図
開発計画 に反映
1
23
par [パッケージ] Design [PAR_車両ブロック]
ブレーキ<<Block>>
Values
Operations
breakPowerTargetbreakPower
CCコントローラ<<Block>>
Values
Operations
powerOFF ccBtnccPower
speed
車速センサー<<Block>>
Values
Operations
speed
アクセル<<Block>>
Values
Operations
accelPowerTargetaccelPower
電子制御スロットル<<Block>>
Values
Operations
pwrthrottleTorque
スロットル アクチュエータ<<Block>>
Values
Operations
pwr
CC操作UI<<Block>>
Values
Operations
ccBtn
加速の加速度制限:a < 0.35G
加減速性能:a > 0.080G
設定車速の制限:
50km/h ≦ vt ≦ 100km/h
<<allocate>>
車速制御<<Block>>
Values
Operations
breakPowerTarget
accelPowerTarget
breakTorque
throttleTorque
ccPower
breakPower
accelPower
<<allocate>><<allocate>>
電子制御ブレーキ<<Block>>
Values
Operations
pwrbreakTorque
ブレーキ アクチュエータ<<Block>>
Values
Operations
pwr
車両力学制御<<Block>>
Values
Operations
pwrspeed
車速のモニター回路<<Block>>
Values
Operations
powerOFF speed
<<allocate>>CC動作状況のモニター回路<<Block>>
Values
Operations
ccBtn
speedpowerOFF
pwr =Kp ( Vp - Vt )+ Ki ∫(Vp - Vt ) dt
<<allocate>>
a = (thrust + drag) / mass
<<allocate>>
thrust = pwr / actualSpeed
<<allocate>>
actualSpeed = ∫a dt + v0
<<allocate>>
drag =
-1/2 * Cd * A
* densityOfAir
* actualSpeed̂ 2
<<allocate>>
セダンの場合mass = 1700 kgワゴンの場合mass = 2500 kg
<<allocate>>
セダンの場合Cd = 0.44ワゴンの場合Cd = 0.50
<<allocate>>
セダンの場合A = 1.8 m̂2ワゴンの場合A = 2.0 m̂2
<<allocate>>
densityOfAir = 1.2 kg/m 3̂
<<allocate>>
req [パッケージ] Design [REQ_CC]
CC<<Requirement>>
ID = REQ_01
車両は運転者を支援する走行制御機能を搭載する
CC起動(Cruise)<<Requirement>>
ID = REQ_02
CC停止中に運転者が「Cruise」ボタンを押すと、CCが起動する
<<derive>>
CC停止(Cruise)<<Requirement>>
ID = REQ_08
CC起動中に運転者が「Cruise」ボタンを押すと、CCを停止する
<<derive>>
目標車速の設定(Set)<<Requirement>>
ID = REQ_03
CC起動中に運転者が「Set」ボタンを押すと、現在の速度を設定値として保持する
<<derive>>
目標車速の減速(Decel)<<Requirement>>
ID = REQ_04
CC起動中に運転者が「Decel」ボタンを押すと、設定値の速度が下がる
<<derive>>
目標車速の加速(Accel<<Requirement>>
ID = REQ_05
CC起動中に運転者が「Accel」ボタンを押すと、設定値の速度が上がる
<<derive>>
CC一時休止<<Requirement>>
ID = REQ_06
CC起動中に運転者がブレーキを踏むと、CCを一時休止する
<<derive>>
CC復帰<<Requirement>>
ID = REQ_07
CC一時休止中に運転者が「Resume」ボタンを押すと、一時休止前の設定でCCを再開する
<<derive>>
操作の即応性<<Requirement>>
ID = REQ_12
ドライバが設定すると、CCが1ms以内に応答する
<<derive>><<derive>> <<derive>><<derive>> <<derive>>
操作の容易性<<Requirement>>
ID = REQ_11
ワンタッチでCCを操作できる
<<derive>> <<derive>><<derive>>
車速制限<<Requirement>>
ID = REQ_18
CCの設定車速を50~100km/hに制限する
<<derive>><<derive>> <<derive>>
加速の加速度制限<<Requirement>>
ID = REQ_13
加速は0.35G未満とする
<<derive>> <<derive>>
連続稼働<<Requirement>>
ID = REQ_15
100時間以上、連続稼働する
<<derive>>
ドライバによる運転操作の尊重<<Requirement>>
ID = REQ_16
ドライバによるアクセル操作、ブレーキ操作、ステアリング操作を最優先とする
<<derive>><<derive>>
設定情報の保持<<Requirement>>
ID = REQ_17
設定情報を不正に変更しない
<<derive>>
加減速性能<<Requirement>>
ID = REQ_14
目標速度と20km/h以上の差があるときは、0.080G以上の加速度で加減速する
<<derive>><<derive>>
CC停止(PCS)<<Requirement>>
ID = REQ_09
CC起動中にPCSから停止要求があると、CCを停止する
<<derive>>
加速度の抑制制御<<Requirement>>
ID = REQ_21
加速度が閾値を超えない制御を行う
<<derive>>
<<derive>>
車速の監視<<Requirement>>
ID = REQ_22
車速を監視する
<<derive>>
<<derive>>
CCの緊急停止<<Requirement>>
ID = REQ_23
異常を検知するとCCを緊急停止する
<<derive>>
CC動作状況の監視<<Requirement>>
ID = REQ_24
CCの動作状況を監視する
<<derive>>
uc [パッケージ] Design [UC_CC]
CC
CC停止
目標車速の設定
目標車速の減速
目標車速の加速
CC再開
車速制御<<include>>
<<include>>
<<include>>
<<include>>
CC一時休止
CC起動
車速の監視
<<include>>
<<include>>
<<include>>
CC動作状況の監視
<<include>>
<<include>>
<<include>>
<<include>>CC緊急停止
<<include>>
ドライバドライバ
スロットルスロットル
PCSPCS
21
要件定義要件定義
システム設計システム設計
システム検証システム検証
D-Caseで開発の意図を明確化し、SysMLモデルに反映
D-Case SysMLによる開発成果物
ユースケース図ユースケース図
パラメトリック図パラメトリック図
ブロック定義図ブロック定義図
要求図要求図
内部ブロック図内部ブロック図
ステートマシン図ステートマシン図
ユースケース
機能・非機能要件
検証結果
検証の条件
脅威の発生シーンの明確化脅威の発生シーンの明確化
対策の明確化対策の明確化
ディペンダビリティへの脅威の明確化ディペンダビリティへの脅威の明確化
検証結果による保証検証結果による保証
トップゴールの設定トップゴールの設定
原因の明確化原因の明確化
構成要素
構成要素
制約
モデル シミュレーション
モデル シミュレーション
22
メリット 1. 開発の上流工程から下流工程まで開発の意図を反映し、 品質を向上
要求の要求の 意図意図
設計の意図設計の意図システムの環境
システムの操作
機能・非機能要求
システムの構成要素
構成要素に課した制約
システムの機能
D-Caseに記載された記述を基に、SysMLモデル要素を更新
D-Case SysMLによる開発成果物
ユースケース図ユースケース図
パラメトリック図パラメトリック図
ブロック定義図ブロック定義図
要求図要求図
ユースケース
機能・非機能要件
脅威の発生シーンの明確化脅威の発生シーンの明確化
対策の明確化対策の明確化
構成要素
制約23
メリット 2. D-Caseの情報からモデルを作成可能
システムの環境
システムの操作
機能・非機能要求
システムの構成要素
構成要素に課した制約
システムの機能
加速の加速度制限:a < 0.35G
車速制御<<Block>>
加速度の抑制制御<<Requirement>>
ID = REQ_21
加速度が閾値を超えない制御を行う
CC起動
要件定義要件定義
システム設計システム設計
反映反映
開発に必要なアクティビティの抽出 開発計画の精度向上
作業見積もりの基本となる メトリクスの収集
工数計画の精度向上
D-Case開発プロセス
開発の計画開発の計画
開発の実施
開発の実施
開発のコントロール
開発のコントロール
開発に必要な アクティビティ
開発実績
作業見積りの メトリクス
アクティビティ : 対策の内容
メトリクス : 対策の数
メリット 3. D-Caseが開発プロセスをコントロールし、開発計画の精度を向上
網羅的な対策立案により、開発計画の精度を向上
24
脅威の発生シーンの明確化脅威の発生シーンの明確化
対策の明確化対策の明確化
ディペンダビリティへの脅威の明確化ディペンダビリティへの脅威の明確化
検証結果による保証検証結果による保証
トップゴールの設定トップゴールの設定
原因の明確化原因の明確化
システムの環境
システムの操作
機能・非機能要求
システムの構成要素
構成要素に課した制約
システムの機能
25
本手法の適用を支援するガイド
モデリングガイドとテンプレートを提供
D-CaseとSysMLのモデリングフローD-Caseノードの記述スタイルD-CaseとSysMLモデルの情報連携
モデリングガイド
テンプレート
D-Caseの議論分解パターンとノードの記述SysMLモデルの構造
ガイドのモデリング対象
開発を完了した自動車に搭載される既成システムを 機能安全のISO26262に適合するための差分開発
本手法とISO26262の対応関係
本手法はISO26262の安全ライフサイクルと対応
安全性の観点からトップゴールと前提を設定
安全性を阻害する脅威を大別
安全性を阻害するすべてのシーンを明確化
システムの利用者と操作の関係の明確化
検証条件の明確化
対策を立てられる粒度まで原因を深堀り
対策ごとにシステム要求を詳細化
システムの機能・非機能要件を明確化
システムのアーキテクチャを明確化
システムの前提と制約を明確化
トップゴールの設定トップゴールの設定
ディペンダビリティへの脅威の明確化ディペンダビリティへの脅威の明確化
脅威の発生シーンの明確化脅威の発生シーンの明確化
原因の明確化原因の明確化
対策の明確化対策の明確化
検証結果による保証検証結果による保証
システム要求を満足することを明示
ユースケース図ユースケース図
要求図要求図
ブロック定義図ブロック定義図
パラメトリック図パラメトリック図
モデル・シミュレーションモデル・シミュレーション
実行可能なモデルによるシステム検証
D-Case
3.5 アイテム定義 アイテムの定義
3.5 アイテム定義 アイテムの定義
3.7 ハザード分析とリスク評価 ハザードの識別
3.7 ハザード分析とリスク評価 ハザードの識別
3.8 機能安全コンセプト 機能安全要求に基づく分解
3.8 機能安全コンセプト 機能安全要求に基づく分解
4.6 技術安全要求の仕様 技術安全要求に基づく分解 4.6 技術安全要求の仕様
技術安全要求に基づく分解
4.7 システム設計 検証結果による保証 4.7 システム設計
検証結果による保証
ISO26262 SysML
27
本デモの開発フロー
D-Case SysML
要件定義要件定義
システム設計システム設計
S/W開発 (※)S/W開発 (※)
システム検証システム検証
D-CaseとSysMLを連携してISO26262に準拠するシステムを開発
アイテムの定義
ハザードの識別
機能安全要求に 基づく分解
技術安全要求に 基づく分解
検証結果による 保証
トップゴールの設定トップゴールの設定
ディペンダビリティへの脅威の明確化ディペンダビリティへの脅威の明確化
脅威の発生シーンの明確化脅威の発生シーンの明確化
原因の明確化原因の明確化
検証結果による保証検証結果による保証
対策の明確化対策の明確化
(※) 本デモでは、実行可能モデルによるモデル・シミュレーションを行うものとし、H/W開発は行わない28
ISO26262に基づくD-CaseとSysMLモデリング
対象 D-Case SysML
カテゴリ D-Caseの 構造
ノードの 記述スタイル
D-Caseからの 情報抽出
D-Caseへの 関連付け
ガイド項目 アイテムの定義 達成すべきゴールと 前提の記述
- -
ハザードの識別 システムの操作と 環境の記述
システムの操作と 環境
ユースケース 検証の条件
機能安全要求に 基づく分解
対策を立てられるま で原因を明確化
- -
技術安全要求に 基づく分解
システム要求の 記述
機能・非機能要求 構成要素と制約
ユースケース、要求 構成要素、制約
検証結果による 保証
検証に必要な情報 の記述
制御の条件と処理 検証結果
• 安全ライフサイクル基づくD-Caseの構造• D-Caseとの連携によるSysMLモデリング
モデリングガイドの構成
29
31
ISO26262の安全性要求と信頼性要求
電気電子(E/E)システムの機能不全の振る舞いにより 引き起こされるハザードが原因となる許容できないリスクが無い状態
機能安全のISO26262
安全機能等によりシステムの故障に対してもハザードを 許容可能な範囲に低減可能である
安全性要求
システムが正しく機能する状態を保つ
信頼性要求
機能安全に必要である安全性と信頼性に着目
安全性要求と信頼性要求に分解
32
デモ ~ 開発の対象システム
CC起動後にCCコントローラで演算不具合が発生しても加速度を許容範囲内に抑える制御が可能である
CC起動後に車速センサーの伝送経路に故障が発生してもドライバーの意図と異なる加速をしない
システム
機能
機能不全
ハザード
クルーズコントロール(CC)
ドライバの設定による速度制御
システムの故障または演算不具合
CC起動後、ドライバーの意図より過大な加速度
安全性要求
信頼性要求
CC起動後にドライバーの意図と異なる急加速をしない機能安全要求
前提 開発を完了したシステムを機能安全に適合させる差分開発
D-Case SysML
開発フロー ~ アイテムの定義
要件定義要件定義
システム設計システム設計
S/W開発S/W開発
システム検証システム検証
安全性の観点からトップゴールと前提を設定し、脅威を抽出
アイテムの定義
ハザードの識別
機能安全要求に 基づく分解
技術安全要求に 基づく分解
検証結果による 保証
トップゴールの設定トップゴールの設定
ディペンダビリティへの脅威の明確化ディペンダビリティへの脅威の明確化
脅威の発生シーンの明確化脅威の発生シーンの明確化
原因の明確化原因の明確化
検証結果による保証検証結果による保証
対策の明確化対策の明確化
アイテム定義 ISO26262-3-5対象とするシステムの構成を想定する。
また、システム取り巻く環境や制約、
システムの境界を明確化する。
アイテム定義 ISO26262-3-5対象とするシステムの構成を想定する。
また、システム取り巻く環境や制約、
システムの境界を明確化する。
33
トップゴールの設定開発対象システムが満たす前提要求を明確化開発対象システムが満たす前提要求を明確化
機能概要
クルーズコントロール(CC)は、ドライバの指示を受け、走行制御を行うことで、走行の支援を実現する。
前提要求
• [CY_01] 前機種からの派生開発(差分開発)を行う。 次機種ではISO 26262準拠のため、 機能安全の機能を追加する。
• [CY_02] クルーズコントロール(CC)は安全である。
• [CY_11] クルーズコントロール(CC)は、操作UIに クルーズの起動または停止を行うボタン、 クルーズ復帰と加速開始と加速停止を 指示するボタンで構成される。
• [CY_12] ドライバは、この操作UIとブレーキから CCに指示を送る。
• [CY_13] ドライバは運転中、クルーズコントロールを いつでも指示できる。
• [CY_21] 利用するOSはxx OSとする。34
Cruise Set Accel Decel
操作UIブレーキ
クルーズコントロール(CC) コントローラ
クルーズコントロール(CC) コントローラ
操作信号 ブレーキ信号
スロットルスロットル
車速制御
Resume
モニター 回路
モニター 回路
PCSPCS 停止信号
トップゴール:CCは安全であるトップゴール:CCは安全である
(凡例)
D-CaseD-Case SysMLSysML ISO 26262ISO 26262
ISO26262ISO26262に適合するシステムの性質として安全性に着目しに適合するシステムの性質として安全性に着目し DD--CaseCaseのトップゴールとして設定のトップゴールとして設定
35
トップゴールの設定
D-Caseのトップゴール
ゴールの記述
ゴールは命題の形式で記述する
例「<システム>は<安全>である」
ゴールの記述
ゴールは命題の形式で記述する
例「<システム>は<安全>である」
(凡例)
D-CaseD-Case SysMLSysML ISO 26262ISO 26262
トップゴールの達成に必要な前提要求をコンテキストに抽出トップゴールの達成に必要な前提要求をコンテキストに抽出
36
トップゴールへの前提の関連付け
• [CY_01] 前機種からの派生開発(差分開発)を行う。次機種ではISO 26262準拠のため、機能安全の機能を追加する。
• [CY_02]クルーズコントロール(CC)は安全である。
前提要求
D-Caseのトップゴール 前提要求をコンテキストに関連付け前提要求をコンテキストに関連付け
トップゴール:
CCは安全である
トップゴール:
CCは安全である
機能不全による事故 を起こさない
機能不全による事故 を起こさない
発生していない脅威に 対して被害を少なく抑える 発生していない脅威に
対して被害を少なく抑える
安全性を阻害する脅威の大別
ユーザーのミスによる事故 を起こさない
ユーザーのミスによる事故 を起こさない
ISO 26262 関連部分
差分開発の対象となる機能安全の観点に基づきトップゴールを分解差分開発の対象となる機能安全の観点に基づきトップゴールを分解
37
(凡例)
D-CaseD-Case SysMLSysML ISO 26262ISO 26262
D-Case SysML
開発フロー ~ ハザードの識別
要件定義要件定義
システム設計システム設計
S/W開発S/W開発
システム検証システム検証
安全性を阻害するすべてのシーンを抽出
アイテムの定義
ハザードの識別
機能安全要求に 基づく分解
技術安全要求に 基づく分解
検証結果による 保証
トップゴールの設定トップゴールの設定
ディペンダビリティへの脅威の明確化ディペンダビリティへの脅威の明確化
脅威の発生シーンの明確化脅威の発生シーンの明確化
原因の明確化原因の明確化
検証結果による保証検証結果による保証
対策の明確化対策の明確化
ハザードISO26262-3-7システムの機能不全の振る舞いにより
引き起こされる危害の原因を分析する
ハザードISO26262-3-7システムの機能不全の振る舞いにより
引き起こされる危害の原因を分析する
38
HAZOP分析に基づく脅威の発生シーンの明確化
HAZOP分析でハザードを把握HAZOP分析でハザードを把握
39
HAZOPHAZOP分析により導かれるハザードの発生シーンによりゴールを分解分析により導かれるハザードの発生シーンによりゴールを分解
(凡例)
D-CaseD-Case SysMLSysML ISO 26262ISO 26262
ハザードを反映ハザードを反映HAZOP分析の結果に基づき
D-Caseを分解
HAZOP分析の結果に基づき
D-Caseを分解
ID 制御出力期待値からの逸脱状態
(ガイドワード)シーン ハザード
H_01 CCコントローラ 過大 CC起動後 ドライバーの意図より過大な加速度
H_02 CCコントローラ 不作動 CC起動後のブレーキ時 ドライバーの意図と異なるCC動作
uc [パッケージ] Design [UC_CC]
CC
CC停止
目標車速の設定
目標車速の減速
目標車速の加速
CC再開
車速制御<<include>>
<<include>>
<<include>>
<<include>>
CC一時休止
CC起動
車速の監視
<<include>>
<<include>>
<<include>>
CC動作状況の監視
<<include>>
<<include>>
<<include>>
<<include>>CC緊急停止
<<include>>
ドライバドライバ
スロットルスロットル
PCSPCS
要件定義 ~ ユースケース図と検証条件の更新システムのユーザーと操作の関連をユースケース図に反映し、システムのユーザーと操作の関連をユースケース図に反映し、 検証条件を抽出しテストケースに反映検証条件を抽出しテストケースに反映
ユーザーユーザー
操作操作
40
(凡例)
D-CaseD-Case SysMLSysML ISO 26262ISO 26262
D-CaseD-Case
機能機能に関する記述に関する記述を参照してを参照して ユースケースユースケースをを更新更新
ユースケース図ユースケース図
検証条件として検証条件として 加速度の制約を抽出加速度の制約を抽出
検証条件検証条件
0
20
40
60
80
100
120
0 5000 10000 15000 20000
速度
(km
/h)
経過時間 (ms)ドライバーの意図通りの加速度
D-Case SysML
開発フロー ~ 機能安全要求に基づく分解
要件定義要件定義
システム設計システム設計
S/W開発S/W開発
システム検証システム検証
対策を立案可能な粒度に至るまで原因分析を実施
アイテムの定義
ハザードの識別
機能安全要求に 基づく分解
技術安全要求に 基づく分解
検証結果による 保証
トップゴールの設定トップゴールの設定
ディペンダビリティへの脅威の明確化ディペンダビリティへの脅威の明確化
脅威の発生シーンの明確化脅威の発生シーンの明確化
原因の明確化原因の明確化
検証結果による保証検証結果による保証
対策の明確化対策の明確化機能安全コンセプトISO26262-3-8事前のシステム構成の想定を考慮し、
要求をアーキテクチャに基づいて
コンポーネントに対応する要求に分解する
機能安全コンセプトISO26262-3-8事前のシステム構成の想定を考慮し、
要求をアーキテクチャに基づいて
コンポーネントに対応する要求に分解する
安全目標ISO26262-3-7ハザード分析およびリスクアセスメント結果に基づき、
ハザードを回避するためにシステムが満たすべき
要求を抽出する
安全目標ISO26262-3-7ハザード分析およびリスクアセスメント結果に基づき、
ハザードを回避するためにシステムが満たすべき
要求を抽出する
41
[H_01] CC起動後、ドライバーの意図より過大な加速
度
加速要求が過大
[F_01] CCコントローラによる加速要求の演算の不具
合
操作UIからの目標車速が過大
車速センサーの値が過小
[F_02] CCコントローラによる目標車速の演算の不具
合
[F_03] 車速センサーの故障
FTA分析に基づく脅威の原因の明確化
HAZOP分析で得られたハザードHAZOP分析で得られたハザード
FTAでハザードに至る経路、原因を把握FTAでハザードに至る経路、原因を把握
42
FTAFTA分析により、分析により、ハザーハザードの原因を分析ドの原因を分析
(凡例)
D-CaseD-Case SysMLSysML ISO 26262ISO 26262CCコントローラで演算不具合が発生しても加速度許容範囲内に抑える制御が可能である
機能安全要求の抽出機能安全要求の抽出
ID 制御出力期待値からの逸脱状態
(ガイドワード)シーン ハザード
H_01 CCコントローラ 過大 CC起動後 ドライバーの意図より過大な加速度
H_02 CCコントローラ 不作動 CC起動後のブレーキ時 ドライバーの意図と異なるCC動作
[H_02] CC起動後のブレーキ時、ドライバーの意図と
異なるCC動作
ブレーキ信号が伝達していない
[F_04] CCコントローラによる制御演算の不具合
[F_05] 伝達経路の障害[F_06] ブレーキ信号送信側
の障害[F_07] CCコントローラによ
る受信障害
FTA分析に基づく脅威の原因の明確化FTAFTA分析結果から導出されるハザードの原因によりゴールを分解分析結果から導出されるハザードの原因によりゴールを分解
43
(凡例)
D-CaseD-Case SysMLSysML ISO 26262ISO 26262
FTA分析の結果に基づき
ハザードの原因ごとにD-Caseを分解
FTA分析の結果に基づき
ハザードの原因ごとにD-Caseを分解
• CCコントローラで演算不具合が発生しても 加速度許容範囲内に抑える制御が可能である
機能安全要求機能安全要求
FTA分析から得られるハザードの原因を コンテキストに反映し要求との対応関係を記録
FTA分析から得られるハザードの原因を コンテキストに反映し要求との対応関係を記録
D-Case SysML
開発フロー ~ 技術安全要求に基づく分解
要件定義要件定義
システム設計システム設計
S/W開発S/W開発
システム検証システム検証
対策を基にシステム要求、要件、設計仕様を詳細化
アイテムの定義
ハザードの識別
機能安全要求に 基づく分解
技術安全要求に 基づく分解
検証結果による 保証
トップゴールの設定トップゴールの設定
ディペンダビリティへの脅威の明確化ディペンダビリティへの脅威の明確化
脅威の発生シーンの明確化脅威の発生シーンの明確化
原因の明確化原因の明確化
検証結果による保証検証結果による保証
対策の明確化対策の明確化
技術安全要求ISO26262-4-6コンポーネントごとに配置された要求を、
システムの置かれる環境や制約を加味して
仕様化する
技術安全要求ISO26262-4-6コンポーネントごとに配置された要求を、
システムの置かれる環境や制約を加味して
仕様化する
44
S/W H/WF_01 CCコントローラ 演算(加速要求)不具合 プログラム不具合 6 (中) 1 (小) 5 (中) 30F_02 CCコントローラ 演算(目標車速)不具合 プログラム不具合 3 (小) 1 (小) 1 (小) 3F_03 車速センサー 異常値 故障 9 (大) 5 (中) 1 (小) 45F_04 CCコントローラ 演算(制御)不具合 プログラム不具合 9 (大) 1 (小) 1 (小) 9F_05 伝送経路 異常値 故障 9 (大) 5 (中) 1 (小) 45F_06 ブレーキ 演算(送信)不具合 断線 9 (大) 1 (小) 1 (小) 9F_07 CCコントローラ 演算(受信)不具合 断線 9 (大) 1 (小) 5 (中) 45
ID対策
コンポーネント 故障モード 要因発生の頻度
検知の難易度
影響の深刻度
リスク優先度
[A_01]加速度の抑制制御
[A_03]CCの緊急停止
[A_02]車速のモニター回路
[A_04]CC動作状況のモニター回路
FMEA分析に基づく対策の明確化
対策ごとにD-Caseを分解対策ごとにD-Caseを分解
FMEA分析により対策を検討FMEA分析により対策を検討
FMEAFMEA分析により対策を検討し、システム要求を過不足なく抽出分析により対策を検討し、システム要求を過不足なく抽出
対策をコンテキストに反映し 要求との対応関係を記録
対策をコンテキストに反映し 要求との対応関係を記録
45
uc [パッケージ] Design [UC_CC]
CC
CC停止
目標車速の設定
目標車速の減速
目標車速の加速
CC再開
車速制御<<include>>
<<include>>
<<include>>
<<include>>
CC一時休止
CC起動
車速の監視
<<include>>
<<include>>
<<include>>
CC動作状況の監視
<<include>>
<<include>>
<<include>>
<<include>>CC緊急停止
<<include>>
ドライバドライバ
スロットルスロットル
PCSPCS
要件定義 ~ ユースケース図の更新システム要求を基に、ユーザーと操作の関連をユースケース図に反映システム要求を基に、ユーザーと操作の関連をユースケース図に反映
ユーザーユーザー
操作操作
(凡例)
D-CaseD-Case SysMLSysML ISO 26262ISO 26262
D-CaseD-Case
機能安全機能安全に関する機能に関する機能をを参照し参照し ユースケースユースケースをを更新更新
ユースケース図ユースケース図
ISO 26262 関連部分を更新46
req [パッケージ] Design [REQ_CC]
CC<<Requirement>>
ID = REQ_01
車両は運転者を支援する走行制御機能を搭載する
CC起動(Cruise)<<Requirement>>
ID = REQ_02
CC停止中に運転者が「Cruise」ボタンを押すと、CCが起動する
<<derive>>
CC停止(Cruise)<<Requirement>>
ID = REQ_08
CC起動中に運転者が「Cruise」ボタンを押すと、CCを停止する
<<derive>>
目標車速の設定(Set)<<Requirement>>
ID = REQ_03
CC起動中に運転者が「Set」ボタンを押すと、現在の速度を設定値として保持する
<<derive>>
目標車速の減速(Decel)<<Requirement>>
ID = REQ_04
CC起動中に運転者が「Decel」ボタンを押すと、設定値の速度が下がる
<<derive>>
目標車速の加速(Accel)<<Requirement>>
ID = REQ_05
CC起動中に運転者が「Accel」ボタンを押すと、設定値の速度が上がる
<<derive>>
CC一時休止<<Requirement>>
ID = REQ_06
CC起動中に運転者がブレーキを踏むと、CCを一時休止する
<<derive>>
CC復帰<<Requirement>>
ID = REQ_07
CC一時休止中に運転者が「Resume」ボタンを押すと、一時休止前の設定でCCを再開する
<<derive>>
操作の即応性<<Requirement>>
ID = REQ_12
ドライバが設定すると、CCが1ms以内に応答する
<<derive>><<derive>> <<derive>><<derive>> <<derive>>
操作の容易性<<Requirement>>
ID = REQ_11
ワンタッチでCCを操作できる
<<derive>> <<derive>><<derive>>
車速制限<<Requirement>>
ID = REQ_18
CCの設定車速を50~100km/hに制限する
<<derive>><<derive>> <<derive>>
加速の加速度制限<<Requirement>>
ID = REQ_13
加速は0.35G未満とする
<<derive>> <<derive>>
連続稼働<<Requirement>>
ID = REQ_15
100時間以上、連続稼働する
<<derive>>
ドライバによる運転操作の尊重<<Requirement>>
ID = REQ_16
ドライバによるアクセル操作、ブレーキ操作、ステアリング操作を最優先とする
<<derive>><<derive>>
設定情報の保持<<Requirement>>
ID = REQ_17
設定情報を不正に変更しない
<<derive>>
加減速性能<<Requirement>>
ID = REQ_14
目標速度と20km/h以上の差があるときは、0.080G以上の加速度で加減速する
<<derive>><<derive>>
CC停止(PCS)<<Requirement>>
ID = REQ_09
CC起動中にPCSから停止要求があると、CC停止する
<<derive>>
加速度の抑制制御<<Requirement>>
ID = REQ_21
加速度が閾値を超えない制御を行う
<<derive>>
<<derive>>
車速の監視<<Requirement>>
ID = REQ_22
車速を監視する
<<derive>>
<<derive>>
CCの緊急停止<<Requirement>>
ID = REQ_23
異常を検知するとCCを緊急停止する
<<derive>>
CC動作状況の監視<<Requirement>>
ID = REQ_24
CCの動作状況を監視する
<<derive>>
要件定義 ~ 要求図の更新システム要求を基に、詳細な機能要件と非機能要件を要求図に反映システム要求を基に、詳細な機能要件と非機能要件を要求図に反映
機能要件機能要件
非機能要件非機能要件
D-CaseD-Case
要求図要求図
機能安全機能安全に関するに関する 機能を参照し機能を参照し 要求図要求図をを更新更新
ISO 26262 関連部分を更新47
bdd [パッケージ] Design [BDD_car]
車両<<Block>>
Values
Operations
C Cコ ント ロー ラ<<Block>>
Values
Operations
1
ブレ ーキ<<Block>>
Values
Operations
1
C C操作 UI<<Block>>
Values
Operations
1
車 速セ ンサ ー<<Block>>
Values
Operations
1
車 両力 学制 御<<Block>>
Values
Operation
電 子制 御ス ロ ット ル<<Block>>
Values
Operations
1
スロ ッ トル アク チュ エー タ<<Block>>
Values
Operations
1
P C Sコン トロ ー ラ<<Block>>
Values
Operations
1
前 方障 害物 検知 セ ンサ ー<<Block>>
Values
Operations
1
車速 制御<<Block>>
Values
Operations
1
1
C C動作 状況 のモ ニタ ー 回路<<Block>>
Values
Operations
1
1
ア クセ ル<<Block>>
Values
Operations
1
電 子制 御ブ レー キ<<Block>>
Values
Operations
1
ブ レー キ ア クチ ュエ ータ<<Block>>
Values
Operations
1
車速 のモ ニタ ー 回路<<Block>>
Values
Operations
1
1
システム設計 ~ ブロック定義図の更新システム構成要求を基に、システム・アーキテクチャをブロック定義図に反映システム構成要求を基に、システム・アーキテクチャをブロック定義図に反映
ブロック定義図ブロック定義図
前機種のブロック定義図に前機種のブロック定義図に 技術安全要求の検討技術安全要求の検討によりにより 導出さ導出されたブロックを追加れたブロックを追加
ブロックブロックISO 26262 関連部分を更新
D-CaseD-Case
機能安全に関する機能機能安全に関する機能
48
加速の加速度制限:a < 0.35G
加減速性能:a > 0.080G
車速制御<<Block>>
Values
Operations
breakPowerTarget
accelPowerTarget
breakTorque
throttleTorque
ccPower
breakPower
accelPower
<<allocate>><<allocate>>
電子制御ブレーキ<<Block>>
Values
Operations
pwrbreakTorque
車両力学制御<<Block>>
Values
Operations
pwrspeed
車速のモニター回路<<Block>>
Values
Operations
powerOFF speed
<<allocate>>CC動作状況のモニター回路<<Block>>
Values
Operations
ccBtn
speedpowerOFF
<<alloca
thrust = pwr / actualSpeed
<<allocate>>
drag =
-1/2
* de
* ac
<<allocate>>
セダンの場合mass = 1700 kgワゴンの場合mass = 2500 kg
<<allocate>>
セダンの場合Cd = 0.44ワゴンの場合Cd = 0.50
<<allocate>>
セダンの場合A = 1.8 m 2̂ワゴンの場合A = 2.0 m 2̂
<<allocate>>
densityOfAir = 1.2 kg/m^3
<<allocate>>
システム設計 ~ パラメトリック図の更新安全性要求を基にシステムの制約、関連する値と数式をパラメトリック図に反映安全性要求を基にシステムの制約、関連する値と数式をパラメトリック図に反映
安全性要求から制約の必要性が判明する安全性要求から制約の必要性が判明する パラメトリック図パラメトリック図に制約を追加に制約を追加
パラメトリック図パラメトリック図
制約、値、数式、設計意図制約、値、数式、設計意図
ISO 26262 関連部分を更新
D-CaseD-Case
安全性要求安全性要求
49
ibd [Block] 車速のモニター回路 [IBD_車速のモニター回路]
powerOFFspeed powerOFF
<<flow>>
speed
<<flow>>
車速読み取り1
Attributes
Operations
speed 車速
異常判定1
Attributes
Operations
判定結果車速
異常通知1
Attributes
Operations
powerOFF判定結果
システム設計 ~ 内部ブロック図の更新ブロック内部の構造を内部ブロック図で詳細化ブロック内部の構造を内部ブロック図で詳細化
内部構造内部構造内部構造
50
内部ブロック図内部ブロック図
ブロック定義図と同様に、ブロック定義図と同様に、 DD--CaseCaseの中からシステムのの中からシステムの 構成要素を抽出し、構成要素を抽出し、 ブロック内部ブロック内部のの構造を構造を 詳細化詳細化
ISO 26262 関連部分を更新
車速制御<<Block>>
Values
Operations
1
1
車速 のモニター回 路<<Block>>
Values
Operations
1
システム要求と設計仕様との対応確認
コンテキストコンテキスト
パラメトリック図パラメトリック図
D-CaseD-Case
ブロック定義図のブロックやパラメトリック図の制約をコンテキストに関連付け、ブロック定義図のブロックやパラメトリック図の制約をコンテキストに関連付け、 設計仕様に過不足なきことを確認設計仕様に過不足なきことを確認
加速の加速度制限:a < 0.35G
<<allocate>>車速のモニター回路
<<Block>>
Values
Operations
powerOFF speed
<<allocate>>
制約制約
SWSW開発環境の開発環境のDD--CaseCaseデータ連携機能データ連携機能(*1)(*1) の利用により関連付けの利用により関連付け
ブロック定義図ブロック定義図
ブロックブロック
設計仕様をゴールや設計仕様をゴールや コンテキストと照合し、コンテキストと照合し、 過不足過不足なきなきことを確認ことを確認
51(*1) SW開発環境のD-Caseデータ連携機能 http://www.dependable-os.net/tech/D-Case-OSLC/index.html
S/W開発
stm [Block] AccController [statechart_0]
init
running
cycle1ms
evAccPowerRequest(this->power) to itsArbitrationController
tm(1)/if (this->isWorking) {
double diffVelocity = (this->targetVelocity - this->velocity) / 3.6; // [m/s]this->sumDVelocity += diffVelocity;this->power += Kp * diffVelocity + Ki * this->sumDVelocity;if(this->power > this->maxPower) this->power = this->maxPower;if(this->power < -this->maxPower) this->power = -this->maxPower;
}else {
this->power = 0.0;}
Off
On
Working
evAccSetBtn/set(this->velocity);
evAccAccelBtn/accel();
evAccDecelBtn/decel();
Unset
evAccSetBtn[valid(this->velocity)]/set(this->velocity);
SleepingevAccBreakPedal
evAccResumeBtn
evAccSetBtn/set(this->velocity);
evAccAccelBtn/accel();
evAccDecelBtn/decel();
evAccCruiseBtn
evAccCruiseBtn
evAccOFF
sensoring
evSpeedChanged/this->velocity = params->velocity;
evPowerOFF
ステートマシン図でシステムの動的な振舞を定義し、ソースコードを生成ステートマシン図でシステムの動的な振舞を定義し、ソースコードを生成
ステートマシン図から ソースコードを
自動生成
ステートマシン図から ソースコードを
自動生成
52
ステートマシン図ステートマシン図
D-Case SysML
開発フロー ~ 検証結果による保証
要件定義要件定義
システム設計システム設計
S/W開発S/W開発
システム検証システム検証
システム要求を満足することを明示
アイテムの定義
ハザードの識別
機能安全要求に 基づく分解
技術安全要求に 基づく分解
検証結果による 保証
トップゴールの設定トップゴールの設定
ディペンダビリティへの脅威の明確化ディペンダビリティへの脅威の明確化
脅威の発生シーンの明確化脅威の発生シーンの明確化
原因の明確化原因の明確化
検証結果による保証検証結果による保証
対策の明確化対策の明確化
検証ISO26262-4-8D-Caseの記述に基づく環境や制約やクライテリアと
SysMLモデルにより定義されたコンポーネントの
構造や振る舞いにより検証に必要な情報を提供する
検証ISO26262-4-8D-Caseの記述に基づく環境や制約やクライテリアと
SysMLモデルにより定義されたコンポーネントの
構造や振る舞いにより検証に必要な情報を提供する
53
システム検証
0
20
40
60
80
100
120
0 5000 10000 15000 20000
シミュレーション結果シミュレーション結果
検証結果検証結果 : : クリア!クリア!
速度
(km
/h)
経過時間 (ms)
0.28G MAX
D-CaseD-Case
モデル・シミュレーションモデル・シミュレーションの結果をエビデンスとしてゴールに関連付け、の結果をエビデンスとしてゴールに関連付け、検証結果と要求や設計仕様との関連性を明確化検証結果と要求や設計仕様との関連性を明確化
検証結果が検証結果が関連する要求や設計仕様関連する要求や設計仕様 と整合することを確認と整合することを確認
54
まとめ開発の上流工程から下流工程に至るまで一貫した ディペンダビリティを実現する開発手法とガイドの提供
55
D-CaseとSysMLモデルとの連携により実現 システム要求を過不足なく導出 SW開発環境のD-Caseデータ連携機能の利用により
設計仕様を正確に導出 検証結果と要求や設計仕様との関連性を明確化
D-CaseとSysMLのモデリングフローD-Caseノードの記述スタイルD-CaseとSysMLモデルの情報連携
ガイド
ディペンダブルなシステムの開発