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
© Copyright 2024 ExpyDoc