(前NTTデータ フェロー システム科学研究所長)山本 修一郎
ISO 26262における安全性ケース[1]
ISO_26262のパート10では、機能安全についてのガイドラインを解説している。このガイドラインの5.3節の題目は「安全性ケースについて理解する」となっていて、安全性ケースについて紹介している。
安全性ケースを記述する手法として、GSNとCAE(Claims-Argument-Evidence)があると述べている。安全性の議論には、開発対象システムとしてのプロダクトについて実施される議論と、システム開発やアセスメントのプロセスについての議論があるとしている。
また、安全性ケースの開発ライフサイクルは、安全性ライフサイクルと統合された反復的な活動として扱う必要があると指摘している。
自動車の機能安全性確認に対する事例研究
Wagnerらによる安全性ケースを自動車の機能安全に適用した事例[2]では、安全性ケースを既存の車載ソフトウェアのモデルを対象にしている。具体的には、MAN Nutzfahrzeuge AG社の商用トラックの走行制御コンポーネントに適用することにより、汎用的な安全性ケースのアーキテクチャと再利用パターンを明らかにしている。
ちなみに、MAN Nutzfahrzeuge AG社がどんな会社か調べるために、ホームページ[3]を探して見てみると、レーダーセンサーを使って先行車両の後方を追尾する適応走行制御(Adaptive_Cruise_Control)の技術が紹介されている[4]。
以下では、Wagnerらによる安全性ケースの作成方法を紹介する。
モデルベース開発における安全性ケースの利用法
Wagnerらは、以下のようにして安全性ケースをモデルベース開発と組合せている。
(1)対象システムのアーキテクチャに従って安全性ケースをモジュール化
(2)開発モデルに基づいて安全性ケースの情報と要求を作成
(3)安全性ケースによって生成される前提に基づいて開発モデルを作成
この手法では、安全性ケースを対象システムのアーキテクチャに基づいてトップダウンで展開できる。これは、アーキテクチャによる安全性要求の分解パターンである。このとき、システム開発モデルの成果物を安全性ケースのコンテクストに関係づける。また、安全性ケースとシステム開発モデルに対して構造が対応するようにするために、安全性要求を下位コンポーネントに対応付けて展開している。
システム開発モデルを使用することで、議論の根拠を与えることができる。システム開発モデルではソフトウェアコンポーネントの機能やタスクとバススケジュールの仕様を定義しているので、これらに対応するように、安全性ケースを作成すれば、安全性ケースの構造は妥当であるという根拠になる。
図1 モデルベース開発における安全性ケース
安全性ケースアーキテクチャ
安全性ケースをシステムアーキテクチャに対応付けるために、安全性ケースを表1に示すようなアーキテクチャを用いてモジュール化できる。
この表では、縦軸に水準、横軸にプロダクト、環境・ユーザー、プロセスを配置している。
水準には、機能を論理的に定義する概念水準、機械要素と電子要素を統合する統合水準、機械・ソフトウェア・電子回路へ機能を分解する機能水準がある。プロダクトに対して、この3水準ごとに安全性を議論するための安全性ケースモジュールを作成することになる。このとき、環境・ユーザーとの相互作用を確認し、ユーザーの振る舞いについての仮定(運転手の反応時間など)や環境条件(道路の傾斜、路面状況、風速など)を記述するために、環境・ユーザーに関する安全性ケースモジュールを作成する。
このように、環境・ユーザーについての安全性ケースをモジュール化しておけば、他の類似するプロダクトに対しても再利用できる可能性がある。
また、開発プロセスに対してもプロダクトと同様に、安全性ケースを水準ごとにモジュール化して作成することができる。ただし文献[2]では、プロセスに対する安全性ケースについては具体的な内容について述べていない。
走行制御システムに対する機能レベルに対する、安全性ケースモジュールの構成内容と分析対象を表2に示す。機械モジュールでは、機械部分について温度境界、機械部品の位置などを論証する。このとき、CADモデル、評価基準について分析する。
電子回路モジュールでは、電子回路の妥当性、障害回復性について論証する。このとき、センサ信号と、機能への信号伝達の妥当性について分析する。
配置モジュールでは、ソフトウェアを配置する物理的対応関係について論証する。このとき、実行基盤への欠陥の影響について分析する。
ソフトウェアモジュールでは、ソフトウェアの正当性について論証するこのとき、走行制御器、FPGAが実行するソフトウェア機能をSimlink/TargtetLinkモデルによる検査や形式検証を実施する。
供給部品モジュールでは、サプライヤが提供する部品の要求ならびに製品への統合について論証する。供給部品については内容が暗箱(ブラックボックス)化されているので、暗箱安全性ケースモジュールによる分析を実施する。
表1 安全性ケースアーキテクチャ
表2 機能レベル安全性ケースモジュールの構成
安全性ケースのトップダウン作成手法
Wagnerらによる安全性ケースの作成手法の手順は、図2に示すようなトップダウン論証プロセスである。 まず、対象システムのハザードを識別する。
続きは本誌でご覧頂けます。→本誌を購入する
ご購入のお申込みは電話(03-3507-0560)でも承っております。
- 60:要求とアーキテクチャ
- 61:要求と保守・運用
- 62:オープンソースソフトウェアと要求
- 63:要求工学のオープンな演習の試み
- 64:Web2.0と要求管理
- 65:ソフト製品開発の要求コミュニケーション
- 66:フィードバック型V字モデル
- 67:日本の要求定義の現状と要求工学への期待
- 68:活動理論と要求
- 69:ビジネスゴールと要求
- 緊急:今、なぜ第三者検証が必要か
- 71:BABOK2.0の知識構成
- 72:比較要求モデル論
- 73:第18回要求工学国際会議
- 74:クラウド時代の要求
- 75:運用要求定義
- 76:非機能要求とアーキテクチャ
- 77:バランス・スコアカードの本質
- 78:ゴール指向で考える競争戦略ストーリー
- 79:要求変化
- 80:物語指向要求記述
- 81:要求テンプレート
- 82:移行要求
- 83:要求抽出コミュニケーション
- 84:要求の構造化
- 85:アーキテクチャ設計のための要求定義
- 86:BABOKとREBOK
- 87:要求文の曖昧さの摘出法
- 88:システムとソフトウェアの保証ケースの動向
- 89:保証ケースのためのリスク分析手法
- 90:サービス保証ケース手法
- 91:保証ケースのレビュ手法
- 92:要求工学手法の再利用
- 93:SysML要求図をGSNと比較する
- 94:保証ケース作成上の落とし穴
- 95:ISO 26262に基づく安全性ケースの適用事例
- 96:大規模複雑なITシステムの要求
- 97:要求の創造
- 98:アーキテクチャと要求
- 99:保証ケース議論分解パターン
- 100:保証ケースの議論分解パターン[応用編]
- 101:要求発展型開発プロセスの事例
- 102:参照モデルに対する保証ケース
- 103:参SEMATの概要
- 104:参SEMATの活用
- 105:SEMATと保証ケース
- 106:Assure 2013の概要
- 107:要求の完全性
- 108:要求に基づくテストの十分性
- 109:システムの安全検証知識体系
- 110:機能要求の分類
- 111:IREB
- 112:IREB要求の抽出・確認・管理
- 113:IREB要求の文書化
- 114:安全要求の分析
- 115:Archimate 2.0のゴール指向要求
- 116:ゴール指向要求モデルの保証手法
- 117:要求テンプレートに基づく要求の作成手法
- 118:ビジネスゴールのテンプレート
- 119:持続可能性要求
- 120:操作性要求
- 121:安全性証跡の追跡性
- 122:要求仕様の保証性
- 123:システミグラムとドメインクラス図
- 124:機能的操作特性
- 125:セキュリティ要求管理
- 126:ソフトウェアプロダクトライン要求
- 127:システミグラムと安全分析
- 128:ITモダナイゼーションとITイノベーションにおける要求合意
- 129:ビジネスモデルに基づく要求
- 130:ビジネスゴール構造化記法
- 131:保証ケース導入上の課題
- 132:要求のまとめ方
- 133:要求整理学
- 134:要求分析手法の適切性
- 135:CROS法の適用例
- 136:保証ケース作成支援ツールの概要