特集:IoTがもたらす製造業の革新〜進化する製品、サービス、工場のかたち〜
連載
» 2018年06月15日 10時00分 公開

基礎から学ぶSTAMP/STPA(3):STPAの分析を実際にやってみる (4/6)

[石井正悟(IPA ソフトウェア高信頼化センター 調査役),MONOist]

Step 0(準備2):コントロールストラクチャーを構築する

 このステップでは、STAMPにおいて最も基本的なモデルといえる制御構造(コントロールストラクチャー)図を作成する。初めてSTAMPに取り組む人にはここが最初の難関であろう。STAMP Workbenchには、対象システムのコントロールストラクチャーのひな型を自動生成する機能があり、コントロールストラクチャーの構築を支援する。

 まずは要求仕様をじっくり読んで、要求仕様に書かれていることを「コンポーネント抽出表」に書き出していく(図7)。そして、「コンポーネント抽出表」から「コントロールストラクチャー図の生成」を選択するとひな型が自動生成される(図8)。

図7 図7 STAMP Workbench操作画面:コンポーネント抽出表(クリックで拡大)
図8 図8 STAMP Workbench操作画面:自動生成されたコントロールストラクチャーのひな型(クリックで拡大)

 STAMP Workbenchは、コントロールストラクチャーのひな型を自動生成するが、それでコントロールストラクチャーが完成するわけではない。自動生成されたひな型を見ながら、図を編集して完成させる必要がある。

 自動生成されたコントロールストラクチャーのひな型から、コンポーネントの配置をいろいろ変えてみる。もし「このコンポーネントはシステムの安全維持の仕組みに関与しない」と思ったら、そのコンポーネントを対象外にする。逆に「この抽象度であれば、ここにはコンポーネントがあるべきではないか」と思ったら、足りないコンポーネントを追加する。さらに、コンポーネント間のコントロールアクションやフィードバック、入出力の追記などを行う。このようにコンポーネントの追加、削除、統合、分割、コンポーネント間の相互作用の充足を行い図9のようなコントロールストラクチャーを完成させる。

図9 図9 STAMP Workbench操作画面: コントロールストラクチャー図(クリックで拡大)

 なお、コントロールストラクチャーを図上で編集した作業の結果は、図7のコンポーネント抽出表にも自動的に反映される。

 コンポーネント抽出表に入力するときには、穴だらけでも良いので、取りあえず入力してみる。コントロールストラクチャー図のひな型を見れば、コンポーネントの過不足や抽象度のゆらぎ、安全維持の仕組みを表すコントロールループが途切れているなど、おかしなところを認識し易い。もし、おかしなところがあればコントロールストラクチャー図で編集すればコンポーネント抽出表も自動的に修正される。つまり、あまり悩まずに作成してみると良いということだ。図をじっくりながめ、考え、修正する作業を繰り返すことで、コントロールストラクチャー作成の勘が養える。この経験を積めばひな型が無くても、いきなりコントロールストラクチャーを作図できるようになるだろう。

Copyright © ITmedia, Inc. All Rights Reserved.