stampベース・ ハザード分析支援ツール の概説とi-stampstampベース・...

37
STAMPベース・ ハザード分析支援ツール の概説とi-STAMP紹介 ET2017 仙台高等専門学校 岡本圭史

Upload: others

Post on 20-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

  • STAMPベース・ハザード分析支援ツールの概説とi-STAMP紹介

    ET2017

    仙台高等専門学校

    岡本圭史

  • 概要

    • STAMP(Systems-Theoretic Accident Model and Processes)は新しいアクシデントモデルであり,STAMPベースの分析手法として,ハザード分析手法STPA(System Theoretic Process Analysis)とアクシデント分析手法CAST (Causal Analysis based on STAMP)がある.

    • STPAはシステマチックなハザード分析手法である.しかし,STPAは単純であるが手間のかかる作業を含むため,ツールによるSTPA支援は必要である.例えば,図表の解釈やデータ連携を人間が適切に補うことで,汎用的な図表作成ツールを用いてSTPAを実施できる.しかし,専用ツールを用いて図表解釈やデータ連携を支援することで,分析者は本質的な分析により専念できる.他方,別の切り口のSTPA支援として,STPAの形式化やモデル検査法との連携についても研究されている.

    • 本発表では既存のSTAMPベース・ハザード分析支援ツールを概説し,IPAで開発中のSTAMP支援ツールi-STAMP(開発コード)を紹介する.

    2

  • 目次

    •はじめに

    • STAMP/STPAの概説

    • STAMP/STPA支援ツール:既存ツール• XSTAMPP

    • SafetyHAT

    • STAMP/STPA支援ツール:i-STAMP(仮)

    •まとめ

    3

  • 背景:STAMP/STPA導入の課題

    • STAMP/STPA導入における課題• STAMP/STPAプロセスのガイド⇒「はじめてのSTAMP/STPA入門編」他

    • 分析成果物の記述・修正に手間がかかる(後述)• 本来の分析に対する思考集中が妨げられる

    ⇒ STAMP/STPA支援ツール

    •ツール活用における課題• 既存STAMPツールは大学等による開発段階ツール

    • 連携・流用可能なMBD支援ツールは一般に高価

    4MBD:Model Base Development モデルベース開発

  • STAMP/STPAの概説

    • STAMP/STPA手順確認• 「はじめてのSTAMP/STPA入門編」を基に概説

    • STPAの各Stepの出力のデータ形式を紹介• [IPA2016] はじめてのSTAMP/STPA入門編

    • [Leveson,Thomas2013] A STPA Primer

    • STPAの各Stepで気付いた点・課題等• 標準的なデータ形式の課題

    • 描画ツール・表作成ツールによる記述の課題

    5

  • Step0-1 アクシデント,ハザード,安全制約の識別

    表 4.2-1 手順:Step0 準備1アクシデント、ハザード、安全制約の識別 [IPA2016]

    6

  • 例:Step0-1 A/H/SCの一覧表の出力

    表 4.2-2実施例:Step0アクシデント、ハザード、安全制約の識別 [IPA2016]

    7pp.47 [LevesonThomas2013]

    関係は一般に多対多項目に重複が発生(修正漏れの可能性)

    番号付けは参照時に便利

  • Step0-2 コントロールストラクチャーの構築

    出典:[I]pp.17,表 4.3 1 手順:Step0 準備2コントロールストラクチャーの構築

    8

    表形式もある(SafetyHAT)

  • 例:Step0-2出力 PM付CSD

    9Figure 2.13. Simple Safety Control Loop for a Train Door Controller [LevesonThomas2013]

    プロセスモデル:CA出力に必要な変数とその値の組例:ドア位置:全開例:列車位置:フォーム停車中

    責務:コンポーネントに対する高抽象度の要求

    プロセスモデルはStep1で利用したい

    CAは次Stepの出力と連携している

    各コンポーネントは意味(センサ等)を持つ

  • 例:Step0-2出力 CSD(詳細化)

    10

    Figure2.3. The high-level control structure for the docking operation of the HTV with the International Space Station ISS)[LevesonThomas2013]

    Figure 2.5. A more detailed view of the ISS control structure for HTV docking.[LevesonThomas2013]

    コントロールストラクチャーは大変複雑なので,抽象化したり,一部を詳細化することは,コントロールを理解するのに役立つ

    対応関係は人手で付ける

  • Step1 非安全制御動作の抽出

    表 4.4 1手順:Step1 UCAの抽出 [IPA2016]

    11

  • 例:Step1出力 UCA一覧表

    12表 4.4-2実施例:Step1 UCAの抽出 [IPA2016]

    縦:制御行動 横:ガイドワード(タイプ)Step0-1 CS図内のCAを列挙

    STPAで定義済

    ハザードへ至る条件(+ハザード,安全制約)

    番号を付与

    UCAに番号を付与すると参照が容易

  • Step2 誘発要因の特定

    4.5. Step2 HCF (Hazard Causal Factor)の特定[IPA2016]

    13

    ①にはリストを,②にはアノテーション付きCLDを使うこともある

  • 例:Step2出力CF一覧表とシナリオ

    14

    表 4.5-2実施例:Step2 HCF の特定 [IPA2016]

    横:ガイドワード

    4.5.1.【実施例】UCA1 に至るハザードシナリオ [IPA2016]

    縦:UCA

    ハザード要因

    シナリオ

    Step1 UCA表のUCAを列挙

    対応関係は人手で付ける

  • 例:Step2出力注釈付きCLD

    15

    扉コントローラ

    扉アクチュエータ 扉センサ

    扉(4)コンポーネント故障,経時変化

    命令ドア開,ドア開停止ドア閉,ドア閉停止

    指示ドア開,ドア開停,ドア閉,ドア閉停止

    機械的力 機械的位置

    フィードバック扉の位置

    他の入力列車の動き(走行中,停止中)列車の位置(駅,駅間)緊急指標(火災検知,ガス検知)

    ステータス扉は開いている扉は閉じている

    (1)コントロールの入力か外部情報が欠けているか間違っている

    (5)不適切か欠けているフィードバック,フィードバックの遅れ

    コントロールアルゴリズム

    (2)生成の欠陥,プロセスの変更,不正確

    な修正や適応

    プロセスモデル(3)矛盾,不完全,

    不正確

    (6)情報が与えられないか間違っている,測定が不正確,

    フィードバックの遅れ

    (7)遅れたアクション

    (8)不適切,有効でない,欠けたコントロールアクション

    (10)識別されないか範囲外の外乱

    (1)コントロールの入力か外部情報が欠けているか間違っている

    UCA:緊急時にもかかわらず,扉コントローラがドア開命令を与えない[H-3]

    シナリオ:扉コントローラはドア開命令を出したが,ドアが開かない.

    CF:火災でアクチュエータが動作不能

    CF:扉を閉じる際に障害物を挟み扉が動かない

    3.4.1 Identifying how safe control actions may not be followed or executed [Thomas2013]に追記

    コントローラーが人間の場合等に,「原因の例」を切り替えられると便利.(SafetyHATは対応している)

    図 2.5-1コントロールループで安全制約を破られる原因の例 [IPA2016]

  • 既存のSTAMP/STPA支援ツール• XSTAMPP:多彩な拡張機能(モデル検査連携等)

    • http://www.xstampp.de/

    • SafetyHAT:DB連携,ガイドワード編集• The Volpe STPA Tool

    • an STPA tool:拡張STPAをサポート• Tool assisted Hazard Analysis and Requirement Generation

    based on STPA

    • An STPA Tool

    • SAHRA: Enterprise Architect拡張• http://sahra.ch/

    [Krauss2015] Tool qualification considerations for tools supporting STPA[MIT] MIT Partnership for a Systems Approach to Safety (PSAS) web pages

    16

  • i-STAMP(仮)の特徴

    • i-STAMP(仮)• IPA/SECで開発中のSTAMPベース・ハザード分析支援ツール

    • 特徴:分析思考を妨げない• 分析結果間のトレーサビリティを確保• Step1, 2:分析結果の表中の項目を自動的に採番• Step2で使用するCLDのひな型を自動作成

    • 特徴:分析過程をガイド• Step0-2で記述したCAをStep1のUCA表に自動追加• Step1で記述したUCAをStep2のHCF表に自動追加• 必要情報を表形式で整理して,CSD(Step0-2)を生成

    • 特徴:分析思考を強化• Step1,2のガイドワードを編集可能

    • 特徴:他ツールとの連携• CSV形式で分析結果を出力可能

    17

    詳細は後述

  • 設計ツールの流用:AADL

    •専用ツール以外のツール(言語・記述法)の検討

    •汎用ツールの利用• ドローイング・ツール:コントロールストラクチャー図の記述

    • 表計算ツール:ハザード一覧表,UCA表他

    •設計ツール(言語,記法)の流用• 本来の使い方とは異なる使い方ことも

    • 詳細設計のみ⇒機能CSDを記述できない

    • [Procter2014] An Architecturally-Integrated, Systems-Based Hazard Analysis for Medical Applications• STPAの結果付きAADLモデルから分析報告書を自動作成

    18

  • AADLとは?

    • Architecture Analysis and Design Language (AADL)• アーキテクチャ分析設計用言語(テキスト形式,図式)

    • コンポーネントベース

    • 主たる記述対象:組込みシステム(HW/SW)

    • コンポーネント:Abstract• 3.5 Developing a Conceptual Model [Feiler2012]

    • Error Model Annex (EMV2)• AADLモデルにエラー情報を付加するための拡張

    • Error type:類型化されたエラーの階層構造

    • Error flows:コンポーネント間(内)のエラー伝搬

    • Error behavior:エラー状態の遷移

    • Properties:ハザードの情報等19

  • AADLによるSTAMP/STPA要素の記述

    コントローラー

    アクチュエーター

    センサー

    被コントロールプロセス

    制御アルゴリズムセットポイント

    制御変数測定変数

    外乱

    プロセス入力 プロセス出力

    AADL ConnectionAADL Process

    AADL Device

    AADL Abstract

    [2] Procter, S. and Hatcliff, J. An Architecturally-Integrated, Systems-Based Hazard Analysis for Medical Applications, Formal Methods and Models for Codesign(MEMOCODE), 2014

    20

    STAMP/STPA(Step2-1タイプ)

    Error Model Annex(エラータイプ)

    分析対象固有エラー・タイプ

    (拡張として定義)

    与えられないとハザード

    ServiceOmission, …

    ServiceOmission等の拡張エラー・タイプとして定義

    与えられるとハザード

    ServiceComission, … ServiceComission等の拡張エラー・タイプとして定義

    早すぎ、遅すぎ、誤順序でハザード

    EarlyDelivery, … EarlyDelivery等の拡張エラー・タイプとして定義

    早すぎる停止、長すぎる適用でハザード

    EarlyServiceTermination, …

    EarlyServiceTermination等の拡張エラー・タイプとして定義

  • XSTAMPP• eXtensible STAMP Platform

    •以下のプラグインを含む• A-STPA:A-STPAのスタンドアロン版の後継

    • A-CAST:CAST用

    • XSTPA:トーマス博士の拡張STPA用

    • STPASec:STPA for Security用

    • STPAPriv:STPA for Privacy用

    • STPA Verifier:モデル検査とSTPAの連携

    • STPA Safety-based Test Cases Generator

    21

    • [Abdulkhaleq] XSTAMPP 2.0: New Improvements to XSTAMPP Including CAST Accident Analysis and an Extended Approach to STPA• http://www.xstampp.de/• [Abdulkhaleq2015] A comprehensive safety engineering approach for software intensive systems based on STPA

    http://www.xstampp.de/

  • Step0-2出力 CSD (XSTAMPP)

    22

    CSDの構成要素を提供

    プロセスモデル

    Step0-2のCSD作成でCAを記述すると,step1のControl Actionsに自動的に追記される

    プロセスモデルの構成要素を提供

    サブコンポーネントのようなものは記述できない

  • 拡張Step1 (XSTAMPP)

    23

    Context Table

    プロセスモデル

    条件=(プロセス変数,プロセス値)の組

    Refined Unsafe Control Actions

    左の条件下で,ハザードへ至るか?

  • SafetyHAT

    • A Transportation System Safety Hazard Analysis Tool

    •データベース(Microsoft Access)と連携

    •エクセル形式で分析結果を出力可能

    •トランスポーテーションシステムに特化したタイプ(step1)とcausal factorのヒント(step2)を提供

    •コンポーネントタイプやガイドワードをカスタマイズ可能

    •図形式でCSDが記述できない(図とのリンク可能)

    24

    • https://www.volpe.dot.gov/infrastructure-systems-and-technology/advanced-vehicle-technology/safetyhat-transportation-system• [Hommes2014] The Volpe STPA Tool, 2014 STAMP Workshop

    https://www.volpe.dot.gov/infrastructure-systems-and-technology/advanced-vehicle-technology/safetyhat-transportation-system

  • Step0準備2 (SafetyHAT)

    テキスト入力

    新規コンポーネント

    入力済コンポーネント

    25

    入力済接続

    接続元コンポーネント

    接続終端コンポーネント

    名称:Step1で入力したコンポーネントから選択

    型:コントロールストラクチャー構成要素から選択

    コンポーネント入力

    コンポーネント間接続入力

    図形式ではなく,表形式で入力

  • Step1:UCAの抽出 (SafetyHAT)

    入力済UCA

    UCAに関係するハザード

    UCAの詳細

    一覧から選択

    テキスト入力または

    一覧から選択

    一覧から選択

    コントローラーとコントロールアクション

    の選択

    Step1タイプ 一覧から選択

    ドメイン特化したタイプが充実

    26

  • Step2:誘発要因の特定(SafetyHAT)

    コントローラーと非安全なコントロールアクション

    一覧から選択

    非安全なコントロールの原因

    入力済非安全なコントロールの原因

    一覧から選択

    テキスト入力

    UCA⇒コンポーネント・接続⇒CF

    27

    ドメイン特化したcausal factorが充実

  • i-STAMPの全体像

    28

    (1)本ツール開発範囲 (ソースコードおよびバイナリー公開)

    汎用形式データ出力

    STAMP図生成

    STAMP表生成

    外部ツール連携I/F

    STPA基本手順支援

    (2)既存モデルベース開発支援ツールのプラットフォーム(バイナリー公開)

    ファイル管理機能

    モデル描画基本機能

    GUI基本機能

    API基本機能

    モデル編集基本機能

    利用者が自社向けにツール強化、またはツールベンダーが強化して提供

    自社ツール形式データ

    出力

    STAMP図

    テンプレート追加

    STAMP表拡張

    自社ツール連携

    STPA手順カスタマイズ

    トレーサビリティ機能追加等、・・・

    IPA提供

    ツール開発受注者提供

    ツール利用者が開発して社内利用

    ツールベンダーが機能強化して提供

    他手法手順の追加(CAST,STPA-Sec等)

  • 課題:修正反映の手間 (詳細)

    29

    Step 0:(準備2)Control Structureの

    構築

    Step 2:HCF(Hazard Causal factor)の特定

    Step 1:UCA(Unsafe Control Action)の抽出

    STPA手順

    Step 0:(準備1)Accident、Hazard、

    安全制約の識別

    対策検討:安全要求追加

    解析の過程で不足や誤りに気付いたら立ち戻って解析し直す 後段に進むことで新たな気付きが得られる

    Step2

    Step1

    Step0-2

    Step0-1

    Step1

    Step0-2

    対策検討

    Step0-1

    Step2

    Step1

    Step0-2

    対策検討

    Step2

    Step1

    CS変更安全制約追加

    UCA追加

  • i-STAMPイメージ:Step0

    30

    登場人物 役割(安全関連責任) 備考

    1 設計部門 工事対象の踏切の制御論理、論理を実装する方法を設計し、施工部門に工事を指示する。

    2 施工部門 指令部門の了解のもと設計部門の指示内容に従って補修工事(結果確認を含む)を安全に実施する。

    2-1 施工管理者 万が一の列車進入に備えて見張り員を配置し、見張り開始終了を指示する。作業員に工事開始終了を指示する。

    2-2 見張り員 工事中列車進入の有無を監視し、発見時に作業員に待避指示し、作業員からの待避完了確認を待つ。待避完了を受け取ると列車を通過させ、確認がない場合列車を停止させる。

    2-3 作業員 踏切の補修工事を実施。列車進入時見張り員の指示に従って速やかに待避、待避完了後見張り員に待避完了確認を返す。

    3 指令部門 工事計画(工事許可申請)に従って当該工事区間の列車の運行を停止する。工事終了報告を受けると当該工事区間の列車の運行を再開する。

    3-1 輸送指令 工事計画(工事許可申請)に従って当該工事区間の列車の運転士に運行を停止させる。工事終了報告を受けると当該工事区間の列車の運転士に運行を再開させる。

    3-2 運転士 輸送指令からの指示に従って担当列車を停止あるいは走行させる。工事区間では、見張り員の指示に従って列車を停止あるいは走行させる。

    3-2 列車 運転士の指示に従って走行あるいは停止する。

    要求仕様

    IPAが推奨する詳細手順を誘導し、分析を支援する

    図形描画は自動化表記を自動的に統一IPA推奨表記を提供

    アクシデント(Loss) ハザード(Hazard) 安全制約(SafetyConstraints)

    (A1)工事作業者・車両・機材が列車と衝突する

    (H1-1)工事中に列車が踏切制御区間に進入する

    (SC1-1)工事中列車を踏切制御区間に進入させてはならない

    (A1)工事作業者・車両・機材が列車と衝突する

    (H1-2)工事中に列車が踏切制御区間に進入した時に工事が中断(待避)されない

    (SC1-2)工事中に列車進入したときは工事を中断(待避)させなければならない

    (A1)工事作業者・車両・機材が列車と衝突する

    (H1-3)工事中に列車が踏切制御区間に進入した時に見張り員の指示に従って停止しない

    (SC1-3)工事中に列車が踏切制御区間に進入してしまった時は見張り員の指示に従わなければならない

    (A2)緊急車両(消防車、救急車)が踏切を渡れず手遅れになる

    (H2-1)工事中、緊急車両が来ても踏切が遮断している

    (SC2-1)工事中でも緊急車両が来たら踏切を開放しなければならない

    (A3)通行者・車と工事関係者・車が衝突する

    (H3-1)工事中、踏切が遮断していない

    (SC3-1)工事中は踏切を遮断していなければならない

    Step0入力自然言語で記述された仕様書

    Step0出力 CS図

    from情報/指示

    (指示に伴う情報)to

    情報/指示(指示に伴う情報)

    処理の実行条件 ロジック

    クーラーのコントロー

    ラー

    この行は記入例

    室温を設定温度にする室温が設定温度より高ければ冷やす

    室温が設定温度より低ければ冷やすのを止める

    リモコン

    センサー

    設定温度室温

    コンプレッ

    サー出力増加指示

    コンプレッサーに対するCA

    室温>設定温度リモコンからの指示を受けたとき、

    室外機の状態が運転可ならば出力変更する

    室外機の運転状態

    利用者必要な商品の個数と配達先住所

    を正しく指定し、注文を行う

    商品一覧から購入希望商品(種類と数)を選択し

    て、注文を伝える

    販売管理機

    能商品一覧情報

    販売管理機

    PI1. 注文要求(コース種別、商品名、個数、配達先住所)

    外部入力 必要数≦在庫数必要数と在庫数を比較して注文要否を判断する

    在庫状況

    a. 販売可能な商品と在庫数の正しい情報を利用者に公開する

    a1. 最新の在庫情報を確認して販売可能な商品を利用者に公開する

    在庫データ 在庫情報 利用者 PO1. 商品一覧情報 外部出力・他の処理とは非同期に、定期的に実行する・制約条件は無し

    「在庫情報」を参照し、引当可能在庫がある商品の情報を公開する

    b. 利用者からの注文を受けると、商品の在庫を確認し、引き当てを行う

    b1. 在庫情報管理機能に対して、商品の引当を指示する 利用者注文要求(コース種別、商品名、個数、配達先住所)

    在庫情報管理機能

    CA1. 商品引当て要求(商品名、個数)

    CA 制約条件は無し「注文要求」を参照し、要求された商品名と個数について、引き当てを指示する

    c1. 在庫情報管理機能から、商品引当ができたことの通知を受けると、受注IDを発行して受注リストに追加する

    在庫情報管理機能

    引当て可否 受注リスト

    受注内容(受注ID、コース種別、商品名、個数、配達先住所)

    内部動作 商品の引当てができた「引当て可否」を参照し、引当に成功したら、受注内容の情報を受注リストに追加する

    c2. 商品引当に成功したら、利用者に受注確定を通知する

    在庫情報管理機能

    引当て可否 利用者

    PO2. 受注通知(受注ID、コース種別、商品名、個数、配達先住所)

    外部出力 商品の引当てができた「引当て可否」を参照し、引当に成功したら、受注した内容を利用者に伝える

    c3. 出荷機能に対して、商品の出荷を指示する在庫情報管理機能

    引当て可否 出荷機能CA2. 出荷指示(受注ID)

    CA 商品の引当てができた「引当て可否」を参照し、引当に成功したら、出荷機能に対して受注IDを示し、出荷作業着手を指示する

    d. 商品の在庫不足により注文を受けられない場合は、利用者にその

    旨を通知する

    d1. 在庫情報管理機能から、商品引当できなかったことの通知を受け、利用者に対して受注できない旨を通知する

    在庫情報管理機能

    引当て可否 利用者 PO3. 在庫なし通知 外部出力 商品の引当ができなかった「引当て可否」を参照し、利用者に対して受注不可能であることとを伝える

    e1. 出荷作業のステータスを更新する 出荷機能出荷完了報告(受注ID)

    受注リスト 出荷完了 内部動作 制約条件は無し「出荷完了報告」を参照し、報告された受注IDのステータスを「出荷完了」として受注リストを更新する

    e2. 優先コースの受注について、受注確定から(Y-Z-α)時間経過し、かつ、出荷が未完了の場合に、出荷機能に対して即時に出荷するよう指示を出す

    受注リスト 出荷進捗状態 出荷機能CA3. 即時出荷指示(受注ID)

    CA

    受注リストに対して定期的に以下の条件を検査し、条件が成立する受注が存在する場合に実行する(コース種別=優先) & (受注確定からの経過時間> Y-Z-α) & (出荷進捗状態=未完了)

    受注リストの「出荷進捗状態」を参照し、左記の実行条件が成立したら、受注IDとともに即時出荷を指示する

    f. 所定時間内の配達ができない見込みとなった場合は、利用者に通

    知する

    f1. 所定時間内の配達ができない見込みとなった場合に、注文主である利用者に通知する

    出荷機能出荷遅延対応要求(受注ID)

    利用者 PO4. 配送遅延通知 外部出力 制約条件は無し

    「出荷遅延対応要求」を参照し、該当する注文の利用者に対して、指定された所定時間内に配達できないことを伝える

    g1. 出荷指示を受けると、作業リスト(FIFOリスト)の最後に追加する

    販売管理機能

    出荷指示(受注ID)

    作業リスト 受注ID 内部動作 制約条件は無し「出荷指示」を参照し、指示された受注IDを作業リストに登録する

    g2. 作業リストの先頭の受注を取り出し、受注リストの情報を参照して商品をピックアップする

    作業リスト受注リスト

    受注ID、コース種別、商品名、個数、配達先住所

    無し 無し 内部動作作業リストが空ではない & 作業可能な状態である(他の出荷作業中ではない)

    「作業リスト」を参照し、リストが空でなければ先頭の受注IDを取り出し、「受注リスト」を参照して該当する商品をピックアップする。該当する商品の在庫がない場合は、作業リストの次の受注IDを取り出して該当商品をピックアップする。

    g3. 商品を梱包し、配送業者に配送を指示する 無し 無し 配送業者CA4. 配送指示(梱包済み商品、配達先住所)

    CA 商品のピックアップが完了する梱包済み商品と配達先住所の情報を配送業者に渡し、配送を指示する

    g4. 販売管理機能に対して、出荷完了を通知する 無し 無し販売管理機能

    FB2. 出荷完了報告(受注ID)

    FB 配送業者への配送指示が完了する 出荷作業が完了した受注IDを伝える

    g5. 在庫情報管理機能に対して、在庫データの更新を指示する

    無し 無し在庫情報管理機能

    CA5. 在庫データ更新要求(出庫商品名、個数)

    CA 配送業者への配送指示が完了する出荷が完了した商品名と個数を伝え、在庫データの更新を指示する

    g6. 販売管理機能から「即時出荷指示」を受けると、行っていた出荷作業を中断し、指示された受注IDの商品の梱包と配送業者への出荷を直ちに行う

    販売管理機能

    即時出荷指示(受注ID)

    配送業者CA4. 配送指示(梱包済み商品、配達先住所)

    CA 制約条件は無し「即時出荷指示」を参照し、指示された受注IDの商品の梱包と配送業者への出荷を直ちに行う

    h. 所定時間内の配達可否を判断し、遅延が見込まれる場合は販売管理機能に報告する

    h1. 所定時間内の配達ができない見込みとなった場合に、販売管理機能に利用者への通知を依頼する

    無し 無し販売管理機能

    CA6. 出荷遅延対応要求(受注ID)

    CA

    作業リストの先頭の受注が、以下の条件を満たす場合:(通常コース & 受注確定からの経過時間 > (X-Z) )または(優先コース & 受注確定からの経過時間 > (Y-Z) )

    作業リストの先頭の受注を取り出す度に、左記の実行条件が成立したら実行する

    i1. 注文された商品の在庫があれば「引き当て済み」として在庫データを更新し、二重注文を受けないように管理する

    販売管理機能

    商品引当要求(商品名、個数)

    在庫データ引当て済みの商品名、個数

    内部動作 引当て要求を受けた商品の在庫がある

    「商品引当要求」を参照し、指示された商品の在庫があれば、「引当て済み在庫(Allocated)」に割り当て、引当て可能在庫数(Available)をその分減じて在庫データを更新する

    i2. 引き当ての可否を通知する販売管理機能

    商品引当要求(商品名、個数)

    販売管理機能

    FB1. 引当て可否 FB 制約条件は無し「商品引当要求」を参照し、指示された商品の引当て可否を通知する

    j1. 商品の出荷時に在庫データを更新する。 出荷機能在庫データ更新要求(出荷済み商品名、個数)

    在庫データ 実在庫数 内部動作 制約条件は無し「在庫データ更新要求」を参照し、示された商品に対して、在庫データの実在庫数(On Hand)を更新する

    j2. 商品の入荷時に在庫データを更新する。 メーカ商品入荷情報(商品名、個数)

    在庫データ 実在庫数 内部動作 制約条件は無し「商品入荷情報」を参照し、示された商品に対して、在庫データの実在庫数(On Hand)を更新する

    在庫情報管理機能

    i. 受注した商品の引き当てを行い、重複受注を防ぐ

    g. 販売管理機能から指示された順に商品を梱包し、配達先の住所の情報と共に配送業者に出荷する。

    出荷機能

    e. 受注した商品が所定時間内に配達されるように出荷作業の進捗を管理し、必要に応じて出荷順の入

    れ替えを指示する。

    j. 商品の在庫数を正しく把握し、在庫切れの商品を受注することを防ぐ

    アルゴリズム関係するプロセスモデル(制御される側の状態)

    販売管理機能

    コンポーネント(機能、人)

    責務 処理input output 処理の種別

    (CA、FB、外部入力、外部出力、内部動作)

    c. 商品の引き当てを確認した上で、受注確定を利用者に通知し、出

    荷機能に出荷を指示する

    ワークシートを用いて整理

    ワークシートからCS図を自動生成

    ワークシート

    (既存STAMP支援ツール同様)CS図描画機能も提供

    要求仕様を整理する表アクシデント・ハザード・安全制約を整理する表安全を維持するための制御を抽出するための表

  • i-STAMPイメージ:Step0出力

    31

    踏切制御装置

    アクシデント,ハザード,安全制約の一覧表

    コントロールストラクチャー図

  • # コントロールアクション

    Not Providing Providing causeshazard

    Too early / Too late Stop too soon / Applying too long

    1 鳴動開始指示 (UCA1)警報が鳴らずに列車が踏切を通過する(踏切が閉まらない)(SC1)違反

    列車が来ないのに警報が鳴る

    (UCA2)警報鳴動する前に列車が踏切に到達する(閉まるのが遅く間に合わない)(SC1)違反

    開始指示が継続するので、列車通過後に鳴動停止指示が出ても鳴動し続ける。

    2 鳴動停止指示 列車が通過後も警報が鳴りっぱなし

    (UCA3)列車が通過中に鳴動停止する(SC2)違反

    (UCA3)列車が通過完了する前に鳴動停止する(閉めた後、開くのが早すぎる)(SC2)違反

    (UCA1)列車通過後も鳴動停止指示が続き、次の列車が来ても鳴動しない(開始指示と競合)(SC1)違反

    3 マスク開始指示 A,Cを通過した列車がBに到達した時に再鳴動する

    (UCA4)列車が来ないのにマスク指示し、警報鳴動しない(UCA4)反対側の開始センサーにマスク指示し、警報鳴動しない(SC1)違反

    (UCA5)終始センサーへのマスク指示が遅れ、列車の当該センサー通過に間に合わないと、マスク指示が残り、対向列車が2本続いたときに警報鳴動しない(SC1)違反

    (UCA6)列車が反対側の開始センサー通過後までマスク指示し続けると、対向列車が来ても鳴動しない(SC1)違反

    4 マスク解除指示 (UCA6)反対側の開始センサーにマスク解除指示が出ず、対向列車が来ても鳴動しない(マスク指示後に列車が引き返す場合を含む)(SC1)違反

    警報が再鳴動する 列車がBを通過完了前に出ると再鳴動する

    解除を後続列車によるマスク開始指示と競合るとマスクされずに再鳴動する可能性がある

    # コントロールアクション

    Not Providing Providing causeshazard

    Too early / Too late Stop too soon / Applying too long

    1 鳴動開始指示

    2 鳴動停止指示

    3 マスク開始指示

    4 マスク解除指示

    i-STAMPイメージ:Step1

    32

    ドメインに応じてガイドワードを編集,選択可能

    アクシデント(Loss) ハザード(Hazard) 安全制約(SafetyConstraints)

    (A1)工事作業者・車両・機材が列車と衝突する

    (H1-1)工事中に列車が踏切制御区間に進入する

    (SC1-1)工事中列車を踏切制御区間に進入させてはならない

    (A1)工事作業者・車両・機材が列車と衝突する

    (H1-2)工事中に列車が踏切制御区間に進入した時に工事が中断(待避)されない

    (SC1-2)工事中に列車進入したときは工事を中断(待避)させなければならない

    (A1)工事作業者・車両・機材が列車と衝突する

    (H1-3)工事中に列車が踏切制御区間に進入した時に見張り員の指示に従って停止しない

    (SC1-3)工事中に列車が踏切制御区間に進入してしまった時は見張り員の指示に従わなければならない

    (A2)緊急車両(消防車、救急車)が踏切を渡れず手遅れになる

    (H2-1)工事中、緊急車両が来ても踏切が遮断している

    (SC2-1)工事中でも緊急車両が来たら踏切を開放しなければならない

    (A3)通行者・車と工事関係者・車が衝突する

    (H3-1)工事中、踏切が遮断していない

    (SC3-1)工事中は踏切を遮断していなければならない

    ID振り直しも自動実行

    Step1入力

    ハザード,安全制約の一覧表

    CS図

    ガイドワードのセットを編集、選択、UCA表に自動的に反映

    UCA表の固定部分を自動生成 UCA抽出に専念してUCA表を作成

    UCAにIDを自動付加SCとのリンクを設定

    Step1出力 UCA表

  • i-STAMPイメージ:Step1出力

    33

    UCA表

  • i-STAMPイメージ:Step2

    34

    ヒントワードは選択可能(「(人)対(機械)」等)

    アクシデント(Loss) ハザード(Hazard) 安全制約(SafetyConstraints)

    (A1)工事作業者・車両・機材が列車と衝突する

    (H1-1)工事中に列車が踏切制御区間に進入する

    (SC1-1)工事中列車を踏切制御区間に進入させてはならない

    (A1)工事作業者・車両・機材が列車と衝突する

    (H1-2)工事中に列車が踏切制御区間に進入した時に工事が中断(待避)されない

    (SC1-2)工事中に列車進入したときは工事を中断(待避)させなければならない

    (A1)工事作業者・車両・機材が列車と衝突する

    (H1-3)工事中に列車が踏切制御区間に進入した時に見張り員の指示に従って停止しない

    (SC1-3)工事中に列車が踏切制御区間に進入してしまった時は見張り員の指示に従わなければならない

    (A2)緊急車両(消防車、救急車)が踏切を渡れず手遅れになる

    (H2-1)工事中、緊急車両が来ても踏切が遮断している

    (SC2-1)工事中でも緊急車両が来たら踏切を開放しなければならない

    (A3)通行者・車と工事関係者・車が衝突する

    (H3-1)工事中、踏切が遮断していない

    (SC3-1)工事中は踏切を遮断していなければならない

    Step2入力

    Step2出力 HCF表

    ID振り直しも自動実行

    # コントロールアクション

    Not Providing Providing causeshazard

    Too early / Too late Stop too soon / Applying too long

    1 鳴動開始指示 (UCA1)警報が鳴らずに列車が踏切を通過する(踏切が閉まらない)(SC1)違反

    列車が来ないのに警報が鳴る

    (UCA2)警報鳴動する前に列車が踏切に到達する(閉まるのが遅く間に合わない)(SC1)違反

    開始指示が継続するので、列車通過後に鳴動停止指示が出ても鳴動し続ける。

    2 鳴動停止指示 列車が通過後も警報が鳴りっぱなし

    (UCA3)列車が通過中に鳴動停止する(SC2)違反

    (UCA3)列車が通過完了する前に鳴動停止する(閉めた後、開くのが早すぎる)(SC2)違反

    (UCA1)列車通過後も鳴動停止指示が続き、次の列車が来ても鳴動しない(開始指示と競合)(SC1)違反

    3 マスク開始指示 A,Cを通過した列車がBに到達した時に再鳴動する

    (UCA4)列車が来ないのにマスク指示し、警報鳴動しない(UCA4)反対側の開始センサーにマスク指示し、警報鳴動しない(SC1)違反

    (UCA5)終始センサーへのマスク指示が遅れ、列車の当該センサー通過に間に合わないと、マスク指示が残り、対向列車が2本続いたときに警報鳴動しない(SC1)違反

    (UCA6)列車が反対側の開始センサー通過後までマスク指示し続けると、対向列車が来ても鳴動しない(SC1)違反

    4 マスク解除指示 (UCA6)反対側の開始センサーにマスク解除指示が出ず、対向列車が来ても鳴動しない(マスク指示後に列車が引き返す場合を含む)(SC1)違反

    警報が再鳴動する 列車がBを通過完了前に出ると再鳴動する

    解除を後続列車によるマスク開始指示と競合るとマスクされずに再鳴動する可能性がある

    ①上位からの指示や外部情報の誤り・欠落

    ②Control actionが不適切・無効・欠落

    ③動作の遅れ ④プロセスへの入力の誤り・欠落

    ⑤意図しない、または範囲外の外乱

    ⑥不十分な制御・アルゴリズム

    (UCA1)警報が鳴らずに列車が踏切を通過(踏切が閉まらず)

    ・踏切通過後に引き返す列車向け制御が不適切・鳴動停止継続により次の鳴動指示と競合

    センサーAが故障してAから踏切制御装置への通知が欠落

    (UCA2) 鳴動前に列車が踏切に到達(閉まるのが遅い)

    ・警報機の動作遅れ

    ・踏切制御装置の動作遅れ

    (UCA3)列車が踏切を通過する前に鳴動停止(開くのが早い)

    列車がAを通過後、踏切に到達する前に、Cが外乱により短絡する

    (UCA4)不正なマスク開始指示が出て、列車が来ても警報鳴動しない

    ・踏切制御装置の状態管理が不適切

    ・踏切制御装置の状態管理が不適切

    (UCA5)マスク解除指示漏れで、列車がきても鳴動せず

    ・超高速列車に対応できずにマスク解除の指示遅れ

    ・レール上の物体による外乱

    ・制御装置の処理に問題があり、マスク解除の指示遅れ

    (UCA6)マスク開始指示漏れ

    ・誤った外部入力(外乱)でマスク解除漏れ

    ・制御装置の処理遅れでマスク解除漏れ

    ・状態制御誤りでマスク解除漏れ

    ・不正な外部入力によりマスク解除漏れ

    ・非定常運行への対策漏れでマスク解除漏れ

    ①上位からの指示や外部情報の誤り・欠落

    ②Control actionが不適切・無効・欠落

    ③動作の遅れ ④プロセスへの入力の誤り・欠落

    ⑤意図しない、または範囲外の外乱

    ⑥不十分な制御・アルゴリズム

    (UCA1)警報が鳴らずに列車が踏切を通過(踏切が閉まらず)

    (UCA2) 鳴動前に列車が踏切に到達(閉まるのが遅い)

    (UCA3)列車が踏切を通過する前に鳴動停止(開くのが早い)

    (UCA4)不正なマスク開始指示が出て、列車が来ても警報鳴動しない

    (UCA5)マスク解除指示漏れで、列車がきても鳴動せず

    (UCA6)マスク開始指示漏れ

    コントロールプロセス:検知装置

    コントローラー:踏切

    ・検知開始指示

    ・発光開始指示・とりこの車・人

    ⑧ Control actionが不適切・無効・欠落

    ⑨制御行動の衝突。プロセス入力の誤り・欠落

    ⑩意図しない、または範囲外の外乱

    ⑪プロセス出力の誤り

    ④部品故障、経年変化

    ②不適切な制御アルゴリズム(作成時の欠陥、プロセス変更、誤った修正・適用)

    列車検知センサー

    コントロールループ図を自動作成

    HCF表の固定部分を自動生成

    HCFにIDを自動付加UCA,SCとのリンクを設定

    HCF特定に専念してHCF表を作成

    UCA表

    ハザード・安全制約一覧表

    CS図

  • i-STAMPイメージ:Step2出力

    35

    コントロールループで安全制約を破られる原因コントロールループ図

    HCF表

    ID HCF CLDで安全制約を破られる原因

    シナリオ

  • # 対策 関連UCA

    関連HCF

    対策対象コンポーネント

    備考

    1 マスク解除は両方向の開始センサーに行なう

    UCA4 4-1 踏切制御装置、開始センサーUCA6 6-4

    2 終始センサーが列車“到達”を検知したら、開始センサーへマスク指示する

    UCA4 4-2 踏切制御装置、開始センサー

    列車“到達”を前提として再度STPA分析要

    3 開始センサーからの信号が途絶えたら警報を鳴らす

    UCA1 1-1 踏切制御装置、開始センサー

    Heartbeat、Healthy信号等による監視機能が必要

    4 センサー検出順番の不正を検出したら警報鳴動し続ける

    UCA1 1-2 踏切制御装置 順番の正誤判断基準要

    5 異常に短時間の短絡は異常と判断し、警報鳴動し続ける

    UCA1 1-2 踏切制御装置、開始/終始センサー

    異常時間の判断基準要

    UCA3 3-1

    6 異常に長時間の短絡は異常と判断し、マスク解除し、警報鳴動する

    UCA5 5-1 踏切制御装置、開始/終始センサー

    異常時間の判断基準要、開始と停止の指示競合時の処理判断基準要

    UCA6 6-5 踏切制御装置、

    7 退行時には非常手続きが必要 UCA1 1-31-4

    列車、運転士 外部コンポーネントも絡む

    # 対策 関連UCA

    関連HCF

    対策対象コンポーネント

    備考

    1 UCA4 4-1

    UCA6 6-4

    2 UCA4 4-2

    3 UCA1 1-1

    4 UCA1 1-2

    5 UCA1 1-2

    UCA3 3-1

    6 UCA5 5-1

    UCA6 6-5

    7 UCA1 1-31-4

    i-STAMPイメージ:対策検討

    36

    検討に必要な関連情報を即座に表示

    Step2出力 HCF表

    対策からの逆方向リンクも自動設定

    アクシデント(Loss) ハザード(Hazard) 安全制約(SafetyConstraints)

    (A1)工事作業者・車両・機材が列車と衝突する

    (H1-1)工事中に列車が踏切制御区間に進入する

    (SC1-1)工事中列車を踏切制御区間に進入させてはならない

    (A1)工事作業者・車両・機材が列車と衝突する

    (H1-2)工事中に列車が踏切制御区間に進入した時に工事が中断(待避)されない

    (SC1-2)工事中に列車進入したときは工事を中断(待避)させなければならない

    (A1)工事作業者・車両・機材が列車と衝突する

    (H1-3)工事中に列車が踏切制御区間に進入した時に見張り員の指示に従って停止しない

    (SC1-3)工事中に列車が踏切制御区間に進入してしまった時は見張り員の指示に従わなければならない

    (A2)緊急車両(消防車、救急車)が踏切を渡れず手遅れになる

    (H2-1)工事中、緊急車両が来ても踏切が遮断している

    (SC2-1)工事中でも緊急車両が来たら踏切を開放しなければならない

    (A3)通行者・車と工事関係者・車が衝突する

    (H3-1)工事中、踏切が遮断していない

    (SC3-1)工事中は踏切を遮断していなければならない

    Step2入力

    # コントロールアクション

    Not Providing Providing causeshazard

    Too early / Too late Stop too soon / Applying too long

    1 鳴動開始指示 (UCA1)警報が鳴らずに列車が踏切を通過する(踏切が閉まらない)(SC1)違反

    列車が来ないのに警報が鳴る

    (UCA2)警報鳴動する前に列車が踏切に到達する(閉まるのが遅く間に合わない)(SC1)違反

    開始指示が継続するので、列車通過後に鳴動停止指示が出ても鳴動し続ける。

    2 鳴動停止指示 列車が通過後も警報が鳴りっぱなし

    (UCA3)列車が通過中に鳴動停止する(SC2)違反

    (UCA3)列車が通過完了する前に鳴動停止する(閉めた後、開くのが早すぎる)(SC2)違反

    (UCA1)列車通過後も鳴動停止指示が続き、次の列車が来ても鳴動しない(開始指示と競合)(SC1)違反

    3 マスク開始指示 A,Cを通過した列車がBに到達した時に再鳴動する

    (UCA4)列車が来ないのにマスク指示し、警報鳴動しない(UCA4)反対側の開始センサーにマスク指示し、警報鳴動しない(SC1)違反

    (UCA5)終始センサーへのマスク指示が遅れ、列車の当該センサー通過に間に合わないと、マスク指示が残り、対向列車が2本続いたときに警報鳴動しない(SC1)違反

    (UCA6)列車が反対側の開始センサー通過後までマスク指示し続けると、対向列車が来ても鳴動しない(SC1)違反

    4 マスク解除指示 (UCA6)反対側の開始センサーにマスク解除指示が出ず、対向列車が来ても鳴動しない(マスク指示後に列車が引き返す場合を含む)(SC1)違反

    警報が再鳴動する 列車がBを通過完了前に出ると再鳴動する

    解除を後続列車によるマスク開始指示と競合るとマスクされずに再鳴動する可能性がある

    UCA表

    CS図

    ハザード・安全制約一覧表

    対策一覧の固定部分を自動生成

    リンクしたUCA,HCF,CS図を容易に参照可能

    対策立案に専念

    関連HCF,UCA,SCとのリンク設定を再構築

  • まとめ• STAMP/STPAの概説

    • プロセス,出力形式,課題

    • STAMP/STPA支援ツール紹介• XSTAMPP,SafetyHAT,i-STAMP

    37

    XSTAMPP SafetyHAT i-STAMP

    Step0準備1:出力 リスト(関連付け有) リスト(関連付け有) リスト(関連付け有)

    Step0準備2:CSD 図 リスト(図関連付け可) 図

    Step1:出力 UCA表 UCA表 UCA表

    Step2:出力 CF表 CF表 CF表

    カスタマイズ性 多くのプラグイン コンポーネントタイプ,ガイドワードの追加定義可能

    Step2ガイドワード拡張に対応

    その他 トーマス博士の拡張Step1に対応(XSTPA)モデル検査連携CAST,STPA-sec他対応

    データベース連携エクセル形式出力可

    CSDの詳細化・抽象化に対応