ET ロボコンにおける STAMP/STPA の試 およびウエブベース STPA ツールの設計と開発 阿部惇朗 古川優也 松野裕 本 学岡本圭史仙台 専
内容 研究背景 : 複雑化するシステムのリスク分析 ET ロボコンにおける STAMP/STPA の試 他のリスク分析 法との 較 試 をもとにした STAMP/STPA ツールの設計 ウエブベースツールの開発およびデモ
研究背景 : 複雑化するシステムのリスク分析 環境 システム システム システム システム システム システム これまで : 閉じた環境でのシステム これから : 複雑 ネットワーク化する環境とシステム オープンシステム システム系全体の安全性 セキュリティのリスク分析はより重要になる STAMP が注
ET ロボコンにおける STAMP/STPA の試 ET ロボコン タッチセンサ 超 波センサ 組込みシステム 分野における技術教育をテーマに 決められた 体で指定コースを 律 する競技 同 のハードウェアに UML 等で分析 設計したソフトウェアを搭載し競う ソフトウェアの優劣を競うコン URL:http://www.etrobo.jp/2016/ 尻尾駆動モータ マイコン内蔵 輪モータ カラーセンサ URL:http://www.etrobo.jp/2016/
ET ロボコンにおける STAMP/STPA の試 ルックアップゲートを分析対象 255mm の 体で 235mm のルックアップゲートをくぐる難所の つ ルックアップゲート 超 波センサでルックアップゲートを検知し 尻尾を出して傾斜して り ゲートを通過する 235mm http://news.mynavi.jp/articles/2011/12/ 22/etrobocon2011_championship/
Step0 準備 1: アクシデント ハザード 安全制約の識別 アクシデント : 喪失 (Loss) を伴う システムの事故 ハザード : アクシデントにつながるシステムの状態 安全制約 : システムが安全に保たれるために必要なルール 表 アクシデント ハザード 安全制約の識別 アクシデントハザード安全制約 ゲートに接触 体が適切な 度まで傾いていない 体が傾くまで して はいけない コースアウトする ライントレースできていない EV3は常にラインをトレー スしなければならない 傾斜時に転倒 スピードが速い ゴール後に 定の速度に なっている 初めての STAMP/STPA 参照
Step0 準備 2: コントロールストラクチャの構築 ルックアップゲート通過のコントロールストラクチャ ラインルックアップゲート 時間 超 波センサ センサ カラーセンサ モーター 回転回数 輝度時間 輪 尻尾 指 減速指 傾斜指 コントロールアク ション EV3 ループしていなくても 丈夫なのか?
Step1: 安全でないコントロールアクション (UCA) の識別 表 UCA の識別 コントロールアクション 与えないとハザード 与えるとハザード 早すぎ 遅すぎ 誤順序でハザード 早すぎる停 すぎる適 でハザー ド 傾く 超 波センサから EV3 に測定結果が伝わらないため 傾かない UCA1 超 波センサから EV3 に誤った測定結果を伝えたため 傾かない UCA3 超 波センサから EV3 に測定結果が遅れて伝わるため ゲートにぶつかる UCA5 EV3 からモーターへのコントロールアクションが早すぎる停 により適切な 度まで傾かない UCA7 減速 EV3 からモーターに命令が伝わらないため 傾かない UCA2 モーターから EV3 に測定結果が伝わらないため 距離が測れず減速できない UCA8 カラーセンサから EV3 に測定結果が伝わらないため コースアウトする UCA11 EV3 からモーターに誤った命令がつたわるため 傾かない UCA4 モーターからEV3に誤った測定結果が伝わるため 任意の場所以外で減速する UCA9 カラーセンサからEV3に誤った測定結果を伝えたため コースアウトする UCA13 EV3 からモーターに命令が遅れて伝わるため ゲートにぶつかる UCA6 モーターから EV3 EV3 に遅れて測定結果がに測定結果伝わるため 任意の場所以外で減速すが伝わらないため 距離がる UCA10 測れず減速できない UCA8 カラーセンサから EV3 に測定結果が遅れて伝わるため コースアウトする UCA15 命令が早すぎる停 により コースアウトする UCA17 EV3 からモーターに命令が伝わらないため コースアウトする UCA12 EV3 からモーターに誤った命令を伝えたため コースアウトする UCA14 EV3 からモーターに命令が遅れて伝わるため コースアウトする UCA16 命令が すぎる適 により コースアウトする UCA18
Step2:Hazard Causal Factor の特定 (1) 未確認 範囲外の障害 ラインルックアップゲート ルックアップゲート通過のコントロールストラクチャ 時間 超 波センサ (2) 不正確な測定 センサ カラーセンサ モーター (6) 不適 (3) 不適切な伝達 切な伝達 伝達の遅れ 伝達の遅 回転回数 れ 輝度時間 輪 尻尾 指 減速指 傾斜指 (5) 不適切 けたコントロールアクション EV3 (4) 不適切なコントロールアルゴリズム
Step2:Hazard Causal factor の特定 表 HCF の特定 (1) 未確認 範囲外の障害 (2) 不正確な測定 (3) 不適切な伝達 伝達の遅 れ (4) 不適切なコントロールアルゴリズム 対処可能な範囲なものを として選んだ (5) 不適切 けたコントロールアクション (6) 不適切な伝達 伝達の遅れ 超 波センサから EV3 に測定結果が伝わらないため 傾かない UCA1 EV3 からモーターに命令が伝わらないため 傾かない UCA2 超 波センサから EV3 に誤った測定結果を伝えたため 傾かない UCA3 EV3 からモーターに誤った命令を伝えたため 傾かない UCA4 超 波センサから EV3 に測定結果が遅れて伝わるため ゲートにぶつかる UCA5 外部の要因により想定外の測定結果が伝わる 超 波センサの測定結果が不正確 超 波センサから EV3 への伝達が不適切 外部の要因により想定外の測超 波センサからEV3への不適切な伝達定結果が伝わる 超 波センサから EV3 への伝達の遅れ プログラムのアルゴリズムが不適切 プログラムのアルゴリズムが不適切 EV3 からの不適切なコントロールアクション EV3 からの不適切なコントロールアクション EV3 からモーターに命令が遅れて伝わるため ゲートにぶつかる UCA6 EV3 からモーターへのコントロールアクションが早すぎる停 により適切な 度まで傾かない UCA7 プログラムのアルゴリズムが不適切 プログラムのアルゴリズムが不適切 EV3 からのコントロールアクションの遅れ EV3 からの不適切なコントロールアクション
シナリオと対策 UCA3: 超 波センサから EV3 に誤った測定結果を伝えたため 傾かない シナリオ 1 (1) 外部の要因により想定外の測定結果が伝わる 対策 : ゴールを通過するまで超 波センサの測定結果を反映しない シナリオ 2 (2) 超 波センサの故障などにより誤ったの測定結果が伝わる 対策 : 想定外の値の測定結果が伝達された場合 距離を計測して傾くプログラムに切り替える
停止 長す でハザード 3からモー コントロー ョンが早す により適切 で傾かない 走行命令が 停止により ウトする 走行命令が 適用により ウトする なコントロー ゴリズム ムのアルゴリ が不適切 である シナリオと対策 4.振る舞いモデル 日大応用情報 ルックアップゲート通過時のシーケンス図 Step2-2:HCFのシナリオと対策 ① ルックアップゲートに近づき 超音波センサが一定の距離を検知 しているが プログラムのアルゴリズムが不正確なためモーター に命令が伝わらずH1が起こる ② 飛行物体などにより想定外の測定結果が伝わる ③ 超音波センサの故障などにより誤った測定結果が伝わる ④ ルックアップゲートに近づき 超音波センサが一定の距離を検知 しているがプログラムのアルゴリズムが不正確なためモーターに 誤った命令がいきH1が起こる ⑤ ルックアップゲートに近づき 超音波センサが一定の距離を検知 しているが不適切なコントロールアルゴリズムによりH1が起こる ⑥ ルックアップゲートに近づき 超音波センサが一定の距離を検知 しているがEV3からモーターへの遅れたコントロールアクションに よりH1が起こる 2016 阿部惇朗 古川優也 松野裕 岡本圭史 ⑦ 超音波センサが一定の距離を検知した後 不適切なコントロール アルゴリズムによりH1が起こる ⑧ ゴールを通過したが モーターからの測定結果が遅れて伝わりH2 が起こる ⑨ カラーセンサが検知しているが プログラムのアルゴリズムが不 正確なためモーターに命令が伝わらずH3が起こる ⑩ 外乱光や コースの状態などによりカラーセンサの測定結果が 誤った結果となりH3が起こる 現地で 調整 ⑪ カラーセンサが検知しているが プログラムのアルゴリズムが不 正確なためモーターに誤った命令が伝わりH3が起こる ⑫ カラーセンサが検知しているが不適切なコントロールアルゴリズ ムによりH3が起こる ⑬ カラーセンサが検知しているがEV3からモーターへの遅れたコント ロールアクションによりH3が起こる ⑭ カラーセンサが検知した後走行命令が出されるが 不適切なコン トロールアルゴリズムによりH3が起こる ⑮ カラーセンサが検知した後走行命令が出されるが 不適切なコン トロールアルゴリズムによりH3が起こる
結果と原因 結果 東京 会で予選敗退本番では 標の完 を達成することができなかった 原因 EV3のバックボタンが効かなくなった( ハードウェア故障 ) ハードウェアは 丈夫と思い込み対策を怠った ( 予備の機体を買う ) 実際のコースで するが 分ではなかった研究室内でのと実際の運 状況とは きく異なることを認識していなかった STAMP で分析したチェック項 は有 であったが 思い込みなどで活かすことができなかった
疑問点 コントロールストラクチャの粒度 きさの決定 ループしなくてよいのか? 同じガイドワードが つのコントロールループで複数回出てきてもいいのか コントロールストラクチャとガイドワードを対応 ガイドワードの解釈 UCA 選択の基準どれが UCA に るか適切に選択できたと えない
FTA との 較 頂上事象として ルックアップゲートを通過しない を定め ツリー解析を った ルックアップゲートを通過しない 不能 コースアウト ゲートに接触
中間事象ごとの解析結果 不能 停 のプログラム 転倒 EV3 の故障 ジャイロセンサの故障 モーターの故障 プログラムの不備 定値以上の foward
中間事象ごとの解析結果 コースアウト 網羅性を満たしているか? ハードソフト外乱 モーターの故障 プログラムの不備 想定外の輝度値 定値以上の foward 不適切な Turn 値 と の値 外乱光など カラーセンサの故障
中間事象ごとの解析結果 ゲートに接触 傾斜しない コースアウト 超 波センサの故障 モーターの故障 プログラムの不備 中間事象のコースアウトへと繋がる
分析結果の 較 FTA STAMP ハードソフト他 ジャイロセンサ カラーセンサ 超 波センサ モーター EV3 ジャイロセンサ カラーセンサ 超 波センサ モーター EV3 ケーブル 速度の設定 曲がる時の強さ 輝度値の設定 プログラム全体 待機時間など 外乱光 外乱光 ハードに関しては STAMP により繋がり ( ケーブル ) に着 できた ソフトに関しては FTA では関数やパラメーターレベルまで分析したが STAMP では プログラム全体 レベルの分析になった システム全体を STAMP で分析し 細かい部分は FTA で分析
STAMP と FTA の 較 モデル 着眼点 粒度 網羅 (MECE) 性 FTA 構造 ( ツリー ) コンポーネント単体 細かい 確信が持てない場合がある STAMP コントロールストラクチャ ( ネットワーク ) コンポーネントとコンポーネント間の流れ まか コントロールストラクチャが描ければ その範囲における網羅性は定義できる
試 をもとにした STAMP/STPA ツールの設計 STAMP/STPA は Step( 順 ) がわかり易い Step を き来して分析しなければならない 表が巨 になりがち 既存ツールとして XSTAMPP などがあるが eclipse のプラグインであるなど 軽に使えるものが少ない わかりやすさを保ちつつ機能を絞り step の き来が容易であり 前 順の引き継ぎができる 軽に使える web ベースツールを設計
STAMP/STPA ツールのデモ ステップ間の き来がいつでも可能
コントロールアクション ガイドワード指定により後のステップに引き継がれる
まとめ STAMP/STPA を ET ロボコンを例として試 システムを 枠で捉え リクス分析を うことができた FTA 分析との 較コンポーネント間の繋がりに着 することができたプログラムの詳細の分析は FTA の が良い? Step の き来が容易で 前 順の引き継ぎができるツールを設計 ウエブベースで開発中