Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Booth presentationET/IoT West2017
STAMP/STPAチュートリアル(入門編)
仙台高等専門学校
岡本圭史
Booth presentationET/IoT West2017
概要•入門者を対象としたSTAMP/STPAチュートリアル
• (時間のある限り)実際に手と頭を動かして分析を体験
• [I]の手順を基に [T]3章の方法を加えて系統的に解説
• [T]の事例(列車ドア自動開閉システム)を分析
•参考資料• [I] はじめてのSTAMP/STPA, IPA (2016)
• [M] An STPA Primer Version 1, MIT (Aug.2013, updated Jun.2015)
• [T] Extending and Automating a System-Theoretic Hazard Analysis for Requirements Generation and Analysis, John Thomas, PhD. Thesis MIT (2013)
2
Booth presentationET/IoT West2017
本発表におけるSTPAの手順[I]
3
Step0 準備1: アクシデント, ハザード, 安全制約の識別
Step0 準備2: コントロールストラクチャーの構築
Step1: UCA(Unsafe Control Action)の抽出
Step2: CF(Causal factor)の特定
STPAの手順[I]
Step1, Step2に関しては[T]Chapter3の方法を採用
Booth presentationET/IoT West2017
Step0準備1の概説
4
出典:[I] pp.15,表 4.2-1 手順:Step0 準備1アクシデント、ハザード、安全制約の識別
作業名称 アクシデント、ハザード、安全制約の識別
目的 アクシデントを定義する安全制約を導き出す
入力 ① 要求仕様書② [ドメイン専門家]
処理 ① 分析しようとするアクシデントが何であるかを定義する② アクシデントと成り得るハザードには何があるかを考える③ ハザードの裏返しとなる程度の粒度で安全制約を導き出す
出力 ① アクシデント、ハザード、安全制約の一覧表
備考 ・アクシデント:喪失(Loss)を伴うシステムの事故・ハザード:アクシデントにつながるシステムの状態・安全制約:システムが安全に保たれるために必要なルール例えば、踏切制御システムにおいて。踏切がいつまでも開かないのは、サービス利用者・提供者に経済的損失を与えたり、精神的苦痛を与えることになることもあるが、人の生命に関わる事柄に焦点を絞ったときには『アクシデントではない』と定義できる。
参考:[M]pp.23, Establishing the System Engineering Foundation
Booth presentationET/IoT West2017
定義:アクシデント・ハザード• アクシデント([M]pp.23)
• 望まれない・計画されていないイベントで,ロスへ至るもの
• ロス:人命が失われる,人が負傷する,環境汚染,ミッション失敗等
• ハザード([M]pp.25)• システムの状態または条件の集まり• 最悪の環境条件の下で,アクシデントへ至る
• 例([M]pp24, Table 1: Examples of accidents and hazards) • アクシデント:乗客が列車から落ちる• ハザード1:列車が動いているのにドアが開く• ハザード2:誰かが扉口にいるのにドアが閉じる
5
Booth presentationET/IoT West2017
演習0-1:アクシデントは?
6
ロスは?人命が失われる,人が負傷する…
• アクシデント:望まれない・計画されていないイベントで,ロスへ至るもの
• ハザード:システムの状態または条件の集まり,最悪の環境条件の下で,アクシデントへ至る
電車ドア開閉システム
[T] 2.2.2.3 STPA Hazard Analysis
• アクシデントは?• A-1:???
• A-2:???
• A-3:緊急時に列車内に閉じ込められる(H-1,H-3)
Booth presentationET/IoT West2017
演習0-1:アクシデントの例
7
ロスとして,金銭や社会的信用を含めることで,「平常時に駅停車中に列車内に閉じ込められる」もアクシデントとなる.
• アクシデント:望まれない・計画されていないイベントで,ロスへ至るもの
• ハザード:システムの状態または条件の集まり,最悪の環境条件の下で,アクシデントへ至る
電車ドア開閉システム
[T] 2.2.2.3 STPA Hazard Analysis
• アクシデントは?• A-1:列車から降りるときに負傷(H-2)
• A-2:閉まるドアに当たる(H1)
• A-3:緊急時に列車内に閉じ込められる(H-1,H-3)
Booth presentationET/IoT West2017
演習0-1:ハザードは?
8
• アクシデント:望まれない・計画されていないイベントで,ロスへ至るもの
• ハザード:システムの状態または条件の集まり,最悪の環境条件の下で,アクシデントへ至る
電車ドア開閉システム
• アクシデントは?• A-1:列車から降りるときに負傷(H-2)• A-2:閉まるドアに当たる(H1)• A-3:緊急時に列車内に閉じ込められる(H-1,H-3)
•ハザードは?• H-1:???• H-2:???• H-3:緊急時なのに,旅客あるいは乗務員が列車外へ出られない(A-3)
[T] 2.2.2.3 STPA Hazard Analysis
Booth presentationET/IoT West2017
演習0-1:ハザードの例
• アクシデントは?• A-1:列車から降りるときに負傷(H-2)• A-2:閉まるドアに当たる(H1)• A-3:緊急時に列車内に閉じ込められる
(H-1,H-3)
• ハザードは?• H-1:ドア付近に人がいるのに,ドアが閉まる(A-2,A-3)
• H-2:列車が走行中あるいは駅にいないのに,ドアが開く(A-1)
• H-3:緊急時なのに,旅客あるいは乗務員が列車外へ出られない(A-3)
9
• アクシデント:望まれない・計画されていないイベントで,ロスへ至るもの
• ハザード:システムの状態または条件の集まり,最悪の環境条件の下で,アクシデントへ至る
電車ドア開閉システム
今回は「平常時に駅停車中に列車内に閉じ込められる」はアクシデントではないので,「平常時に駅停車中にドアが開かない」はハザードではない.
[T] 2.2.2.3 STPA Hazard Analysis
Booth presentationET/IoT West2017
Step0準備2の概説
10
出典:[I]pp.17,表 4.3 1 手順:Step0 準備2コントロールストラクチャーの構築
参考:[M]pp.28 Functional Control Structure
作業名称 コントロールストラクチャーの構築
目的 登場人物間の依存関係を制御構造図で表す。制御主体と制御対象の間で行われる制御(サブシステム間の相互作用)には何があるかを明確化する。その後の分析作業において理解し易いイメージを共有する。
入力 ① 要求仕様書
処理 ① 要求仕様書から登場人物(ブロック)を抽出する② 要求仕様書から各ブロックの役割を抽出する。③ 役割を果たすために必要な制御、役割を果たした結果のフィー
ドバックを抽出する。④ 制御、入出力情報(情報を与えるのみで制御を行うわけではな
い)の違いを分別する⑤ ブロック間を矢印線で結び、制御・入出力を・・(?)センサー出力
のようなフィードバックを制御と考える??
出力 ① 制御構造(コントロールストラクチャー)図
備考 ブロックの数は4つ程度が良いと言われている。それ以上多くなる(抽象度を下げる)と、以降の分析すべき組み合わせが多くなり、集中しにくくなる、検討漏れを起こしかねないので、工夫が必要になる。
Booth presentationET/IoT West2017
CS図作成の例([I])
11
機能仕様
登場人物
CS図
Booth presentationET/IoT West2017
演習0-2:コントロールストラクチャ
12
運転士
扉コントローラ
扉アクチュエータ扉センサ
扉
命令ドア開,ドア開停止ドア閉,ドア閉停止
指示ドア開,ドア開停止ドア閉,ドア閉停止
機械的力 機械的位置
フィードバック扉の位置
他の入力列車の動き(走行中,停止中)列車の位置(駅,駅間)緊急指標(火災検知,ガス検知)
ステータス扉は開いている扉は閉じている etc.
参考:[T] Figure 12: Preliminary control diagram for an automated door controller
Booth presentationET/IoT West2017
Step1の概説
13
出典:[I]pp.19,表 4.4 1手順:Step1 UCAの抽出
作業名称 UCA(Unsafe Control Action:非安全制御動作)の抽出
目的 ハザードにつながり得る制御動作の不具合を識別する(発想する)
入力 ① UCAを導き出すための4つのガイドワード(4分類)② アクシデント、ハザード、安全制約の一覧表③ 制御構造図
処理 ① UCA識別の表を準備する② 最上列に4つのガイドワードを記す③ 最左行に制御構造図中にある制御をすべて記す④ 各マスごとに、当該(最左行の)制御動作が当該(最上列)状況
になった場合、いずれかの安全制約違反に成り得るかを考える。⑤ 安全制約違反に成り得るならば、UCAであると判断する
出力 ① 縦軸:制御行動、横軸:ガイドワードとしたUCA一覧表。
想定外を排除することを忘れないように。
参考:[M]pp.42, Identifying Unsafe Control Actions[T]pp80, 3.3 A Systematic Procedure to Identify Hazardous Control Actions
Booth presentationET/IoT West2017
UCAの抽出
14
コントロールアクション
与えられないとハザード
与えられるとハザード
早すぎ、遅すぎ、誤順序でハザード
早すぎる停止、長すぎる適用でハザード
ドア開 緊急時にもかかわらず,扉コントローラがドア開命令を与えない[H-3]
ドア閉
H-3:緊急時なのに,旅客あるいは乗務員が列車外へ出られない.
コントロールアクションがハザードへ至る条件を記載 (至
るハザードも記載)
緊急時にもかかわらず,扉コントローラがドア開命令を与えないコンテキスト:ハザードへ至る条件(これを識別するのが困難)[T]pp.71 3.1 General Structure for Hazardous Control Actions
UCA識別のヒント([T]pp.74, 3.2 Process model hierarchy)• H-3:緊急時なのに,旅客あるいは乗務員が列車外へ出られない.• SC-3:緊急時には,旅客あるいは乗務員は列車外へ出られる• 緊急指標:火災検知,ガス検知,地震検知,…
“緊急時”?([T]pp.74, 3.2 Process model hierarchy)• 詳細化⇒「列車が駅で停止中に,火災検知された」• 分解⇒列車の位置=駅,列車の動き=停止中,火災=検知• 列車の動き=走行中等も考える必要があることが分かる
4つのタイプ
Booth presentationET/IoT West2017
演習1:UCAの抽出
15
コントロールアクション
与えられないとハザード
与えられるとハザード
早すぎ、遅すぎ、誤順序でハザード
早すぎる停止、
長すぎる適用でハザード
ドア開 緊急時にもかかわらず,扉コントローラがドア開命令を与えない[H-3]
ドア閉
H-1:ドア付近に人がいるのに,ドアが閉まる.H-2:列車が走行中あるいは駅にいないのに,ドアが開く.H-3:緊急時なのに,旅客あるいは乗務員が列車外へ出られない.
コントロールアクションがハザードへ至る条件を記載
(至るハザードも記載)
今回の演習
Booth presentationET/IoT West2017
例:UCAの抽出
制御動作 与えられないとハザード(N)
与えられるとハザード(P)
早すぎ、遅すぎ、誤順序でハザード(T)
早すぎる停止、
長すぎる適用でハザード(D)
ドア開(CA1)
UCA-CA1-N1:列車がプラット
フォームで停止したのに,ドア開が命令されない.[ハザードへ至らない]
緊急避難のためのドア開が命令されない.[H-3]
人または障害物が扉口にいてドアが閉じつつあるのに,ドア開が命令されない.[H-1]
列車が動いているのに,ドア開が命令される.[H-2]UCA-CA1-P2: 列車がプ
ラットフォームで停車していないのに,ドア開が命令される[H-2]
列車が停止前あるいは動き出した後(“列車が動いている”と同じ)に,ドア開が命令される.[H-2]
列車が停止後,ドア開が遅すぎで命令される.[ハザードへ至らない]
緊急時に,ドア開が遅すぎで命令される.[H-3]
通常のドア開停止よりも,早すぎるドア開停止が命令される.[ハザードへ至らない]
緊急停止時に,早すぎるドア開停止が命令される.[H-3]
ドア閉(CA2)
列車が動く前に,ドア閉または再度のドア閉が命令されない.[H-2]
人または障害物が扉口にいるのに,ドア閉が命令される[H-1]
緊急避難時に,ドア閉が命令される.[H-3]
乗客が乗降りを終える前に,ドア閉が早すぎで命令される.[H-1]
列車が動き出した後に,ドア閉が遅すぎで命令される.[H-2]
ドアが完全に閉まっていないのに,早すぎるドア閉停止が命令される[H-2]
16
[T]pp.66, Table 3: Potentially hazardous control actions for a simple automated door controller
UCAにラベルを付けると便利.例:UCA-CA01-N, UCA-CA02-P
Booth presentationET/IoT West2017
UCA表の形式化と集約(発展)
列車動き 緊急指標 列車位置 ドア状態 ハザード
走行中 有 プラットフォーム 開 Yes
走行中 有 プラットフォーム 閉 Yes
走行中 有 プラットフォーム外 開 Yes
走行中 無 プラットフォーム外 開 Yes
走行中 無 プラットフォーム 閉 No
走行中 無 プラットフォーム外 開 Yes
… … …. … …17
• 条件をプロセス変数とその値の組に分解• 列車の動き=走行中,緊急指標=有,列車位置=プラットフォーム,ドア状態=開
• ハザードへ至る主要因(プロセス変数とその値)を探したい
• 列車動き=走行中,ドア状態=開⇒他の変数の値に関係なくハザードへ至る
• どうやって主要因を見つけるか?• 人手による発見⇒表の規模は一般大きいので大変,間違いやすい
• UCA表の集約は自動化可能(参考:はじめてのSTAMP/STPA実践編)
Booth presentationET/IoT West2017
Step2の概説
18
出典:[I]pp.20 4.5. Step2 HCF(Hazard Causal Factor)の特定参考:[M]pp.48, Identifying the Causes of the Unsafe Control,[T]pp.102, 3.4 Identifying causal factor scenarios
作業名称 HCF(Hazard Causal factor:誘発要因)の特定
目的 どのようなHCFがあったらUCAに成り得るのかを考え、ハザードシナリオを作る
入力 ① HCF特定のための11個のガイドワード② 制御構造図③ UCA一覧表
処理 ① 制御構造図からコントロールループを抜き出して、その中の各制御に該当するガイドワードを割り当てる
② [制御構造図中の各制御に該当するガイドワードを割り当てる]③ Step1で識別したUCA毎に、ガイドワードをひとつづつ当てはめ
てみて、ハザードと成り得るかを考える④ ハザードと成り得るならば、どういう条件下で当該ガイドワードの
事象が発生して、その後、どういうシステム挙動になったらハザードとなって、アクシデントにつながるかのシナリオを作る
出力 ① 縦軸:UCA,横軸:ガイドワードとした、ハザード要因の一覧表② ハザードシナリオ
すべてのUCAに夫々ガイドワードのすべてを当てはめて考える
今回は時間制約により,一覧表ではなく個別シナリオを提示します.
Booth presentationET/IoT West2017
コントロールループで安全制約を破られる原因の例
19[I] 図 2.5 1 コントロールループで安全制約を破られる原因の例
Booth presentationET/IoT West2017
CFの識別の準備
20
扉コントローラ
扉アクチュエータ 扉センサ
扉(4)コンポーネント故障,経時変化
命令ドア開,ドア開停止ドア閉,ドア閉停止
指示ドア開,ドア開停,ドア閉,ドア閉停止
機械的力 機械的位置
フィードバック扉の位置
他の入力列車の動き(走行中,停止中)列車の位置(駅,駅間)緊急指標(火災検知,ガス検知)
ステータス扉は開いている扉は閉じている
(1)コントロールの入力か外部情報が欠けているか間違っている
(5)不適切か欠けているフィードバック,フィードバックの遅れ
コントロールアルゴリズム
(2)生成の欠陥,プロセ
スの変更,不正確な修正や適応
プロセスモデル(3)矛盾,不完全,不
正確
(6)情報が与えられないか間違って
いる,測定が不正確,フィードバックの遅れ
(7)遅れたアクション
(8)不適切,有効でない,欠けたコントロールアクション
(10)識別されないか範囲外の外乱
(1)コントロールの入力か外部情報が欠けているか間違っている
Booth presentationET/IoT West2017
CFの識別の例1
21
扉コントローラ
扉アクチュエータ 扉センサ
扉(4)コンポーネント故障,経時変化
命令ドア開,ドア開停止ドア閉,ドア閉停止
指示ドア開,ドア開停,ドア閉,ドア閉停止
機械的力 機械的位置
フィードバック扉の位置
他の入力列車の動き(走行中,停止中)列車の位置(駅,駅間)緊急指標(火災検知,ガス検知)
ステータス扉は開いている扉は閉じている
(1)コントロールの入力か外部情報が欠けているか間違っている
(5)不適切か欠けているフィードバック,フィードバックの遅れ
コントロールアルゴリズム
(2)生成の欠陥,プロセ
スの変更,不正確な修正や適応
プロセスモデル(3)矛盾,不完全,不
正確
(6)情報が与えられないか間違って
いる,測定が不正確,フィードバックの遅れ
(7)遅れたアクション
(8)不適切,有効でない,欠けたコントロールアクション
(10)識別されないか範囲外の外乱
(1)コントロールの入力か外部情報が欠けているか間違っている
UCA:緊急時にもかかわらず,扉コントローラがドア開命令を与えない[H-3]
シナリオ:扉コントローラはドア開命令を出したが,ドアが開かない.
CF:火災でアクチュエータが動作不能
アクチュエータ故障もCFだが,それ以外も考察すること!
CF:扉を閉じる際に障害物を挟み扉が動かない
[T] 3.4.1 Identifying how safe control actions may not be followed or executed
Booth presentationET/IoT West2017
CFの識別の例2
22
扉コントローラ
扉アクチュエータ 扉センサ
扉(4)コンポーネント故障,経時変化
命令ドア開,ドア開停止ドア閉,ドア閉停止
指示ドア開,ドア開停,ドア閉,ドア閉停止
機械的力 機械的位置
フィードバック扉の位置
他の入力列車の動き(走行中,停止中)列車の位置(駅,駅間)緊急指標(火災検知,ガス検知)
ステータス扉は開いている扉は閉じている
(1)コントロールの入力か外部情報が欠けているか間違っている
(5)不適切か欠けているフィードバック,フィードバックの遅れ
コントロールアルゴリズム
(2)生成の欠陥,プロセ
スの変更,不正確な修正や適応
プロセスモデル(3)矛盾,不完全,不
正確
(6)情報が与えられないか間違って
いる,測定が不正確,フィードバックの遅れ
(7)遅れたアクション
(8)不適切,有効でない,欠けたコントロールアクション
(10)識別されないか範囲外の外乱
(1)コントロールの入力か外部情報が欠けているか間違っている
シナリオ:人が扉口に居るのに,
人が扉口に居ないというフィードバックがコントローラにあった.
UCA:人または障害物が扉口にいるのに,ドア閉が命令される[H-1]
プロセスモデルの欠陥:人または障害物が扉口にないと勘違いし,人または障害物が扉口にいるにもかかわらず,ドア閉が命令される
CF:扉センサは動作していたが,
障害物が小さいため,障害物が扉口に挟まっていることを検
知しなかった.
CF:センサ故障
[T] 3.4.2 Identifying the causes of hazardous control actions
Booth presentationET/IoT West2017
演習2:CFの識別
23
扉コントローラ
扉アクチュエータ 扉センサ
扉(4)コンポーネント故障,経時変化
命令ドア開,ドア開停止ドア閉,ドア閉停止
指示ドア開,ドア開停,ドア閉,ドア閉停止
機械的力 機械的位置
フィードバック扉の位置
他の入力列車の動き(走行中,停止中)列車の位置(駅,駅間)緊急指標(火災検知,ガス検知)
ステータス扉は開いている扉は閉じている
(1)コントロールの入力か外部情報が欠けているか間違っている
(5)不適切か欠けているフィードバック,フィードバックの遅れ
コントロールアルゴリズム
(2)生成の欠陥,プロセ
スの変更,不正確な修正や適応
プロセスモデル(3)矛盾,不完全,不
正確
(6)情報が与えられないか間違って
いる,測定が不正確,フィードバックの遅れ
(7)遅れたアクション
(8)不適切,有効でない,欠けたコントロールアクション
(10)識別されないか範囲外の外乱
(1)コントロールの入力か外部情報が欠けているか間違っている
シナリオ:人が扉口に居るのに,
人が扉口に居ないというフィードバックがコントローラにあった.
UCA:人または障害物が扉口にいるのに,ドア閉が命令される[H-1]
プロセスモデルの欠陥:人または障害物が扉口にないと勘違いし,人または障害物が扉口にいるにもかかわらず,ドア閉が命令される CF:センサ故障
今回の演習:他のCFは?
CF:扉センサは動作していたが,
障害物が小さいため,障害物が扉口に挟まっていることを検
知しなかった.
Booth presentationET/IoT West2017
まとめ
24
Step0 準備1: アクシデント, ハザード, 安全制約の識別
Step0 準備2: コントロールストラクチャーの構築
Step1: UCA(Unsafe Control Action)の抽出
Step2: CF(Causal factor)の特定
STPAの手順[I]
• [I]のSTPAの手順に基づくチュートリアル• Step1, Step2に関しては[T]の方法を採用• 資料[I] はじめてのSTAMP/STPA, IPA (2016)• 資料[M] An STPA Primer Version 1, MIT
(Aug.2013, updated Jun.2015)
Booth presentationET/IoT West2017
STAMPワークショップ in Japan
•第1回 STAMPワークショップ in Japan• 開催日:2016年12月5日-7日• 開催場所:九州大学
• 参加者:130名• http://www.ipa.go.jp/sec/events/20161205.html
• トーマス博士によるチュートリアル公開中
•第2回 STAMPワークショップ in Japan• 開催日:2017年11月27日-29日• 開催場所:慶応大学三田キャンパス
• https://www.ipa.go.jp/sec/events/20171127.html
• 応募要領:7月初旬公開予定25