第 7 章 適用実験による評価
7.2 国際航空券予約システムのロバストネス分析の評価
7.2.1 実験内容
国際航空券予約システムを事例として提案アプローチを適用し,ゴールモデルをロバス トネス図に変換した.その結果において,ゴールモデルとロバストネス図のモデル要素を 比較し,その対応を評価した.
まず,国際航空券予約システムのゴールモデルについて説明する.航空券を予約すると きには,様々な優先度が存在する.例えば,好きな航空会社,時間優先の旅行,決められ た到着時刻などである.航空券予約システムは,このような様々な要望に対応したサービ スを提供する必要がある.図 7.2は,「満足できる航空券予約」をトップゴールとして,国 際航空券予約システムに対する要求を分析し定義したゴールモデルである.ゴールモデル 全体を表示しているため細部の判別が困難になっているが,まずは全体構成の形を見てほ しい.実験内容にかかわる変換の説明は,赤い円11で囲まれたANDグラフを例にとって 行う.
図7.2では複雑な図となるため省略しているが,ゴール実現に責任を持つエージェントや ゴールが関心を持つエンティティを含めたゴールモデルとなっている.このゴールモデル は三階層である.最下層の親ゴールが要求ゴールであり,それぞれ実現責任を持つ単独の エージェントが関連付けられる.最下層のサブゴールとそれらの関連は,要求ゴールをど のように実現するかをイベントに対応した振舞いシナリオで示している.図 7.2の右側に
BookingTheConvenientFlightsCombinationSatisfiedWith
ConvenientFlightsCombinationBooker
PreferenceItemsLists
SelectPreferenceItemsWithPriorityRegardingFlights
DisplayFlightsCombinationsWithComparedPreferenceItems
BookTheConvenientFlightsCombinationThroughEachAirline
PreferenceItemsSelector
FlightsCombinationDisplay
FlightsCombinationBooker PreferenceItemsWithPriority
ConvenientFlightsCombinations FlightsCombinations
BookedFlightsCombination
Concerns Concerns
Concerns
Concerns Concerns
Concerns Concerns Concerns
図 7.3: [BookTheConvenientFlightsCombination] Goal model
ある赤い円11で囲っている箇所は,要求ゴール「満足な便利な航空券組合せの予約」をマ イルストーン駆動の洗練パターンで洗練化した部分である.この部分を拡大すると,図7.3 になる.各ゴールに関連するソフトウェアエージェントとエンティティも明示してある.
この部分を例にとり,ゴールモデルからロバストネス図への変換内容を説明する.ゴー ルモデルの詳細は以下のようになる.まず,サブゴール「航空券の優先項目と優先度の選 択」を実現し,次にサブゴール「航空券組合せとその優先項目比較の表示」を実現した後,
最後にサブゴール「航空会社を通した便利な航空券組合せの予約」を実現することで,親 ゴールの実現を果たす.サブゴール「航空券の優先項目と優先度の選択」は,エンティティ
「優先項目リスト」と「優先項目と優先度」をそれぞれ入力と出力とし,サブゴール「航空 券組合せとその優先項目比較の表示」は,エンティティ「優先項目と優先度」および「航空 券組合せ」と「便利な航空券組合せ」をそれぞれ入力と出力とする.またサブゴール「航 空会社を通した便利な航空券組合せの予約」は,「便利な航空券組合せ」と「予約された航 空券組合せ」をそれぞれ入力と出力とする.それぞれのサブゴール実現責任は,実現の順 番に,「優先項目セレクター」,「航空券組合せ表示」,「航空券組合せブッカー」のそれぞ れのソフトウェアエージェントが負っている.親の要求ゴール「便利な航空券組合せの予 約」は,エンティティ「航空券組合せ」および「優先項目リスト」と「予約された航空券組 合せ」をそれぞれ入力と出力とし,ソフトウェアエージェント「便利な航空券組合せブッ
7.2. 国際航空券予約システムのロバストネス分析の評価 105
図 7.4: [BookTheConvenientFlightsCombination] Robustness diagram カー」が実現責任を負っている.
ゴールモデルからロバストネス図へは以下の手順で変換した.図 7.3のゴールモデルを,
STEP7(操作モデルへのQVT変換規則図5.4による),STEP9(ロバストネス図へのQVT 変換規則図 5.11による)に従って,ロバストネス図(図7.4)に変換した.
変換結果ロバストネス図(図7.4)の内容を説明する.アクターは旅行者である.三個の コントローラが中心になる.それぞれのコントローラは処理要求と処理結果出力に相当す るバウンダリオブジェクトと関連付けられ,さらに入力エンティティと出力エンティティ と関連付けられている.一番上のコントローラ「航空券の優先項目と優先度を選択する」
はバウンダリオブジェクト「便利な航空券組合せの予約要求」を介して処理要求され,エ ンティティ「優先項目リスト」を入力して処理結果であるエンティティ「優先度付き優先 項目」を出力する.その結果は,バウンダリオブジェクト「優先項目決定」を介してアク ターに通知される.さらに,そのバウンダリオブジェクトを介して,次の処理をコントロー ラ「優先項目比較付の航空券組合せを表示する」に要求する.このコントローラは,エン ティティ「優先度付き優先項目」と「航空券組合せ」を入力し,エンティティ「便利な航 空券組合せ」を出力する.その結果は,バウンダリオブジェクト「得られた便利な航空券 組合せ」を介してアクターに通知される.さらに,そのバウンダリオブジェクトを介して,
次の処理をコントローラ「便利な航空券組合せを各航空会社を通して予約する」に要求す
る.この最後のコントローラは,エンティティ「便利な航空券組合せ」を入力し,エンティ ティ「予約された航空券組合せ」を出力する.その結果は,バウンダリオブジェクト「便 利な航空券組合せを予約する」を介してアクターに通知され,一連の処理は終了する.こ のように,このロバストネス図による処理はマイルストーン駆動により流れているのが理 解できる.
ここまでで,図 7.2の赤円11の要求ゴールの洗練化部分を例にとって,ゴールモデル からロバストネス図への変換手順について説明したが,緑の円で囲った1〜10の要求ゴー ルを洗練した部分についても同様に変換した.緑円1〜10も,赤円11と同じくマイルス トーン駆動洗練パターンによって洗練化されている.また,それらの変換結果であるそれ ぞれのロバストネス図も,図 7.4と同様に,マイルストーン駆動による処理の流れになっ ていた.
7.2.2 評価の方法と判断基準
提案アプローチは,KAOSによる要求定義モデルの洗練パターンによる振舞いの情報を 変換テンプレートを介して変換していくことにより,ロバストネス図に継承することを目 的のひとつとしている.ここでは,この洗練パターンの継承について評価した.評価の方 法として,要求ゴールを洗練化したゴールモデル(図7.2の円1〜11)とそれを変換したロ バストネス図とを,処理手続の形態(洗練パターンまたは変換テンプレート)や対応する モデル要素についてそれぞれ比較した.対応するモデル要素は,「ゴールモデルのモデル要 素-ロバストネス図のモデル要素」で示すと,サブゴール-コントローラ,エンティティ-エ ンティティオブジェクト,イベント-バウンダリオブジェクト,環境エージェント-アクター となる.なお,環境エージェントとイベントは操作モデルのモデル要素である.
判断基準として,処理手続の形態やモデル要素の内容,数が同等であれば,正常に継承 できていると判断した.内容は名称によって表現されているので,ここでは「名称(内容)」
としてそのことを表わした.KAOSモデルとロバストネス図では,サブゴールとコントロー ラなどモデル要素の種類が異なるものがある.その場合は同じ名称にはならないが,同等 な意味であれば継承していると判断した.
7.2. 国際航空券予約システムのロバストネス分析の評価 107