システム理論に基づくアクシデントモデルSTAMP:よりぬきSEC journal(2/3 ページ)
情報処理推進機構のソフトウェア高信頼化センター(IPA/SEC)が発行する「SEC journal」から注目の話題を紹介。今回はIoT(モノのインターネット)を活用したソフトウェア開発で必須になるとみられているアクシデントモデル「STAMP(Systems-Theoretic Accident Model and Processes)」だ。
2.安全性解析手法STPA
STAMP自身は分析手法ではなく、アクシデントを説明するモデルである。STAMPをベースとする、解析の道具立てやプロセスが幾つか提案されており、STPAはその一つでシステム開発を行う際などに用いるハザード分析手法である。
従来からハザード分析手法としては、強力でデファクトスタンダードとも言える手法のFTA(Fault Tree Analysis)、FMEA(Failure Mode and Effect Analysis)、HAZOP(HAZard and OPerability study)がある。それら従来手法とSTPAを比較すると表1のようになる。STPAは、複雑なシステムの「ソフトウェアの要求・設計ミス」を識別するのに適したものとされている。
3.STPAの手順
STPAでは、Step0(前準備)でシステムが安全を実現する大まかな構造を分析した後、Step1でハザードに至るシナリオを、Step2でハザードの詳細要因を分析する。
Step0:(準備1)アクシデント、ハザード、安全制約の識別
対象システムにおいて分析対象となる、アクシデント、ハザード(アクシデントが潜在している具体的な状態)を定義し、ハザードを制御するためのシステム上の安全制約を識別する。
Step0:(準備2)コントロールストラクチャーの構築
システムにおいて、安全制約の実現に関係するコンポーネント(サブシステム、機器、組織等)、及び、コンポーネント間の相互作用(コントロールアクション、フィードバックデータ)を分析し、制御構造図(コントロールストラクチャー図:Control Structure Diagram。以下、コントロールストラクチャー)を構築する。
Step1:非安全なコントロールアクション(UCA)の抽出
コントロールストラクチャーから、安全制約の実行に必要なコントローラーによる指示すなわちコントロールアクションを識別し、4種類のガイドワードを適用して、ハザードにつながる非安全なコントロールアクション(Unsafe Control Action:UCA)を抽出する。
Step2:ハザード要因(HCF)の特定
Step1で抽出した非安全なコントロールアクションごとに、関係するコントローラーと被コントロールプロセスを識別して、コントロールループ図を作成し、ガイドワードを適用してハザード要因(Hazard Causal Factor:HCF)を特定する。とくに、ソフトウェアや人間に起因する要因として、コントローラーの想定するプロセスモデルが、実際のプロセスの状態と矛盾することで起きる要因を特定する。
Step1のUCA抽出において、想定外を排除するためのヒントとなるガイドワードが与えられている。
- (与えられないとハザード:Not Providing)安全のために必要とされるコントロールアクションが与えられないことがハザードにつながる。
- (与えられるとハザード:Providing causes hazard)ハザードにつながる非安全なコントロールアクションが与えられる。
- (早過ぎ、遅過ぎ、誤順序でハザード:Too early/too late, wrong order causes hazard)安全のためのものであり得るコントロールアクションが、早過ぎて、遅過ぎて、または順序通りに与えられないことでハザードにつながる。
- (早過ぎる停止、長過ぎる適用でハザード:Stopping too soon/applying too long causes hazard)(連続的、または非離散的なコントロールアクションにおいて)安全のためのコントロールアクションの停止が早過ぎる、若しくは適用が長過ぎることがハザードにつながる。
Copyright © ITmedia, Inc. All Rights Reserved.