前節までに複合要因を考慮すべきと繰り返し説明してきた。では、どうやって複合要因を見つけるのか?
創発的要因、複合要因の特定は分析者の自由な発想や対象ドメイン有識者の勘と経験に任される。「ここまで来て、突き放すような説明」と思われるかもしれないが、STPAは自由な発想を引き出すためのヒントを提供している、ということである。
第3のステップまでは、ドメイン知識は無くともSTPAに慣れた技術者が担当すると効果的で、第4のステップにはドメインの専門家が加わることが好ましい。
第4のステップについて補足する。
2013年に発行されたSTPA Primerではこのステップのタイトルが「HCF(ハザード誘発要因)の特定」であったが、2018年に発行されたSTPA Handbookでは「損失シナリオの識別」に表現が変わった。そのため、人によっては「新しいSTPAではHCFを特定せずに損失シナリオを作成するように変わった」と受け止めるかもしれないが、両書籍の同ステップに使われている説明の図/文言を見比べていただければ、ほぼ(コピペのように)同じ部分が多いことに気付かれると思う。違いは、「HCF」という単語とHCFの表(と誤解されそうな表)を使うのを止めたことと、複合要因を考慮することの必要性/重要性を強調していることである。個々のHCFに分析の主眼を置いてしまう、という勘違いを避けるためであろう。HCFの表を使って個々の詳細な要因洗い出しを始めて、その単一要因群だけを考慮するのではFMEAと同じであると説いている。
STAMP広場に掲載されているコラム、STPA分析でのHCF(ハザード因果要因)からLS(損失シナリオ)への変遷の理由(2025年10月19日、兼本茂氏)で丁寧に解説されている。
損失シナリオ識別において、システムの潜在的な欠陥(個々の詳細な要因)を全て取り上げて、UCAにつながるかどうかを確認しようとすること(基本的にFMEAで使用されているプロセス)は、複雑なシステムでは絶望的と言って良い。かといって、何の準備もなく思い付きだけでいきなり損失シナリオを列挙しようとするのもあまりに見落としが多く不完全なものとなる。
STPAの損失シナリオ識別では、ハザード、UCAとそのコンテキスト上の要因から始めて、それから後方に向かって潜在的な原因を識別する。それでも非常に手間がかかるかもしれないが、誤りを起こす可能性のある全ての個々の詳細要因を識別し、それがUCAにつながるかどうかを調べる努力よりは桁違いに小さくなるはずである(このまとめ文言はSTPA Handbookから引用し、少し追記した)。
STAMP/STPAの手順には4つのステップがある。本連載ではSTPA Handbookに多く記載された勘所、注意事項から各ステップについて幾つかの項目をピックアップして解説した。本連載記事を読まれて、STPA Handbookにはそういうことが書かれていたのか、と気付かれたらぜひSTPA Handbook(特に第2章)、IPAの「はじめてのSTAMP」シリーズ(特に入門編の第2章、第4章)を読み直してほしい。ただ、いずれも多くの勘所や注意事項が記載されているので、一度読破して全てを理解するのは難しいことも覚悟する必要があるだろう。
両書籍に記載された説明を理解するには、いかに丁寧に読むかというよりも経験がものをいうと考えている。これは、STAMPがそれほど難しいと言っているのではない。STAMPに限らずFTAやFMEAについても、真に有効な分析結果が得られるようになるまでに皆さまが体験してきたことと同じだと思う。焦らずにSTAMP/STPAの経験を重ね、真に有効な分析ができるようになっていただけることを切に願うものである。(連載完)
石井 正悟(いしい しょうご)
京都大学理学部卒業後、東芝にてOSカーネル、仮想計算機、システム高信頼化技術、システムシミュレーション技術の研究開発に携わる。その後IPAにて、STAMP、FRAMなどの安全性解析手法の調査研究に従事。STAMP普及促進のため、書籍「はじめてのSTAMP」シリーズ発行、STAMP支援ツール「STAMP Workbench」開発や各種教材作成などを担う。現在はIPA専門委員としてSTAMP普及活動に関わる。
非安全なコントロールアクション「UCA」の書き方
STPAの第2ステップで肝となる「CS図」は物理モデルではない
STAMP/STPAとは何か
STPAの手順を理解する
STPAの分析を実際にやってみるCopyright © ITmedia, Inc. All Rights Reserved.
組み込み開発の記事ランキング
コーナーリンク