第 2 回 STAMP Workshop in Japan 28 November, 2017 システムモデルを用いた STAMP/STPA 試行の事例紹介 株式会社日立産業制御ソリューションズ橋本岳男 Takeo Hashimoto Embedded Systems Engineering Group Hitachi Industry & Control Solutions, Ltd.
Contents 1. 会社紹介 2. Motivation 3. システムモデルについて 4. ドライバ異常時安全停車システム ( 事例紹介 ) 5. まとめ 1
Contents 1. 会社紹介 2. Motivation 3. システムモデルについて 4. ドライバ異常時安全停車システム ( 事例紹介 ) 5. まとめ 2
1. 会社紹介 株式会社日立産業制御ソリューションズ 代表者 : 取締役社長木村亨 資本金 : 30 億円 ( 日立製作所 100% 出資 ) 設立 : 2014 年 4 月 社員数 : 3,752 名 (2017 年 4 月 ) 本社 茨城本社茨城県日立市 東京本社東京都台東区 ( 秋葉原大栄ビル ) 他の拠点 事業拠点 : 6 ヵ所 営業拠点 : 8 ヵ所 日立グループの産業ソリューション事業における中核企業 産業ソリューション 製造管理 ( 自動車等 ) ガス / プラント監視制御 SAP *1 エンジニアリング 医薬品製造管理システム 自動車製造管理システム システムエンジニアリング 情報システム ( 金融他 ) プラントエンジニアリング ビッグデータ解析 自治体向け通信システム 鋳造シミュレーション 組込みエンジニアリング 車載情報システム 車両制御システム 画像処理 認識 組込みソフト ハード国内シェア 6 位 *2 セキュリティソリューション フィジカルセキュリティ モニタリング ( カメラ ) 映像配信ソリューション 指静脈認証装置国内シェア 1 位 (41%) *3 *1 SAP は SAP AG のドイツおよびその他の国における登録商標または商標です *2 組込みソフト事業ミック経済研究所調べ ( エンベデットシステム ソリューション市場 :2015 年度実績 ) *3 富士経済調べ ( 2016 年セキュリティ関連市場の将来展望 :2015 年度実績 ) 3
1. 会社紹介 私たちは お客さまが開発現場で抱えるさまざまな課題を解決する Engineering Service Provider です Navigation ADAS,AD Meter Camera, Image Recognition In-vehicle Network Wireless Communication Body Power Control Our experience Engine Motor Suspension Inverter Brake Steering Hybrid Integrated Control 自動車システムの高度化 複雑化により 安全性や利便性の向上に関わる 組込み技術の重要性が高まっています 当社は 長年培ってきた組込み技術と車両制御 車載情報機器開発で蓄積した技術を融合し 最適化した自動車開発ソリューションを提供します 組込み技術機能安全セキュリティ 自己紹介橋本岳男 (Takeo Hashimoto) 業務経歴無線通信システム開発従事後 現在は 自動車制御システム開発担当 4
Contents 1. 会社紹介 2. Motivation 3. システムモデルについて 4. ドライバ異常時安全停車システム ( 事例紹介 ) 5. まとめ 5
2.Motivation 実験 被験者 :7 名ある事例に対してコントロールストラクチャーを記述 結果 7 パターン ( 同じものは一つも無し ) 登場人物 抽象度 相互作用もそれぞれ異なるものが出てきた 1 2 3 4 5 6 7 分析対象の想定アーキテクチャ 分析の目的が異なることによるバラツキ 6
2.Motivation Challenge システムズエンジニアリングアプローチによる試行 システムモデルの活用により ( 後述 ) 1) STPA 分析の過程の可視化 2) STPA 分析の結果 ( 安全制約 ) をシステム設計へ反映 Controller Control Action Controlled Process Feedback 上流で効果的に適用したい V model 7
Contents 1. 会社紹介 2. Motivation 3. システムモデルについて 4. ドライバ異常時安全停車システム ( 事例紹介 ) 5. まとめ 8
3. システムモデルについて システムモデルのイメージ (SysML のケース ) Model element 9
3. システムモデルについて 本事例では システムの記述言語の一つである OMG Systems Modeling Language(OMG SysML ) を選択 OMG SysML は Object Management Group (OMG ) の米国およびその他の国における登録商標または商標です SysMLv1.5 より ISO/IEC 19514:2017(E) として国際標準化 ダイアグラムの種類 SysML Diagram type : 今回使用 : 分類 Package Diagram パッケージ図 Requirement Diagram 要求図振舞図構造図 Behavior Diagram Structure Diagram Parametric Diagram パラメトリック図 Use Case Diagram State Machine Diagram Activity Diagram Sequence Diagram Block Definition Diagram Internal Block Diagram ユースケース図ステートマシン図アクティビティ図シーケンス図ブロック定義図内部ブロック図 10
STAMP/STPA 3. システムモデルについて 試行ステップと SysML ダイアグラム活用マップ ( 一例 ) Activity Define Preliminary Architecture (Intended function) SysML Diagram type Package Requirement Behavior Structure Parametric Package (model setup, View & viewpoint) Requirement (Responsibility) Use Case Activity State Machine Block Definition Internal Block - (MOEs) Table /Matrix Matrix Step0 (SC,CS) - Requirement (Safety Constraints) State Machine (Process Model) - Matrix Step1 (UCA) - - Sequence State Machine Internal Block (Control Structure) - Table Step2 (HCF) - - Activity Sequence - Table Derive Safety Requirements - Requirement - - - Table 11
3. システムモデルについて 試行ステップとシステムモデルとの関係 Cameo Systems Modeler は No Magic 社の米国およびその他の国における登録商標または商標です Systems Engineering System model STAMP/STPA Preliminary Architecture Definition モデリングツールは No Magic 社の Cameo Systems Modeler を使用 Step0: Safety Constraint Control Structure Step1: Unsafe Control Action Step2: Hazardous Casual Factor 12
Contents 1. 会社紹介 2. Motivation 3. システムモデルについて 4. ドライバ異常時安全停車システム ( 事例紹介 ) 5. まとめ 13
4. ドライバ異常時安全停車システム ( 事例 ) ( 免責事項 ) 本事例は 仮想システムを題材としており 実際の開発および関連する製品 知的財産権等とは一切関係ありません ( 仮想 ) ドライバ異常時安全停車システム Emergency Stop Active Safety System 責務 : ドライバの異常を検知したら自動的に車両を安全に停車する 前提 : 既存の自動ブレーキシステム ( 衝突被害軽減ブレーキ ) に上記責務を追加する より開発現場に近い想定を設定 ( 既存システムの統合や機能追加により新たな価値を提供 ) Normal Abnormal case 飲酒 居眠り急病危険 etc 14
4. ドライバ異常時安全停車システム ( 事例 ) 15
4. ドライバ異常時安全停車システム ( 事例 ) Stakeholder の識別とニーズの獲得 ( 今回は User における View Point) <<stakeholder>> Service-Engineer Sales Support 販売 <<stakeholder>> Dealer sales より安全で安心な社会になってほしい <<stakeholder>> User <<stakeholder>> Auto dismantler Utilization Utilization Maintenance Disposal Production <<stakeholder>> Factory-Engineer <<stakeholder>> System Architect Concept & System design Verification & Validation <<stakeholder>> Test-Engineer <<stakeholder>> Safety Engineer <<stakeholder>> x-engineer Software Dev. Electronics Dev. Mechatronics Dev. Implementation Example of System Life Cycle <<stakeholder>> x-engineer 16
4. ドライバ異常時安全停車システム ( 事例 ) 対象システムと登場人物を定義 (Context Level でシステム境界を明確化 ) ドライバ 乗客 自然環境 今回は システムの外部に着目 車体 環境 人 車含む障害物 システム外部 システム内部 走行システム ドライバ異常時安全停車システム External Internal System boundary 道路環境 対象システム 自動ブレーキシステム ドライバ監視システム 17
4. ドライバ異常時安全停車システム ( 事例 ) システムの使われ方 使う環境に対して各コンポーネントの想定されるコンディション シチュエーションの識別例 ドライバ状態 明るい 明るさ 正常 異常 暗い 有り 障害物有無 車両走行状態 無し 停止 走行 平地 道路勾配 走行システム動作状態 ドライバ異常検知状態 勾配 アイドル 減速中 加速中 ドライバ正常 ドライバ異常 複雑にならないよう抽象度を高く記述 ( この段階では遷移条件も記載しない ) 18
4. ドライバ異常時安全停車システム ( 事例 ) Context Level の振舞いと相互作用を定義 環境 ドライバ ドライバ異常時安全停車システム 光 走行システム 車体 光を生成する Resource 環境情報 運転指示 トルク制御する 環境を反射する 運転する メンタル情報 追加機能の割当 制御トルク 車体トルク 顔の表情を反射する ドライバ状態 異常検知する 検知結果 減速指示 トルクを伝達する トルクを受ける 減速指示する 抽象度をコントロール ( 機能 ( 振舞 ) の階層化 ) 19
4. ドライバ異常時安全停車システム ( 事例 ) Context Level の振舞いからインターフェースを識別し コンポーネント間の構造 (Interconnection) を定義 ドライバ ドライバ異常時安全停車システム 車体 環境 走行システム 20
4. ドライバ異常時安全停車システム ( 事例 ) 21
4. ドライバ異常時安全停車システム ( 事例 ) STAMP/STPA<Step0>: 安全制約の識別 アクシデント ハザード 安全制約を導出し 結果を紐付け追従性を確保 Table 表記 Matrix 表記 <<Accident>> <<Hazard>> <<Safety Constraint>> は SysML 標準にはないため STAMP 用にプロファイルを追加 22
4. ドライバ異常時安全停車システム ( 事例 ) STAMP/STPA<Step0>: Control Structure(CS 図 ) の構築 Preliminary Architecture( 構造 振舞 ) から STPA 分析用に CS 図を作成 コンポーネントの再配置 運転指示 ドライバ (Human Controller) ドライバ状態 光環境情報システム状態 インターフェース一覧 ドライバ異常時安全停車システム 減速指示 環境情報 環境 インタラクションの反映 走行システム 制御トルク 車速 車体 車体トルク 23
4. ドライバ異常時安全停車システム ( 事例 ) STAMP/STPA<Step0>: Control Structure(CS 図 ) の構築コンテキストレベルの制御構造の確認 ドライバ監視ループ ドライバ正常時ループ ドライバ (Human Controller) ドライバ異常時安全停車システム 環境 ドライバ異常時は Controller がドライバからシステム側へ切替る 走行システム 車体 ドライバ異常時ループ 24
4. ドライバ異常時安全停車システム ( 事例 ) STAMP/STPA<Step1>: Unsafe Control Action の識別 (UCA) 各コンポーネント間のインタラクションと状態 (Context) の時系列変化をシーケンス図で確認 ドライバ正常 ドライバ異常 25
4. ドライバ異常時安全停車システム ( 事例 ) STAMP/STPA<Step1>: Unsafe Control Action の識別 (UCA) 各コンポーネント間のインタラクションと状態 (Context) の時系列変化をシーケンス図で確認 コンポーネント ( 登場人物 ) 状態 ドライバ ドライバ異常シーケンス ドライバ異常時安全停止システム走行システム車体環境 異常ドライバ正常加速中走行明るい インタラクション ドライバ異常 Time 26
CANo. Source Type Control Action Target 4 Driver Provide Health Information Context (Value, Valuable) Driver 異常検知走行システム Vehicle Environment Environment Environment Not provide Provide Incorrect Timing/Order DEASS 正常 OFF 非作動停止明るい障害物なし平地暗い障害物なし平地 走行明るい障害物なし平地暗い障害物なし平地 なし停止明るい障害物なし平地暗い障害物なし平地 走行明るい障害物なし平地暗い障害物なし平地 加速停止明るい障害物なし平地暗い障害物なし平地 走行明るい障害物なし平地暗い障害物なし平地 減速停止明るい障害物なし平地暗い障害物なし平地 走行明るい障害物なし平地暗い障害物なし平地 正常非作動停止明るい障害物なし平地暗い障害物なし平地 走行明るい障害物なし平地暗い障害物なし平地 なし停止明るい障害物なし平地暗い障害物なし平地 走行明るい障害物なし平地暗い障害物なし平地 加速停止明るい障害物なし平地暗い障害物なし平地 走行明るい障害物なし平地 暗い障害物なし平地減速停止明るい障害物なし平地 暗い障害物なし平地走行明るい障害物なし平地 暗い障害物なし平地異常非作動停止明るい障害物なし平地 暗い障害物なし平地走行明るい障害物なし平地 暗い障害物なし平地なし停止明るい障害物なし平地 暗い障害物なし平地走行明るい障害物なし平地 暗い障害物なし平地加速停止明るい障害物なし平地 暗い障害物なし平地走行明るい障害物なし平地 暗い障害物なし平地減速停止明るい障害物なし平地 暗い障害物なし平地走行明るい障害物なし平地 暗い障害物なし平地異常 OFF 非作動停止明るい障害物なし平地 暗い障害物なし平地走行明るい障害物なし平地 暗い障害物なし平地なし停止明るい障害物なし平地 暗い障害物なし平地 走行明るい障害物なし平地 暗い障害物なし平地加速停止明るい障害物なし平地 暗い障害物なし平地 走行明るい障害物なし平地 暗い障害物なし平地減速停止明るい障害物なし平地 暗い障害物なし平地 走行明るい障害物なし平地 暗い障害物なし平地正常非作動停止明るい障害物なし平地 暗い障害物なし平地走行明るい障害物なし平地 暗い障害物なし平地なし停止明るい障害物なし平地 暗い障害物なし平地 走行明るい障害物なし平地 NP P T D 安全制約違反になるか? 安全制約に ドライバ情報 ( 正常 ) が提供されない 正常を認識できず ドライバ情報 ( 正常 ) が提ドライバーの意図しな供される い減速指示が発生す る (SC1 違反 ) ドライバ情報 ( 異常 ) が検知出来ない 走行中は異常検知がOFF にならないこと? システムが無い状態に対して悪化しないので問題な い? ドライバ情報 ( 異常 ) が検知出来ない 走行中は異常検知がOFF にならないこと? システムが無い状態に対して悪化しないので問題な い? ドライバ情報 ( 異常 ) が検知出来ない 走行中は異常検知がOFF にならないこと? システムが無い状態に対して悪化しないので問題な い? ドライバ情報 ( 異常 ) が提供される突する (SC2 違反 ) 暗い障害物なし平地 加速停止明るい障害物なし平地 暗い障害物なし平地走行明るい障害物なし平地 暗い障害物なし平地減速停止明るい障害物なし平地 暗い障害物なし平地走行明るい障害物なし平地 暗い障害物なし平地異常非作動停止明るい障害物なし平地 暗い障害物なし平地走行明るい障害物なし平地 暗い障害物なし平地なし停止明るい障害物なし平地 暗い障害物なし平地走行明るい障害物なし平地 暗い障害物なし平地加速停止明るい障害物なし平地 暗い障害物なし平地 走行明るい障害物なし平地 暗い障害物なし平地減速停止明るい障害物なし平地 暗い障害物なし平地走行明るい障害物なし平地 暗い障害物なし平地 ドライバ情報 ( 異常 ) を正常と検知してしまう 異常を認識できていないため 減速指示が出来ず衝 ドライバ情報 ( 異常 ) が提供されない ドライバ情報 ( 異常 ) が提 異常を認識できず 供される 減速指示が遅れ衝突する (SC2 違反 ) - - Stopped Too Soon/Applied too long ドライバ情報 ( 正常 ) が短すぎる 正常を認識できず ドライバーの意図しない減 速が発生する (SC1 違反 ) ドライバ情報 ( 正常 ) が短すぎる ドライバ情報 ( 異常 ) が短すぎる 異常を認識できず 減速指示が遅れ衝突す る (SC2 違反 ) SC1 SC2 SC3 ( 急減速じゃなく てもダメだから SC4?) 4. ドライバ異常時安全停車システム ( 事例 ) STAMP/STPA<Step1>: Unsafe Control Action の識別 (UCA) 基本動作からコンセプトの検証 &CA と Context の関係を一覧にする 分析に必要な Context の組み合わせを一覧にしてガイドワード (N,P,T,D) を使い UCA を抽出 ドライバ正常シーケンス Process Model ドライバ : 正常 異常異常検知 : 正常 異常走行 : アイドル 加速 減速車体 : 停止 走行明るさ : 明 暗 CA No. Source Type Control Action Target Context (Value, Valuable) Driver ESASS dcs Vehicle Environment 1 Driver Acceleration dcs ドライバ 対象システム 走行システム車体 環境 2 dcs Torque Vehicle Normal Driver Normal Acceleration Moving Bright 3 Vehicle Torque Env. 4 Driver Provide Health Info. ESASS Driver Normal 5 ESASS Braking dcs 6 dcs Torque Vehicle 7 Vehicle Torque Env. Abnormal Abnormal Detected Acceleration Moving Bright 27
4. ドライバ異常時安全停車システム ( 事例 ) STAMP/STPA<Step1>: Unsafe Control Action(UCA) の識別 各 CA に対する分析により抽出された UCA の例 ドライバ監視ループ ドライバ正常時ループ ドライバ状態の通知 ( 異常 / 正常 ) ドライバ異常時ループ Control Action ドライバ状態の異常通知 (CA-4) N P T D Not providing causes hazard Providing cases hazard Incorrect Timing/Order Stopped Too Soon/Applied too long ドライバが異常時に ドライバが異常時に ドライバ異常が提供さドライバ異常が提供さ れない れる 異常を認識できず 減速指示が遅れ衝突する (SC3 違反 ) - ドライバが異常時にドライバ異常が短すぎる 異常を認識できず 減速指示が遅れ衝突する (SC3 違反 ) 28
4. ドライバ異常時安全停車システム ( 事例 ) STAMP/STPA<Step1>: UCA 導出方法 走行システム ドライバ アイドル減速正常異常加速ドライバ異常時安全停車システム加速正常異常減速 環境 ご参考 CS 図に状態 ( コンテキスト ) をマッピングした UCA 分析の例 状態遷移の動作結果 ( 組み合わせ ) から効率よく UCA 抽出できないか今後検討予定 アイドル減速? 加速 車体 停止 走行 29
4 ドライバ異常時安全停車システム 事例 30
4. ドライバ異常時安全停車システム ( 事例 ) STAMP/STPA<Step2>: HCF の特定例 UCA-1 ドライバ状態 ( 正常 / 異常 ) ドライバ異常を認識できず 減速指示が遅れ衝突する (SC3 違反 ) シナリオ 1 外部環境の光の影響によりシステムがドライバの状態を正しく認識できない 対策 : ドライバ状態の認識は 複数の異なる手段にて判断する ( 検出手段の冗長化 ) シナリオ 2 ドライバの装飾品 ( サングラス マスク ) によりシステムが ドライバの状態を正しく認識できない 対策 : ドライバの状態を正しく認識できない場合は その旨をドライバへ通知する ユーザマニュアルに利用時の注意点として記載する シナリオ 3 センサ異常によりドライバの状態を正しく認識できない 対策 : センサ異常を検出し 機能無効化する また ドライバへ通知する ( または センサの冗長化 ) ドライバ状態 ( 正常 / 異常 ) ドライバ監視ループ システム状態 光 31
4. ドライバ異常時安全停車システム ( 事例 ) STAMP/STPA<Step2>: 対策をシステムへの要求として反映しトレーサビリティを確保 STAMP/STPA 分析結果もエビデンスとして登録する 要求導出の根拠 STPA Step2 から導出されたシステム要求 32
4. ドライバ異常時安全停車システム ( 事例 ) STAMP/STPA による安全分析の結果を元にシステムズエンジニアリングへ Iteration を繰り返し 上流の早期に安全リスクを考慮したシステム開発が可能と考えられる Synthesis & Architecture Update Step0 Step1 Step2 Feedback & Trade-study Cost, -ilities,,,, Re-Analysis 33
Contents 1. 会社紹介 2. Motivation 3. システムモデルについて 4. ドライバ異常時安全停止システム ( 事例紹介 ) 5. まとめ 34
5. まとめ 抽象度の高いコンセプト初期においても STAMP/STPA の有効性を確認 早期に安全リスクを考慮できる ( 特に非故障に起因 ) システムアーキテクチャに選択肢をもたらす システムモデルを活用することで一貫したシステム開発への導き 可視化によるレビュー容易性 要求導出および設計エビデンスまでのトレーサビリティの確保 Repository ドライバ以外の Stakeholder( 販売 メンテナンス 廃棄ステージ等 ) の視点による STAMP/STPA 分析も重要 様々な視点により網羅性を向上させる System Subsystem と段階的に分析を繰り返えしが必要 35
ご清聴ありがとうございました 私 息子 Control Structure Controlled Process が顔に 36