第 6 章 ゴール指向 UML 設計手法の適用 事例事例
6.9 操作モデル→ロバストネス図変換 (STEP9)
状態ON」,「遮断バー状態開」,および「列車接近状態OFF→ON」がそのまま ライフラインのエンティティにそれぞれマッピングされる.
3. 操作シーケンスの描画とメッセージのマッピング
• 操作モデルの操作手続きが,メインのソフトウェア機能からサブソフトウェア 構成機能へのメッセージにマッピングされる.
• イベントが,メインソフトウェアのライフラインに対する入出力シーケンスへ のメッセージにマッピングされる.
シナリオは,次のようになる.アクター「:列車接近センサー」からメインのソフトウェ ア構成機能「列車接近管理」にイベント「接近列車検出」をマッピングしたメッセージを 送り操作の起動を要求する.メインの機能「列車接近管理」はその要求を受けてサブのソ フトウェア構成機能である「列車検出状態管理」に,操作「列車検出入力時その時に限り 列車検出状態をONにする」をマッピングしたメッセージを送って処理を起動する.サブ の機能「列車検出状態管理」はそのメッセージに従った処理を実行しエンティティ「:列 車検出情報」を入力してエンティティ「:列車検出状態ON」を出力する.サブの機能「列 車検出状態管理」のフローを受けて,メインの機能「列車接近管理」は次に続くサブの機 能「列車接近状態管理」に操作「列車検出状態ONで列車接近状態をOFF→ONにする」
をマッピングしたメッセージを送り処理を起動する.サブの機能「列車接近状態管理」は そのメッセージに従った処理を実行しエンティティ「:列車検出状態ON」と「遮断バー 状態開」を入力してエンティティ「:列車接近状態OFF→ON」を出力する.最後にメイ ンの機能を介して最終結果をアクター「遮断バーコントローラ」に通知する.
6.9 操作モデル→ロバストネス図変換 (STEP9)
さらに,6.7節で作成した操作モデル図6.11を,QVT変換規則(図5.11)に従って,モ ニタ不能駆動のロバストネス図に変換すると図 6.13になる.
図 4.8の変換テンプレートの対応に従って操作モデルは,ロバストネス図に置換えられ,
続いて対応するモデル要素がマッピングされる.ロバストネス図に含まれるモデル要素は,
⒦慙㘴扠ኘዐኒዙ
拽㠼ክዙነ ዐእዊዙ
⒦慙㮫⒉㣑ቀቑ㣑棟ቭ⒦慙 㮫⒉䕅㏚ት21ሼቮ
᧶⒦慙㮫⒉㍔⫀
᧶拽㠼ክዙ䕅㏚栚 㘴扠⒦慙㮫⒉
᧶⒦慙㘴扠䕅㏚2))ൺ21
⒦慙㮫⒉䕅㏚21ቊ⒦慙㘴扠 䕅㏚ት2))ൺ21ሼቮ
⒦慙@㘴扠ኘዐኒዙሮቬ ቑ⏴┪ቊ⒦慙㘴扠䕅㏚
2))ൺ21
⒦慙㮫⒉嫷䯉⣷ ⒦慙㮫⒉䕅㏚21 ᧶⒦慙㮫⒉䕅㏚21
ᨵゞ
⒦慙㮫⒉⣷
拽㠼ክዙነ ዐእዊዙ
⒦慙㮫⒉䕅㏚21ቊ⒦慙 㘴扠㍔⫀ት♥㈦ሼቮ
᧶⒦慙㮫⒉䕅㏚21
᧶拽㠼ክዙ䕅㏚栚
⒦慙㮫⒉䕅㏚21
᧶⒦慙㘴扠䕅㏚2))ൺ21 拽㠼ክዙ䕅㏚栚㣑᧨
⒦慙㘴扠₼ቫቭ㘴扠 䕅㏚ት2))ൺ21ሼቮ 拽㠼ክዙ䕅㏚栚㣑᧨
⒦慙㮫⒉䕅㏚21ቊ⒦慙 㘴扠䕅㏚2))ൺ21
⒦慙㘴扠㍔⫀♥㈦
᧶⒦慙㘴扠㍔⫀
拽㠼ክዙነ ዐእዊዙ
図 6.13: センサーによる接近検出ロバストネス図
バウンダリオブジェクト,エンティティオブジェト,コントローラ,およびアクターである.
バウンダリオブジェクトはシステムと会話するアクターとの境界になるので,アクターに 起因する開始イベント,システムによる操作の結果発生する結果イベント,およびある操 作の結果発生し次の操作の原因となる中間イベントによってマッピングされる.また,エ ンティティオブジェクトは操作によって入出力されるエンティティによって,コントロー ラは処理や機能に相当するので操作によって,またアクターは環境エージェントによって それぞれマッピングされる.
図 6.13の表現内容は以下のようになる.アクター「列車接近センサー」はバウンダリ
「接近列車検出」を介してコントローラ「列車検出入力時そのときに限り列車検出状態を ONにする」を駆動し,当該コントローラは,バウンダリ「列車検出状態ON」を介して,
その結果をエンティティ「:列車検出状態ON」として出力したことを通知し列車検出を 表示している.続けて,このバウンダリ「列車検出状態ON」を介してコントローラ「列 車検出状態ONで列車接近状態OFF→ONにする」が駆動され,バウンダリ「列車接近セ ンサーからの入力で列車接近状態OFF→ON」を介して,その結果をエンティティ「:列 車接近状態OFF→ON」として出力されたことが通知されている.これらのバウンダリは
6.9. 操作モデル→ロバストネス図変換(STEP9) 89 外部世界との接点になるので,操作モデルにおけるイベントがマッピングされている.ま た,バウンダリを介して起動されるコントローラは,同様に操作がマッピングされている.
コントローラと入出力で関連付けられているエンティティは,同様に操作モデルにおける 入出力エンティティがそれぞれマッピングされたものである.
91