2016/12/12

複雑システムの安全設計のための発想法
Safety thinking for complex system design based on STAMP/STPA2016.12.6
会津大学 コンピュータ理工学部
兼本 茂

背景(2) IoT時代の環境変化• 人、モノ、環境の相互作用がより緊密・大規模• 事前に想定した環境での安全設計から、変化する環境下での安全設計へ （外部環境の変化、部分的なシステム更新、新たな利用者の登場など）• 特別な訓練を受けていない人がシステムを使う• 想定外の使い方をされることを想定した安全設計• AI技術など進展で機械の知能化が進み、機械と人間の制御指示のコンフリクトが日常化• 自動化の進展によって人間の能力が低下し、想定外での危機対応能力が低くなる。
• システムの開発体制のアジャイル化、オープン化し安全機能に影響する可能性• 複数の独立企業による共同開発、仕様に記載されない暗黙知、不完全な調達仕様など• インターネットを介した悪意のある攻撃が日常化。セキュリティとセーフティの境界がなくなってくる。
• マスコミやネットを介した批判に応えるという社会への説明責任の増大。第三者による客観的な安全性の評価が重要になってくる。

→人・機械・環境の複雑な相互作用を伴うシステムの安全設計はどうあるべきか？

1

2016/12/12

背景(3)Sec-Seminar(2015.6.18) Lecture by Nancy Leveson

現状の安全分析ツールは、40-65年も昔に開発されたものであり、現代の新しい技術の入った複雑な工学システ
ムの安全分析には限界がある
1940

1950

FMEA

1960

1970

FTA ETAHAZOPCCA
FTA+ETA

コンポーネント故障が事故を引き起こす

1980

1990

2000

2010

2020

コンピュータ制御の導入
複雑さの指数的増大
インターネットの普及
システムの複合化・オープン化
人との共存・協調制御
IoT・AIの導入

コンポーネント間のコミュ
ニケーション・ミスマッチ
が事故を引き起こす

背景(4) Ｓａｆｅｔｙ-ＩＩ／レジリエンス

事実の学習

レジリエンス四つの能
現実への 力対処
危機の可能性の監視
予見

事故の発生

Ｓａｆｅｔｙ-ＩＩ（狭義）• 成功事例からの学習• 日々のパフォーマンス変動の認識、抑制、改善、学習• 危機の可能性の予見

現実への対処、事実の学習、危機の監視までは、多くの組織で行われている。一番難しいのは「可能性の予見」
である（ホルナゲル）

レジリエンス（狭義）• 最低限の機能保持• 残されたリソースの認識・探索と提供タイミング（リソース：利用可能なコンポーネント＋新しい接続）

破局へ
エリック・ホルナゲル他：実践レジリエンスエンジニアリング

22016/12/12

背景(5) 現状の安全分析と将来の期待
 定量的ハザード分析・現状 FTA・ETAと故障率によるPRA（確率論的リスク評価）
 安全解析コードによる予測（構造解析コードによる耐震性評価など）
 課題１：故障率の確からしさ、境界条件の確からしさ 課題2：設計を熟知した専門家が必要
 課題3：人間・組織を含んだ複雑な挙動の分析が難しい 定性的ハザード分析・現状 FTA・ETA・FMEA・HAZOP・CCA 課題1：定性的因果関係の表現の限界、定義したモデルでハザードが決まる
 課題2：人間・組織を含んだ複雑な挙動の分析が難しい 定性的ハザード分析・STAMP・STPAへの期待 抽象化した制御構造図のもとで柔軟な発想ができうる→人間・組織、ソフトウェアを含んだ複雑システムのハザード分析が可能
 より少ないドメイン知識での分析が可能、多様な発想を入れ込める→多様な目でハザードを予見できる（第三者によるレビュー）目的人・機械・環境の複雑な相互作用を伴うシステ
ムの安全設計の一助となる具体策を探る
STAMP/STPAの可能性を、従来法との比較の事例で評価

3

2016/12/12

STAMPとは？
■STAMP （システム理論に基づく事故モデル）：Explanatory Model●System-Theoretic Accident Model and Processes●Three basic constructs: (1) Safety constraints, (2) hierarchical safety control structure,(3) process models■STPA （STAMPによる安全解析法）●System-Theoretic Process Analysis

対象システムを抽象化、階層化した制御構造図と安全制約で、その安全制御構造を理解する■CAST （STAMPによる事故分析法）●Causal Analysis based on STAMP

現在の複雑な組込みシステムでは、ソフトウェアや人間・組織を含むサブシステムやコンポーネントで構成されており、そこに不具合がなくとも，サブシステムやコンポーネントの相互作用によってハザードが発生する。従って、従来型のリスク分析手法では限界がある。

複雑システムの安全性とセキュリティ：創発特性
Emergent properties(arise from complex interactions)
Emergent Property:“The whole is greater than
the sum of the parts”

Process

サブシステムサブシステム

複雑な相互作用に起因する創発的特性

人組織外部環境

サブシステムProcess components interact indirect and indirect ways

Safety and security are emergent properties4

2016/12/12

複雑システムの安全性とセキュリティ：創発特性
Emergent properties(arise from complex interactions)

STAMPモデルによる多様な発想力で想定外のハザードを低減できないか？

システム全体の安全制約

想定外事象による安全制約の乱れ

創発的特性
コンポーネントの安全制約の和≠ システム全体の安全制約

コンポーネントの安全制約

Safety and security are emergent properties

STAMP/STPAの手順
Step-0：制御構造図とアクシデント・ハザード・安全制約の定義。抽象的な機能に着目してトップダウンで階層的な制御モデル、プロセスモデルを作成
Step-1：四つのタイプの非安全制御行為（UCA：Unsafe ControlAction)を抽出(1)Not Provided、 (2)Incorrectly Provided、(3)Provided Too Early, Too Late, or Out of Sequence、(4)Stopped Too Soon, Too Late

Step-2：Control Loopのガイドワードを用いて、UCAごとに、ハザード誘発要因（HCF:Hazard Causal Factor)を分析し、ハザードシナリオを導出
Step-3：安全制約の識別：HCFを制御・除去するためのコンポーネント安全制約を明示化する（階層的な分析）

52016/12/12

Unsafe Control Actionsの分類 (網羅的・排他的)制御行動がオミッションエラー

Not providing causes hazard：
制御行動が行われないNo実施されたかIncorrectly providing(Providing causes hazard)
正しくない制御行動が行われる

No
Yes

正しいか

incorrect

Yes

タイミングはコミッションエラー

Incorrect timing/order causes hazard：
タイミングや順序が正しくない

incorrect

Correct

Stopping too soon/
applying too long causes hazard：
早く止め過ぎるか長く続き過ぎる

持続時間は抜けのないハザードシナリオの発想のために、直観的で誤解のないガイドワードであるべき

providing：
適切な制御行動を提供
Correct

ハザード誘発要因（HCF)のガイドワード②不適切な制御指示・不十分な制御ロジック
・不完全なプロセスモデル
・複数の指示の優先度ミス
・コンピュータの故障
・操作者の介入を受け付けない①不適切な外部指示、条件④不十分なフィードバック
・センサ不動作、遅れ、送信エラー
・計測プロセス不具合
・不正確な計測

Controller

SensorActuator③操作器の不具合
・不動作、遅れ、受信エラー
・制御対象とのミスマッチ⑦プロセスの不具合、劣化

Controlled Process⑤プロセスへの入力の誤り、欠落⑧プロセスからの出力の誤り⑥意図しない、または、範囲外の外乱

62016/12/12

検証用サンプルシステム（化学プラントシミュレータ）運転員による監視・制御機能
機器故障や操作ミスによる「オーバーフローを防ぐ！

緊急停止、緩和制御などのコンピュータ制御ロジック
各種の故障
模擬機能

FTAの結果

タンク１の水が溢れる

流量増加

緊急排水
弁開失敗

人間による開の指示なし

緊急排水弁が故障

安全水
位セン
サが故
障

アラー
ム判定の故障コント
ローラの故障コント
ローラの故障加減弁の故障

水位セ
ンサの故障

通常排水弁が詰まる

7

2016/12/12

Step0: アクシデント、ハザード、安全制約の定義「アクシデント」
タンクー１からの溢水（Water overflow）
ここでは、Tank-2からの溢水は、アクシデントやハザードとは考えない「ハザード」
水位が、アラームレベル（50cm)を超えた状態「安全制約」
水位がアラームレベルを超えた状態にならないこと

Step0: 制御構造図の作成
運転員
（制御室）

安全系コントローラ

安全制御行動
緊急排水
緊急排水

水位の状態

タンクのプロセス
安全系水位センサ

排水弁
水流の強弱

常用系コントローラ

常用系水位センサ

加減弁

運転員
（現場）

緊急排水
通常排水

水位の状
態

タンク
通常注入

8

2016/12/12

Step1: ハザードシナリオとUCAの抽出
制御行動

Not providing
causes hazard

緊急排水をする

UCA-G
ハザードなしUCA-H
UCA-I
緊急時に排水が行 （水位が下がる） 水位が高くなってから 水位が十分に下がりわれない
排水が始められるまで 切っていないのに排水の時間が長いを中止する

ProvidingcauseshazardIncorrect Timing / Stopped Too
OrderSoon / Applied
too long

Step2:ハザード誘発要因（HCF）の抽出
緊急排水失敗G-2:排水命令が出されるが排水弁に伝わらない
H-2:排水命令が出されるが排水弁に伝わるまでが遅い

運転員
G-2:排水命令が出されない（制御室）
G-3:水位を間違って認識する
G-1:人が排水命令を出さない
H-2:排水命令が出されるのが遅い
G-1:人が排水命令を中止させる
I-2:排水命令が勝手に中断される
GHI-2:判定ロジックの間違いコントローラ

排水弁
G-5:排水命令を受け取ったが排水弁が動作しない
H-5:排水弁の動作の遅延

運転員
（現場）

タンク
G-6:人が排水弁を間違って閉める
G-6:人が排水弁を手動で開けない

G-3:水位の状態についてのフィードバックの紛失や間違い
H-3:水位の状態についての安全系水位
フィードバックの遅れ
センサG-4:水位が高くなったことが検出されない
H-4:水位が高くなったことが遅れて検出される

H-5:排水弁が開いてから水位が下がるまで時間がかかる（排水弁の容量不足）

92016/12/12

STAMP/STPAによるHCFとFTAの比較
ＦＴＡの要因ＳＴＰＡの要因

安全水位センサの故障

G-4:水位が高くなったことが検出されない
H-4:水位が高くなったことが遅れて検出される

アラーム判定の故障

GHI-2:判定ロジックの間違いコントローラの故障

G-2:排水命令が出されない
G-3:水位を間違って認識する
H-2:排水命令が出されるのが遅い
I-2:排水命令が勝手に中断される（制御ロジックエラー）

人間による開の指示なし

G-1:人が排水命令を出さない
G-1:人が排水命令を中止させる
G-6:人が排水弁を間違って閉める
G-6:人が排水弁を手動で開けない

緊急排水弁の故障

G-5:排水命令を受け取ったが排水弁が動作しない
H-5:排水弁の動作の遅延
H-5:排水弁が開いてから水位が下がるまで時間がかかる（排水弁の容量不足）

その他（通信系）

G-2:排水命令が出されるが排水弁に伝わらない
H-2:排水命令が出されるが排水弁に伝わるまでが遅い
G-3:水位の状態についてのフィードバックの紛失や間違い
H-3:水位の状態についてのフィードバックの遅れ

Step0:制御構造図（MIT分析）
Human operator
Alert & Alarm

Override theprocess

Computer

Open/close
valves

Plant
Valve
PositonWater levels atTanks #1 and #2

Emergency Valves(EV1)102016/12/12

二つの制御構造図の比較
WG作成(2014)（水位の制御という視点で書いている）（運転員の指示は強調していない）

ナンシー先生が作成したもの（排水弁の制御という視点で書いている）（運転員の指示を強調している）（抽象度が高い）
Human operator
Alert & Alarm

Override theprocess

Water levels at Tanks#1 and #2

Computer
Open/close valves

PlantValve Positon

Emergency Valves(EV1)

分析者の視点で表現できる柔軟さがある。同時に、抽象化（汎化）能力が問われる(Step 1) Unsafe Control Action
Not providing causes
hazardComputer Action
給水弁(SV1)開とドレン弁(EV1)閉Providing causes
hazardIncorrect Timing /Order

水位アラームレベル状
態で、コンピュータが給水弁開とドレン弁閉指示を出す（UCA１）

水位アラームレベル以下になる前に、コンピュータが給水弁開とドレン弁閉指示を出す（UCA１）

Computer Action
水位アラームレベルに達給水弁(SV1)閉とドレン した際、コンピュータが弁(EV1)開給水弁を閉しない、または、ドレン弁を開しない（UCA１）

Human Action
運転員の手動操作の介入（コンピュータ指示に優先）コンピュータ操作が溢水を引き起こしそうな時に、手動操作で介入しない（UCA３）

コンピュータが意図通りに動いている時に、運転員が介入して溢水を引き起こす（UCA4）

Stopped Too Soon /Applied too long

水位アラームレベルに達した後X秒以内に、コンピュータが給水弁を閉しない、または、ドレン弁を開しない（UCA１）

コンピュータが給水弁が完全に閉まる前に指示をやめる、または、ドレン弁が完全に開く前に指示をやめる（UCA2）

コンピュータ操作が溢水を引き起こしそうな時に、手動操作の介入がX秒以上遅れる（UCA３）

誤解により運転員が緊急排水を中断する、または、給水を継続する（UCA５）

11

2016/12/12(Step 2) ハザード誘発要因(1)[UCA2]
コンピュータが給水弁が完全に閉まる前に指示をやめる、または、ドレン弁が完全に開く前に指示をやめる[Scenario 2-1]
コンピュータはバルブ開閉信号を出したので、バルブは指示どうりの状態にあると、コンピュータは思っているバルブの位置情報のフィードバックがないか、間違っていたた
め、開き終わったと勘違いして、開閉指示をやめる(Step 2)ハザード誘発要因(2)[UCA4]
コンピュータが意図通りに動いている時に、運転員が介入して溢水を引き起こす[Scenario 4-1]
コンピュータが適切に制御しているのに、運転員がこれを不十分と誤解する
運転員への、水位に関する間違った情報提示、または、不適切な操作ガイドの提示コンピュータの動作に関する設計を理解していない[Scenario 4-2]
不注意によるコンピュータへの間違った操作介入
操作介入機能の設計ミス（間違えやすい設計）[Scenario 4-3]
運転員の意図的な操作介入（安全マージンを犠牲にした生産効率の向上など）
過負荷やノルマなどのプレッシャー
安全文化の不備

122016/12/12

ハザード誘発要因（HCF)のガイドワード（人間と機械の干渉）⑬不適切な指示、プレッシャー
・過負荷、ノルマの要求
・安全文化の欠如

Human operator⑩不適切なフィードバック
・不適切な情報提示による間違い・情報なし、認識遅れ
・他のタスクに気を取られ気づかない⑨不適切な指示・間違った指示、指示遅れ
・別の機器を操作・操作方法がわからない・コンピュータの誤動作に気づかない

Computer⑪不適切な操作・対象機器の取り違え
・間違った操作・直接操作できない設計

Actuator

Sensor⑫不適切な状況把握
・対象機器の取り違え
・状況認識の間違い

Controlled Process

複雑な状況下でのハザード分析における従来の故障解析法の限界とSTAMP/STPAの可能性
複雑な状況下でのハザードを第三者の目で予見できる！

13

2016/12/12

まとめ
レジリエンス四つの能力
現実への対処
事実の学習

危機の監視

可能性の予見現実への対処、事実の学習、危機の監視までは、多くの組織で行われている。一番難しいのは「可能性の予見」である（ホルナゲル）→発想法としてのSTAMPの事例研究■複雑システムの危機の可能性の予見■想定外の事象を予見できる論理的な発想力■異なる立場で見る発想の転換■過去の事例の抽象化（汎化・正則化）による類推■STAMPモデルによる事象の分析は、発想力、論理的な説明力
で、従来のリスク分析法にない優れた視点を与えてくれる14