D-CaseとSysMLとの連携による ディペンダブルな …...1.概要...

56
D-CaseとSysMLとの連携による ディペンダブルなシステムの開発 デモ資料

Transcript of D-CaseとSysMLとの連携による ディペンダブルな …...1.概要...

D-CaseとSysMLとの連携によるディペンダブルなシステムの開発

デモ資料

2

目次

1. 概要

2. D-CaseとSysMLとの連携による ディペンダブルなシステムの開発手法

3. 本手法の適用例 ~ ISO26262に準拠した車載システムの開発 ~

3

概要

目的とアプローチ

目的

ディペンダビリティを備えるシステムの開発を実現

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に準拠する 車載システムへの適用

対象の読者

ディペンダブルなシステムの開発を検討中の開発者

6

D-CaseとSysMLとの連携による ディペンダブルなシステムの開発手法

ディペンダブルなシステムの開発に必要な特性

システム要求が ディペンダビリティを満足している

システム要求が ディペンダビリティを満足している

設計仕様が 要求を正確に反映している

設計仕様が 要求を正確に反映している

要件定義要件定義

システム設計システム設計

開発フェーズ開発フェーズ 必要な特性必要な特性

検証結果が ディペンダビリティを満足すること を説明可能である

検証結果が ディペンダビリティを満足すること を説明可能であるシステム検証システム検証

ハードウェア開発ハードウェア開発ソフトウェア開発ソフトウェア開発

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に適合するための差分開発

26

本手法の適用例

~ 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

30

モデリングガイドに基づき作成したD-Caseの概要

ISO26262関連部分とそれ以外にゴールを分解して詳細化

ISO 26262 関連部分ISO 26262以外

の部分

上位階層

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モデルの情報連携

ガイド

ディペンダブルなシステムの開発

END OF PACKAGE

56