検索
連載

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

第1回で「STAMP/STPAとは何か」に焦点を当てて分析手法の流れを紹介し、第2回ではSTAMP/STPAの各ステップで「何をすべきか(What)」「それはどうやればよいのか(How)」を中心に紹介してSTAMP/STPAの実践手順を解説した本連載。最終回の第3回では、実際にやってみてSTAMP/STPAの勘所や注意点を示しながら解説する。

Share
Tweet
LINE
Hatena

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.

ページトップに戻る