先月、IPAからSTAMP/STPAを支援するモデリングツールSTAMP Workbenchが公開されました。詳細は下記記事にあります。
今回このSTAMP Workbenchをつかってシステムのハザード分析を試してみようと思います。題材として白羽の矢が立ったのは国民的アニメ『アンパンマン』です。
アンパンマンの大まかなストーリーは下記になります。
ハザード分析の実行
STAMP WorkbenchのGUIは下のような感じです。
まず先程書いたアンパンマンの典型的なストーリーを前提条件表に記述します。
次に、この前提条件表を見ながら、アクシデント・ハザード・安全制約を考えていきます。今回については『アクシデント=上記ストーリー通りに話が進まなくなるようなトラブル』と定義します。ハザードは、アクシデントを発生させる要因で、安全制約はハザードを否定する内容となっています。これを下表のように作成します。
続いて、前提条件表とアクシデント・ハザード・安全制約を見ながら今回の登場人物の抽出を行います。上記情報から今回のハザード解析に関係する人物は
・カバ男
・バタ子
これは総勢5名となります。
さらにそれぞれの登場人物の役割・行動内容(コントロールアクション:CA)を下表のように記述します。
この表の内容からコントロールストラクチャー図が自動生成されます。
ただ、自動生成されただけの状態だと矢印が重なったりして煩雑ですので、手動で見栄えがよくなるように修正しています。これで今回のストーリーの登場人物やその影響内容、つまるところ今回の対象としている『システム』が一望できるようになります
次にUCA(Unsafe Control Action)を抽出します。コントロールアクションのうち、ハザードに繋がる可能性があるものを検討します。各コントロールアクションと、4つのガイドワードで代表される状況を想像し、ハザードに繋がるものについて記述します。ガイドワードは下の4つになります。
・Not Providing
・Providing causes hazard
・Too early/Too late
・Stop too soon/Applying too long
各コントロールアクションについてUCAを抽出したものが下記になります。
次に、先程抽出したUCAについてハザード誘発要因(HCF:Hazard Causal Factor)を特定します。例えばあるコントロールアクション(ここではバイキンマンがカバ男を『いじめる』)をコントロールストラクチャー図上で選択すると、関係する系のみが描かれたコントロールループ図が自動生成されます(下記)
また、各UCAについてHCF(どういう要素があればハザードに繋がるか?)を検討していきます。その結果が下表になります。
最後に、検討したHCFから、安全対策を検討していきます。
これによってハザード分析が完了しました。下表がその例になります。
使用してみての所感
ソフトウェア自体の使い勝手はかなり良いと感じました。他のモデリングツールと比較して動作も機敏に感じます。またエクセルや画像へのエクスポート機能が充実しているのも良いと感じます(レポート生成機能は無く残念でした)。STAMP/STPA自体は自分がまだ慣れていない部分がありイマイチしっくり来ていない状況です(システム的にアプローチできた実感が沸かない)
また何回か例を試してハザード分析をしてみたいと思います。