ETロボコンにおけるSTAMP/STPAの試⾏およびウエブベースSTPAツールの設計と開発
阿部惇朗、古川優也、松野裕
⽇本⼤学
岡本圭史
仙台⾼専

© 2016 阿部惇朗、古川優也、松野裕、岡本圭史

内容• 研究背景: 複雑化するシステムのリスク分析• ETロボコンにおけるSTAMP/STPAの試⾏• 他のリスク分析⼿法との⽐較• 試⾏をもとにしたSTAMP/STPAツールの設計• ウエブベースツールの開発およびデモ© 2016 阿部惇朗、古川優也、松野裕、岡本圭史

研究背景: 複雑化するシステムのリスク分析
環境システム

システム

システム

システム
システム

これまで：閉じた環境でのシステム

システム

これから：複雑・ネットワーク化する環境とシステム→ オープンシステム

システム系全体の安全性、セキュリティのリスク分析はより重要になる© 2016 阿部惇朗、古川優也、松野裕、岡本圭史

STAMPが注⽬

ETロボコンにおけるSTAMP/STPAの試⾏
タッチセンサ・ETロボコン「組込みシステム」分野における技術教育をテーマに、決められた⾛⾏体で指定コースを⾃律⾛⾏する競技。
同⼀のハードウェアに、UML等で分析・設計したソフトウェアを搭載し競う。
ソフトウェアの優劣を競うコンテスト。

超⾳波センサマイコン内蔵
尻尾駆動
モータ

URL:http://www.etrobo.jp/2016/
⾞輪モータ© 2016 阿部惇朗、古川優也、松野裕、岡本圭史

カラーセンサ

URL:http://www.etrobo.jp/2016/

ETロボコンにおけるSTAMP/STPAの試⾏
・ルックアップゲートを分析対象

ルックアップゲート

255mmの⾛⾏体で235mmのルックアップゲートをくぐる難所の⼀つ
超⾳波センサでルックアップゲートを検知し、尻尾を出して傾斜して⾛り、ゲートを通過する
235mm

http://news.mynavi.jp/articles/2011/12/
22/etrobocon2011_championship/© 2016 阿部惇朗、古川優也、松野裕、岡本圭史

Step0 準備１：アクシデント、ハザード、安全
制約の識別
・アクシデント：喪失（Loss）を伴う、システムの事故。
・ハザード：アクシデントにつながるシステムの状態。
・安全制約：システムが安全に保たれるために必要なルール。
表 アクシデント、ハザード、安全制約の識別
アクシデントハザード

安全制約

ゲートに接触⾞体が適切な⾓度まで傾いていない

⾞体が傾くまで⾛⾏してはいけない

コースアウトする

ライントレースできていない

EV3は常にラインをトレースしなければならない

傾斜時に転倒スピードが速い

ゴール後に⼀定の速度になっている© 2016 阿部惇朗、古川優也、松野裕、岡本圭史

初めてのSTAMP/STPA参照

Step0 準備２：コントロールストラクチャの構築
ルックアップゲート通過のコントロールストラクチャ
センサ

⾊
時間
ライン
ルックアップゲート

超⾳波センサカラーセンサ

輝度
時間
回転回数
モーター
EV3
⾞輪

尻尾
⾛⾏指⽰
減速指⽰
コントロールアク© 2016 阿部惇朗、古川優也、松野裕、岡本圭史
ション
傾斜指⽰

ループしていなくても⼤丈夫なのか？

Step1：安全でないコントロールアクション（UCA）の識別
表 UCAの識別コントロールアクション

与えないとハザード

与えるとハザード早すぎ、遅すぎ、誤順序でハザード早すぎる停⽌、⻑すぎる適⽤でハザー
ド

傾く

超⾳波センサからEV3に測定結果が伝わらないため、傾かない
UCA1

超⾳波センサからEV3に誤った測定結果を伝えたため、傾かない
UCA3

超⾳波センサからEV3に測定結果が遅れて伝わるため、ゲートにぶつかる
UCA5

EV3からモーターへのコントロールア
クションが早すぎる停⽌により適切な⾓度まで傾かない
UCA7

EV3からモーターに命令が伝わらない
ため、傾かない
UCA2

EV3からモーターに誤った命令がつたわるため、傾かない
UCA4

EV3からモーターに命令が遅れて伝わるため、ゲートにぶつかる
UCA6

減速モーターからEV3に測定結果が伝わらないため、距離が測れず減速できない
UCA8

モーターからEV3に誤った測定結果が伝わるため、任意の場所以外で減速す
る
UCA9

モーターからEV3に遅れて測定結果が伝わるため、任意の場所以外で減速す
る
UCA10

⾛⾏

カラーセンサからEV3に測定結果が伝わらないため、コースアウトする
UCA11

カラーセンサからEV3に誤った測定結果を伝えたため、コースアウトする
UCA13

カラーセンサからEV3に測定結果が遅れて伝わるため、コースアウトする
UCA15

⾛⾏命令が早すぎる停⽌により、コースアウトする
UCA17

EV3からモーターに命令が伝わらない
ため、コースアウトする
UCA12

EV3からモーターに誤った命令を伝えたため、コースアウトする
UCA14

EV3からモーターに命令が遅れて伝わるため、コースアウトする
UCA16

⾛⾏命令が⻑すぎる適⽤により、コースアウトする
UCA18

モーターからEV3に測定結果が伝わらないため、距離が測れず減速できない
UCA8© 2016 阿部惇朗、古川優也、松野裕、岡本圭史

Step２：Hazard Causal Factorの特定
ルックアップゲート通過のコントロールストラクチャ(2)不正確な測定(1)未確認、範囲外の障害

ライン
ルックアップゲート

⾊
時間

センサ
カラーセンサ

超⾳波センサ(3)不適切な伝達、
(6)不適
伝達の遅れ
切な伝達、伝達の遅 回転回数
れ

モーター

輝度
時間

EV3
⾞輪尻尾

(5)不適切、
⾛⾏指⽰ ⽋けたコン
減速指⽰ トロールア (4)不適切なコントロー© 2016 阿部惇朗、古川優也、松野裕、岡本圭史
傾斜指⽰ クション
ルアルゴリズム

Step２：Hazard Causal factorの特定
対処可能な範囲なものを⾚として選んだ

表 HCFの特定(1)未確認、範囲外の障害(2)不正確な測定

超⾳波センサからEV3に測定結果が伝わらないため、傾かない
UCA1(3)不適切な伝達、伝達の遅れ(５)不適切、⽋けたコント
ロールアクション

プログラムのアルゴリズム
が不適切

EV3からの不適切なコント
ロールアクション

超⾳波センサからEV3への伝達が不適切

EV3からモーターに命令が伝わらないため、傾かない
UCA2
超⾳波センサからEV3に誤った測定結果を伝えたため、傾かない
UCA3(4)不適切なコントロールア
ルゴリズム

外部の要因により想定外の測定結果が伝わる

外部の要因により想定外の測超⾳波センサからEV3への不適切な伝達定結果が伝わる

超⾳波センサの測定結果が不正確

EV3からモーターに誤った命令を伝えたため、傾かな
い
UCA4

プログラムのアルゴリズム
が不適切

EV3からの不適切なコント
ロールアクション

EV3からモーターに命令が遅れて伝わるため、ゲートにぶつかる
UCA6

プログラムのアルゴリズム
が不適切EV3からのコントロールア
クションの遅れ

EV3からモーターへのコントロールアクションが早す
ぎる停⽌により適切な⾓度まで傾かない
UCA7

プログラムのアルゴリズム
が不適切

EV3からの不適切なコント
ロールアクション

超⾳波センサからEV3に測定結果が遅れて伝わるため、ゲートにぶつかる
UCA5

超⾳波センサからEV3への伝達の遅れ© 2016 阿部惇朗、古川優也、松野裕、岡本圭史(6)不適切な伝達、伝達の遅れ

シナリオと対策
UCA3:超⾳波センサからEV3に誤った測定結果を伝えたため、傾かない
シナリオ１(1)外部の要因により想定外の測定結果が伝わる。
対策：ゴールを通過するまで超⾳波センサの測定結果を反映しない。
シナリオ２(2) 超⾳波センサの故障などにより誤ったの測定結果が伝わる。
対策：想定外の値の測定結果が伝達された場合、距離を計測して傾くプログラムに切り替える。

© 2016 阿部惇朗、古川優也、松野裕、岡本圭史

停止、長すでハザード

3からモーコントロー
ョンが早すにより適切で傾かない

走行命令が停止により、ウトする

走行命令が適用により、ウトするなコントローゴリズム

ムのアルゴリが不適切である。

シナリオと対策

4.振る舞いモデル

日大応用情報ルックアップゲート通過時のシーケンス図

Step2-2:HCFのシナリオと対策① ルックアップゲートに近づき、超音波センサが一定の距離を検知しているが、プログラムのアルゴリズムが不正確なためモーターに命令が伝わらずH1が起こる。

② 飛行物体などにより想定外の測定結果が伝わる。

✔

テスト
OK！

③ 超音波センサの故障などにより誤った測定結果が伝わる。

✔

✔

テスト
OK！

テストOK！

✔

テストOK！

✔
✔

テスト
OK！

④ ルックアップゲートに近づき、超音波センサが一定の距離を検知しているがプログラムのアルゴリズムが不正確なためモーターに誤った命令がいきH1が起こる。

⑤ ルックアップゲートに近づき、超音波センサが一定の距離を検知しているが不適切なコントロールアルゴリズムによりH1が起こる。

⑥ ルックアップゲートに近づき、超音波センサが一定の距離を検知しているがEV3からモーターへの遅れたコントロールアクションによりH1が起こる。

テストOK！

✔
✔
✔
✔
✔
✔
✔
✔
© 2016
阿部惇朗、古川優也、松野裕、岡本圭史✔

⑦ 超音波センサが一定の距離を検知した後、不適切なコントロールアルゴリズムによりH1が起こる。

テスト
OK！

⑧ ゴールを通過したが、モーターからの測定結果が遅れて伝わりH2が起こる。

テスト
OK！

⑨ カラーセンサが検知しているが、プログラムのアルゴリズムが不正確なためモーターに命令が伝わらずH3が起こる。

テスト
OK！

⑩ 外乱光や、コースの状態などによりカラーセンサの測定結果が誤った結果となりH3が起こる。

現地で
調整！

⑪ カラーセンサが検知しているが、プログラムのアルゴリズムが不正確なためモーターに誤った命令が伝わりH3が起こる。

テスト
OK！

⑫ カラーセンサが検知しているが不適切なコントロールアルゴリズ
ムによりH3が起こる。

テスト
OK！

⑬ カラーセンサが検知しているがEV3からモーターへの遅れたコント
ロールアクションによりH3が起こる。

テスト
OK！

⑭ カラーセンサが検知した後走行命令が出されるが、不適切なコントロールアルゴリズムによりH3が起こる。

テスト
OK！

⑮ カラーセンサが検知した後走行命令が出されるが、不適切なコントロールアルゴリズムによりH3が起こる。

テスト
OK！

結果と原因結果
・東京⼤会で予選敗退
本番では⽬標の完⾛を達成することができなかった

原因
・EV3のバックボタンが効かなくなった(ハードウェア故障)
ハードウェアは⼤丈夫と思い込み対策を怠った(予備の機体を買う)
・実際のコースで⾛⾏するテストが⼗分ではなかった
研究室内でのテストと実際の運⽤状況とは⼤きく異なることを認識していなかった

STAMPで分析したチェック項⽬は有⽤であったが、思い込みなどで活かすことができなかった© 2016 阿部惇朗、古川優也、松野裕、岡本圭史

疑問点・コントロールストラクチャの粒度、⼤きさの決定
・ループしなくてよいのか？
・同じガイドワードが⼀つのコントロールループで複数回出てきてもいいのか・コントロールストラクチャとガイドワードを対応、ガイドワードの解釈
・UCA選択の基準
どれがUCAに⾄るか適切に選択できたと⾔えない© 2016 阿部惇朗、古川優也、松野裕、岡本圭史

FTAとの⽐較
・頂上事象として「ルックアップゲートを通過しない」を定め、ツリー解析を⾏った。
ルックアップゲートを通過しない⾛⾏不能コースアウト© 2016 阿部惇朗、古川優也、松野裕、岡本圭史

ゲートに接触中間事象ごとの解析結果
⾛⾏不能

⾛⾏停⽌のプログラム
転倒

ジャイロセンサの故障

モーターの故障© 2016 阿部惇朗、古川優也、松野裕、岡本圭史

EV3の故
障

プログラムの不備
⼀定値以上のfoward中間事象ごとの解析結果
コースアウト
網羅性を満たしているか？
ハード

ソフト
プログラムの不備

モーターの故障

⼀定値以上のfoward

外乱
想定外の輝度値

外乱光など
不適切なTurn値

⽩と⿊の値© 2016 阿部惇朗、古川優也、松野裕、岡本圭史

カラーセンサの故障中間事象ごとの解析結果
ゲートに接触傾斜しないコースアウト

中間事象のコースアウトへと繋がる
超⾳波センサの故障

モーターの故障

プログラムの不備© 2016 阿部惇朗、古川優也、松野裕、岡本圭史

分析結果の⽐較
ハード

ソフト

他FTA・ジャイロセンサ
・カラーセンサ・超⾳波センサ・モーター
・EV3・速度の設定
・曲がる時の強さ・輝度値の設定

・外乱光

STAMP

・ジャイロセンサ
・カラーセンサ・超⾳波センサ・モーター
・EV3・ケーブル・プログラム全体
・待機時間など

・外乱光・ハードに関しては、STAMPにより繋がり（ケーブル）に着⽬できた・ソフトに関しては、FTAでは関数やパラメーターレベルまで分析したが、STAMPでは「プログラム全体」レベルの分析になった

システム全体をSTAMPで分析し、細かい部分はFTAで分析© 2016 阿部惇朗、古川優也、松野裕、岡本圭史

STAMPとFTAの⽐較
モデル

着眼点

粒度

FTA

⽊構造（ツリー）コンポーネン 細かい
ト単体

確信が持てな
い場合がある

STAMP

コントロールストラクチャ
（ネットワーク）

コンポーネン ⼤まかトとコンポー
ネント間の流れコントロールストラクチャ
が描ければ、その範囲における網羅性は定義できる© 2016 阿部惇朗、古川優也、松野裕、岡本圭史

網羅(MECE)性

試⾏をもとにしたSTAMP/STPAツールの設計
・STAMP/STPAは、Step（⼿順）がわかり易い
・Step を⾏き来して分析しなければならない、表が巨⼤になりがち
・既存ツールとしてXSTAMPPなどがあるが、eclipseのプラグインであるな
ど⼿軽に使えるものが少ない

わかりやすさを保ちつつ機能を絞り、stepの⾏き来が容易であり、前⼿順の引き継ぎができる、⼿軽に使えるwebベースツールを設計© 2016 阿部惇朗、古川優也、松野裕、岡本圭史

STAMP/STPAツールのデモ

ステップ間の⾏き来がいつでも可能© 2016 阿部惇朗、古川優也、松野裕、岡本圭史

コントロールアクション、ガイドワード指定により後のステップに引き継がれる© 2016 阿部惇朗、古川優也、松野裕、岡本圭史

© 2016 阿部惇朗、古川優也、松野裕、岡本圭史

© 2016 阿部惇朗、古川優也、松野裕、岡本圭史

© 2016 阿部惇朗、古川優也、松野裕、岡本圭史

まとめ・STAMP/STPAをETロボコンを例として試⾏
システムを⼤枠で捉え、リクス分析を⾏うことができた
・FTA分析との⽐較
コンポーネント間の繋がりに着⽬することができた
プログラムの詳細の分析はFTAの⽅が良い？
・Stepの⾏き来が容易で、前⼿順の引き継ぎができるツールを設計、ウエブベースで開発中© 2016 阿部惇朗、古川優也、松野裕、岡本圭史