STPAの分析を実際にやってみる:基礎から学ぶSTAMP/STPA(3)(4/6 ページ)
第1回で「STAMP/STPAとは何か」に焦点を当てて分析手法の流れを紹介し、第2回ではSTAMP/STPAの各ステップで「何をすべきか(What)」「それはどうやればよいのか(How)」を中心に紹介してSTAMP/STPAの実践手順を解説した本連載。最終回の第3回では、実際にやってみてSTAMP/STPAの勘所や注意点を示しながら解説する。
Step 0(準備2):コントロールストラクチャーを構築する
このステップでは、STAMPにおいて最も基本的なモデルといえる制御構造(コントロールストラクチャー)図を作成する。初めてSTAMPに取り組む人にはここが最初の難関であろう。STAMP Workbenchには、対象システムのコントロールストラクチャーのひな型を自動生成する機能があり、コントロールストラクチャーの構築を支援する。
まずは要求仕様をじっくり読んで、要求仕様に書かれていることを「コンポーネント抽出表」に書き出していく(図7)。そして、「コンポーネント抽出表」から「コントロールストラクチャー図の生成」を選択するとひな型が自動生成される(図8)。
STAMP Workbenchは、コントロールストラクチャーのひな型を自動生成するが、それでコントロールストラクチャーが完成するわけではない。自動生成されたひな型を見ながら、図を編集して完成させる必要がある。
自動生成されたコントロールストラクチャーのひな型から、コンポーネントの配置をいろいろ変えてみる。もし「このコンポーネントはシステムの安全維持の仕組みに関与しない」と思ったら、そのコンポーネントを対象外にする。逆に「この抽象度であれば、ここにはコンポーネントがあるべきではないか」と思ったら、足りないコンポーネントを追加する。さらに、コンポーネント間のコントロールアクションやフィードバック、入出力の追記などを行う。このようにコンポーネントの追加、削除、統合、分割、コンポーネント間の相互作用の充足を行い図9のようなコントロールストラクチャーを完成させる。
なお、コントロールストラクチャーを図上で編集した作業の結果は、図7のコンポーネント抽出表にも自動的に反映される。
コンポーネント抽出表に入力するときには、穴だらけでも良いので、取りあえず入力してみる。コントロールストラクチャー図のひな型を見れば、コンポーネントの過不足や抽象度のゆらぎ、安全維持の仕組みを表すコントロールループが途切れているなど、おかしなところを認識し易い。もし、おかしなところがあればコントロールストラクチャー図で編集すればコンポーネント抽出表も自動的に修正される。つまり、あまり悩まずに作成してみると良いということだ。図をじっくりながめ、考え、修正する作業を繰り返すことで、コントロールストラクチャー作成の勘が養える。この経験を積めばひな型が無くても、いきなりコントロールストラクチャーを作図できるようになるだろう。
Copyright © ITmedia, Inc. All Rights Reserved.