D-Case

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