システム構成
(コンフィギュレーション)
Control loops ゴールモデル 整形後
要求記述
(ゴールモデル)
プロセス 整形
図3.1.Control loopの位置づけ
図3.2.KAOSゴールモデルの記述例
当てられているAgent2は外部環境アクタを示すこととなる.ここで,要件,期待はゴールの 一種であり,本研究では以降,特に断らない限り,ゴールと要件とを総称してゴールと呼ぶ.
KAOSでは,これらの要求を分析・記述するモデル要素の他に,エージェントへの責務割り 当て(Responsibility assignment)や,ゴールとエンティティとの関連(Concerns)などを定義 するためのリンク,つまり関係線を提供している.また,ゴールが表現する状態を達成するた めの動作をオペレーションとして定義し(Operationalization),ゴールと関連付けることも可 能である.このように,KAOSにおいては,ゴールモデルをもとに分析を進めることで,シス テムに実装すべき操作を抽出・記述することも可能であり,ゴール以外の様々なモデル要素を 図形表現で記述することが可能である.
KAOSはこれらの図形表現モデルを提供する一方で,各モデル要素を形式的に定義するた めの論理表現も提供している.この論理表現には時相論理に基づいた記述が想定されており,
KAOSでは既に,対象とするドメインに依存しない記述分類手段や分析手段としていくつかの
パターン[40, 39, 41]が提供されている.例えばDarimontらは,文献[40]において,ゴール
記述に関する4種類のゴールパターンを定義している.
• Achieve goals:いずれは満たされなければならない状態を記述したゴール(P ⇒3Q)
• Cease goals:いずれは解消しなければならない状態を記述したゴール(P ⇒3¬Q)
Pэ䕻Q
Pэ䕻R Rэ䕻Q
図3.3.Milestone-drivenパターン
Pэ䕻Q
PҍP1э䕻Q1 PҍP2э䕻Q2 䕕(P1ҎP2) Q1ҎQ2эQ
図3.4.Case-drivenパターン
• Maintain goals:常に満たされなければならない状態を記述したゴール(P ⇒2Q)
• Avoid goals:常に避けなければならない状態を記述したゴール(P ⇒2¬Q)
ここで,3は将来のいずれかの時点で真となることを,2は今後常に真であることを表わす時 相演算子であり,P には各ゴールに対する事前条件が,Qには各ゴールが満たすべき状態が対 応する.
一般にゴール指向要求分析法においては,ゴール分解(詳細化)の難しさが指摘されている が,KAOSにおいては,ゴールの詳細化を支援するために各種の詳細化パターンも提案されて いる.代表的な詳細化パターンとして,ゴール達成のために経由しなければならない状態群へ の分解を促すMilestone-drivenパターン[42](図3.3)や,ゴールを実現するための事前条件 を分解することで,場合分けによるゴールの詳細化を促すCase-drivenパターン[40](図3.4) などが知られている.
KAOSはこのように,ゴール間の階層構造が記述可能な図形表現だけでなく,背後に論理 表現も併せ持つもつことで要求の系統的な分析を支援する要求分析法であり,また,エンティ ティやオペレーションなどのシステム設計の概念も記述できることから,本研究では,要求記 述にKAOSのゴールモデルを利用し,この系統的な分析により構築されるゴール間の階層構
造をControl loopの同定とコンフィギュレーションの構築に活用する.