洗練パターンによるゴール指向ユースケースモデリング
6
0
0
全文
(2) ソフトウェアエンジニアリングシンポジウム 2014 IPSJ/SIGSE Software Engineering Symposium (SES2014) *. *. ኑዙወ ኤወ. ⒦慙㘴扠㣑拽 㠼ክዙ栘⒖㙪. 3. 拽㠼ክዙ䕅㏚栚ቑ㣑᧨ ⒦慙㘴扠ኘዐኒዙ ቫቮ悞⒖㘴扠䕅㏚ 2))ൺ21. $1'. 3. *. *. 拽㠼ክዙ䕅㏚栘ቑ㣑᧨ ⒦慙㘴扠䕅㏚21ൺ2)). 拽㠼ክዙ䕅㏚栘ቑ㣑᧨ ⒦慙㘴扠ኘዐኒዙ ቫቮ悞⒖㘴扠䕅㏚ 21ൺ2)). &RQFHUQV. ኇኳንኄኌእ ኤወ. ⒦慙㘴扠 ㍔⫀. ኅዙንኄዐእ. ⒦慙㘴扠 丰䚕㍔⫀. ,QSXW ⒦慙㘴扠ኘዐኒዙሮቬ ቑ⏴┪ቊ⒦慙㘴扠䕅㏚ ት2))ൺ21ሼቮ. ⒦慙ሮቬቑ抩䩴 ቊ⒦慙㘴扠䕅㏚ት 2))ൺ21ሼቮ. &DXVH. &DXVH. ,QSXW. 2XWSXW. ⒦慙㘴扠㮫⒉. ⒦慙㘴扠ኘዐኒዙሮቬ ቑ⏴┪ቊ⒦慙㘴扠䕅㏚ ት21ൺ2))ሼቮ. ⒦慙㘴扠抩䩴. 㝜⇫ ⒦慙ሮቬቑ抩䩴 ቊ⒦慙㘴扠䕅㏚ት 21ൺ2))ሼቮ &DXVH. ⒦慙抩拝㮫⒉. ネス図に変換するプロセスとその適用事例について説明し 親和的統合を目的とした KAOS モデルからユースケース. ኅዐኣኀኣኀ. &DXVH. ὀ䠖 1. ิ㌴᥋㏆ሗ䛿䠈ิ㌴᳨ฟሗ䜔ิ㌴᥋㏆㏻▱ሗ䜢ྵ䜐䠊 2. ิ㌴᥋㏆⟶⌮ሗ䛿䠈ิ㌴᥋㏆≧ែON䜢ྵ䜐䠊. 図 1. ⒦慙㘴扠 丰䚕㍔⫀. KAOS モデルをユースケースモデルを介してロバスト た.本稿では,KAOS モデルとユースケースモデルのより. &RQFHUQV. ⒦慙抩拝 ㍔⫀. 2XWSXW. *. 拽㠼ክዙ䕅㏚栘ቑ㣑᧨ ⒦慙ሮቬቑ抩䩴 ቫቮ⒦慙㘴扠䕅㏚ 21ൺ2)). &RQFHUQV. ⒦慙㘴扠丰䚕. 4. KAOS モデルからユースケースモデルへの 変換アプローチ 筆 者 ら は ,Goal-Oriented Robustness Analysis[8] で ,. ዙኲኑዙወ ᧶尐㻑ኑዙወ. 3. * *. 拽㠼ክዙ䕅㏚栚ቑ㣑᧨ ⒦慙ሮቬቑ抩䩴 ቫቮ⒦慙㘴扠䕅㏚ 2))ൺ21. *. 拽㠼ክዙ䕅㏚栘ቑ㣑᧨ ⒦慙㘴扠䕅㏚21ൺ2)) ቊ拽㠼ክዙ栚⒖㙪. 拽㠼ክዙ䕅㏚ 栘值㖐. &RQFHUQV. 弻↊ ኤወ. 㝜⇫ ኤወ. * 拽㠼ክዙ䕅㏚栚ቑ㣑᧨ ⒦慙㘴扠䕅㏚2))ൺ21 ቊ拽㠼ክዙ栘⒖㙪. ኑዙወ. ⒦慙抩拝㈛拽 㠼ክዙ栚⒖㙪. $1'. 拽㠼ክዙ䕅㏚栚ቑ㣑᧨ ⒦慙㘴扠䕅㏚2))ൺ21. *. *. *. 3 拽㠼ክዙ䕅㏚ 栚值㖐. *. $1'. 3. * ⒦慙ቑ㘴扠槭㘴扠䕅㏚ ⮘▥ሯቍሧ㣑᧨拽㠼 ክዙቑ䚍⸘⏷䕅㏚值㖐. ば,要求を正しく反映した設計が期待できる.. 拽㠼ክዙቑ⸘⏷Ⓟ㈰. ⒦慙抩拝抩䩴. ኁዐእ. 遮断バー安全制御の KAOS モデル例 (一部省略). Fig. 1 Example of KAOS model expresses portions of cross bar safety control. モデルへの変換アプローチを提案する.. 4.1 変換アプローチの要旨 提案アプローチは,KAOS ゴールモデルを洗練パター ンを介してユースケースモデルに変換する.入力となる. KAOS ゴールモデルは,関連するエージェントやエンティ ティ等オブジェクトを含めてモデル化され,洗練パター ンによって詳細化されたものを対象としている.洗練パ ターンとは,それを使うとゴールを戦略的に分解できると. Lamsweerde[9] が推奨している AND グラフの基本的な分. 2. ゴール指向要求分析手法 KAOS. 解パターンである.表 1 に,ゴールモデル洗練パターン 6 種類の一覧を示す.要求ゴールはリーフゴールとして抽出. KAOS はゴール指向要求分析の代表的な手法のひとつで. されるため,それぞれの要求ゴールは詳細化に使用した洗. あり,抽象的なゴールを最終目標に設定し,それを AND/OR. 練パターンの組み合わせによって関連付けられていること. グラフで洗練・詳細化することによってシステムに対する. になる.一方,出力となるユースケースモデルは,ユース. 要求を分析・抽出する [1].単独のエージェントにその責務. ケース図とユースケース記述で構成される.ユースケース. を割当てることができるリーフゴールがシステムに対する. 記述としては,ユースケースのシナリオをイベントフロー. 要求である.KAOS は,ゴール(Goal) ,責任(Responsi-. 図で表現した.. bility),オブジェクト(Object),操作(Operation)の基. 提案アプローチの骨子は以下のようになる.. 本的4モデルで構成され,ゴールモデルを中心に要求を分. ( 1 ) ゴールモデルから操作モデルを導出する.要求ゴール. 析する.KAOS はゴールから操作要求を導くのに有効であ. をサブゴールとして抽出している AND グラフをそれ. る [7].KAOS モデルの例として,図 1 に鉄道踏切を安全. ぞれ洗練パターンに基づいて操作モデルに変換する.. に制御する踏切コントローラの一部である遮断バー安全制. ( 2 ) それぞれの操作モデルを,洗練パターンに基づきユー. 御のモデルを示す.平行四辺形によるモデルがゴールモデ ルである.すなわち,平行四辺形のノードがゴールである. 階層的に詳細化した最下層の太枠の平行四辺形がシステム に対する要求となる.本稿では以降,説明のため,リーフ ゴールとして抽出した要求を要求ゴールと呼ぶ.図 1 の最 下層にある楕円と五角形はそれぞれ要求ゴールを実現する ための操作とその操作を起動するイベントである.. 3. ユースケースモデル ユースケースモデルはユースケース図とユースケース記 述で構成される.ユースケース記述には,ユースケース図. スケース図に変換する.. ( 3 ) こうして導出したユースケース図と KAOS モデルを 相互に洗練する.. ( 4 ) それぞれの要求ゴールをさらに洗練しイベントを抽出 するゴールモデルを作成する.. ( 5 ) それぞれのゴールモデルを,洗練パターンに基づき操 作モデルに変換する.. ( 6 ) それぞれの操作モデルを,洗練パターンに基づきイベ ントフロー図に変換する. 以下,2 章で説明した図 1 のゴールモデルを例にとって 変換アプローチを具体的に説明する.. の説明としてユースケースのシナリオや事前・事後条件な どが記述される.ユースケースモデルは,オブジェクト指. 4.2 ゴールモデルからユースケース図への変換. 向開発における要求定義モデルとしてよく使用される.例. 以下,図 1 を入力例として,提案アプローチを具体的に. えば,ICONIX はユースケース駆動プロセスであり,獲得. 説明する.それぞれ,P0 は分割・統治,P2 と P3 はガー. された要求がユースケースモデルに適切に反映されていれ. ド条件導入,P22 と P32 はケース分解の洗練パターンによ. c 2014 Information Processing Society of Japan ⃝. 46.
(3) ソフトウェアエンジニアリングシンポジウム 2014 IPSJ/SIGSE Software Engineering Symposium (SES2014) 表 1 ゴールモデルの洗練パターン一覧. 洗練パター. 㐽᩿䝞䞊䝁䞁䝖䝻䞊䝷. ิ㌴᥋㏆⟶⌮. Table 1 View of Goal model refinement pattern. 3HUIRUPDQFH. 㐽᩿䝞䞊≧ែ㛤䛾䠈ิ㌴᥋㏆≧ែ㻻㻲㻲䊻㻻㻺䛸䛩䜛 ิ㌴᥋㏆≧ែ㻻㻺. 2XWSXW. 説明. ิ㌴᥋㏆䝉䞁䝃䞊䛛䜙 䛾ධຊ䛷ิ㌴᥋㏆≧ែ䜢 㻻㻲㻲䊻㻻㻺䛻䛩䜛. ン名 マイルス. いくつかのマイルストーンを経由して目標状. トーン駆動 ケース分解. 態に到達するパターン 複数の独立したサブ状態から成る目標状態を. ิ㌴᥋㏆᳨ฟ. ガード条件. 実現するパターン ガード条件成立時に目標状態に到達できるパ. 導入 分割・統治. ターン 単純なサブゴールに分解してそれ毎に実現す. ิ㌴᥋㏆䝉䞁䝃䞊. モニタ不能. るパターン 関心事のモニタ能力がない時にモニタ機能を. 駆動 制御不能駆. 外部に割振るパターン 関心状態の制御能力がない時に外部に制御を. 動. 割振るパターン. 㐽᩿䝞䞊䝁䞁䝖䝻䞊䝷. 㐽᩿䝞䞊㛢ษไᚚ 3HUIRUPDQFH. ิ㌴᥋㏆䛻㐽᩿䝞䞊䜢㛢䛨䜛 2XWSXW. 㐽᩿䝞䞊≧ែ㛢ษᣦ♧. 2XWSXW. ,QSXW. AND. 㐽᩿䝞䞊≧ែ㛤 䜢⥔ᣢ䛩䜛. 3HUIRUPDQFH. ,QSXW. &DXVH. 㐽᩿䝞䞊≧ែ㛤. 㐽᩿䝞䞊㛤≧ែ 㐽᩿䝞䞊䝁䞁䝖䝻䞊䝷. 図 2. 図 3. ᥋㏆ิ㌴. 列車接近状態 ON 操作モデル ⒦慙㘴扠䕅㏚ት. Fig. 3 Operation model of train approaching condition ON 2))ൺ21ቋሼቮ ิ㌴᥋㏆ ㏻▱. ⒦慙㘴扠䕅㏚. ⒦慙㘴扠㣑 拽㠼ክዙ ት栘ሻቮ. ⒦慙㘴扠䕅㏚ት 2))ൺ21ቊ拽 2))ൺ21ቋሼቮ 㠼ክዙት栘 ⒖㙪ራቮ <<precedes>> <<include>> ⒦慙㘴扠䕅㏚ ⒦慙㘴扠㣑 <<include>> 拽㠼ክዙ䕅㏚ 2))ൺ21ቊ拽 拽㠼ክዙ 栚ት值㖐ሼቮ 㠼ክዙት栘 ት栘ሻቮ ⒖㙪ራቮ <<include>>. ิ㌴᥋㏆ 㐽᩿䝞䞊 ㏻▱ 䝁䞁䝖䝻䞊䝷. 㐽᩿䝞䞊 䝁䞁䝖䝻䞊䝷. 拽㠼ክዙ䕅㏚ 栚ት值㖐ሼቮ. ,QSXW. ,QSXW. 㐽᩿䝞䞊≧ែ㛤 2XWSXW. ,QSXW &DXVH. 2XWSXW. 㐽᩿䝞䞊≧ែ㛤䛾䠈 ิ㌴᥋㏆≧ែ㻻㻲㻲䊻㻻㻺䛷 㐽᩿䝞䞊䜢㛢䛻ษ䛘䜛. 㐽᩿䝞䞊≧ែ 㛤⥔ᣢไᚚ. ,QSXW. ิ㌴᳨ฟሗ. 2XWSXW. ิ㌴䛛䜙䛾㏻▱ 䛷ิ㌴᥋㏆≧ែ䜢 3HUIRUPDQFH 㻻㻲㻲䊻㻻㻺䛻䛩䜛 ,QSXW ิ㌴᥋㏆⟶⌮ ิ㌴᥋㏆ ,QSXW &DXVH 㐽᩿䝞䞊≧ែ㛤 ㏻▱ሗ ิ㌴᥋㏆㏻▱. ิ㌴᥋㏆≧ែ㻻㻲㻲䊻㻻㻺 2XWSXW. 2XWSXW. 㐽᩿䝞䞊≧ែ㛤䛾䠈 ิ㌴᥋㏆≧ែ㻻㻲㻲䊻㻻㻺 䛸䛩䜛 &DXVH. ิ㌴᥋㏆ ≧ែ⟶⌮ 3HUIRUPDQFH. ,QSXW. ิ㌴᥋㏆ሗ. 図 4. 遮断バー閉切換ユースケース図. Fig. 4 Use case diagram of closing cross bar. ิ㌴᥋㏆㻻㻲㻲䊻㻻㻺 ิ㌴᥋㏆㏻▱. ⒦慙㘴扠ኘዐኒዙ ሮቬቑ⏴┪ቊ⒦慙 㘴扠䕅㏚ት 2))ൺ21ሼቮ. 遮断バー閉切換操作モデル. Fig. 2 Operation model of closing cross bar. ิ㌴᥋㏆䝉䞁䝃䞊. る分解である.. 4.2.1 ゴールモデルから操作モデルの導出. ิ㌴᥋㏆㏻▱ ิ㌴᥋㏆䝉䞁䝃䞊. 最初に,要求ゴールをサブゴールとして抽出している. AND グラフをその洗練パターンに対応する操作モデルで 置換える.洗練パターンごとに対応する定型的な操作のモ デルは用意されている.ゴールは操作の結果であるため, ゴールを操作にマッピングすることができる.従って,サ. ᥋㏆ิ㌴. 図 5. ิ㌴᥋㏆㏻▱. ⒦慙㘴扠 䕅㏚ት 2))ൺ21 ቋሼቮ. ⒦慙㘴扠 䕅㏚ት 2))ൺ21 ቋሼቮ. ⒦慙㘴扠ኘዐኒዙ ሮቬቑ⏴┪ቊ⒦慙 㘴扠䕅㏚ት 2))ൺ21ሼቮ ⒦慙ሮቬቑ抩䩴ቊ ⒦慙㘴扠䕅㏚ት 2))ൺ21ሼቮ. ⒦慙ሮቬቑ抩䩴ቊ. 列車接近状態 ON ユースケース図 ⒦慙㘴扠䕅㏚ት. 2))ൺ21ሼቮ. Fig. 5 Use case diagram of train approaching condition ON ᥋㏆ิ㌴. ブゴールを操作に置換え,さらに親ゴールをそれら操作の. 次に,結果イベントを親ユースケースに,操作をサブユース. 結果実現される操作結果のイベントに置換えている.以. ケースにそれぞれマッピングする.さらに,開始イベント,. 降,説明のため,最初の操作の要因となるイベントを開始. 中間イベント、または結果イベントに関連付けていた環境. イベント,操作の結果発生し次の操作を駆動するイベント. エージェントを,ユースケースに関連するアクターにマッ. を中間イベント,および一連の操作の最終結果として出力. ピングする.最下層のユースケースが要求ゴールに対応す. される操作結果のイベントを結果イベントと呼ぶ.. る.上位のユースケースは洗練パターンの手続きに沿って. 図 1 のゴールモデルを参照して具体例を説明する.こ. 関連付けられているため,最下層のユースケースを上位の. こでは,G2 を分解している P2 と P22 の系統を例にとる.. ユースケースに代入していくことにより,洗練パターンの. P2,P22 はそれぞれガード条件導入,ケース分解の洗練. 組み合わせによって最下層ユースケース間の関連付けがな. パターンによる分解である.これら P2 と P22 の部分は,. されたユースケース図に変換される.. 図 2 と図 3 のように,それぞれ洗練パターンに対応する 操作モデルで置換えられ,ゴールモデルの情報がマッピン グされている.. 4.2.2 操作モデルからユースケース図への変換. 4.3 ユースケース図と KAOS モデルの相互洗練 導出したユースケースをレビューし,その結果をゴール モデルと相互に反映する.例えば,4.2.2 節で導出した図 4. 次に,洗練パターンによる階層ごとにユースケース図に. のユースケース図を見るとユースケース「遮断バー状態開. 変換する.具体的にはまず,洗練パターンごとに用意され. を維持する」がある.同様に,本稿では割愛したが図 1 の. ている定型的なユースケース図で操作モデルを置換える.. ゴールモデル全体を変換したユースケース図を俯瞰すると,. c 2014 Information Processing Society of Japan ⃝. 47.
(4) ソフトウェアエンジニアリングシンポジウム 2014 IPSJ/SIGSE Software Engineering Symposium (SES2014) 㐽᩿䝞䞊㛤⥔ᣢ ⒦慙㘴扠ኘዐኒዙ ሮቬቑ⏴┪ቊ⒦慙 㘴扠䕅㏚ት 2))ൺ21ሼቮ. 㐽᩿䝞䞊≧ែ㛤⥔ᣢ. 㐽᩿䝞䞊㛤⥔ᣢ. 㐽᩿䝞䞊 㐽᩿䝞䞊 㐽᩿䝞䞊䛾⌧≧ែ⥔ᣢ䠄㻯㻕 㐽᩿䝞䞊䛾⌧≧ែ⥔ᣢ䠄㻯㻕 ⌧≧ែ㛤☜ㄆ ≧ែ㛤☜ㄆ. ⒦慙㘴扠䕅㏚ ት2))ൺ21ቋ ሼቮ. ิ㌴᥋㏆ 䝉䞁䝃䞊. 㐽᩿䝞䞊 㐽᩿䝞䞊䛾⌧≧ែ⥔ᣢ䠄㻯㻕 ⌧≧ែ㛤☜ㄆ 図 6 遮断バー開維持改訂ゴールモデル. Fig. 6 Revised goal model of㐽᩿䝞䞊䝁䞁䝖䝻䞊䝷 cross bar maintained open 㐽᩿䝞䞊≧ែ㛤⥔ᣢไᚚ 3HUIRUPDQFH. ᥋㏆ิ㌴. <<include>>. 㐽᩿䝞䞊≧ែ㛤⥔ᣢ 2XWSXW. 2XWSXW. 2XWSXW 3HUIRUPDQFH 㐽᩿䝞䞊䝁䞁䝖䝻䞊䝷 㐽᩿䝞䞊≧ែ㛤⥔ᣢไᚚ 2XWSXW 㐽᩿䝞䞊≧ែ㛤⥔ᣢ 㐽᩿䝞䞊䛾⌧≧ែ. 3HUIRUPDQFH. 㐽᩿䝞䞊≧ែ㛤 䜢☜ㄆ䛩䜛 㐽᩿䝞䞊≧ែ㛤⥔ᣢ. 䜢⥔ᣢ䛩䜛. ,QSXW. 㐽᩿䝞䞊 䝁䞁䝖䝻䞊䝷. 㐽᩿䝞䞊≧ែ㛤. 㐽᩿䝞䞊≧ែ㛤 3HUIRUPDQFH. 2XWSXW AND 2XWSXW 㐽᩿䝞䞊≧ែ㛤 2XWSXW &DXVH 㐽᩿䝞䞊⌧≧ែ &DXVH 2XWSXW 2XWSXW 2XWSXW ⥔ᣢไᚚ 㐽᩿䝞䞊≧ែ㛤 㐽᩿䝞䞊≧ែ㛤☜ㄆ2XWSXW ,QSXW. <<include>>. 3HUIRUPDQFH. 㐽᩿䝞䞊≧ែ㛤 㐽᩿䝞䞊≧ែ㛤 䜢☜ㄆ䛩䜛 䜢☜ㄆ䛩䜛 3HUIRUPDQFH 3HUIRUPDQFH. &DXVH &DXVH. 㐽᩿䝞䞊≧ែ㛤☜ㄆ 㐽᩿䝞䞊≧ែ㛤☜ㄆ. 2XWSXW. ,QSXW ,QSXW. 3HUIRUPDQFH3HUIRUPDQFH. ,QSXW. 拽㠼ክዙ䕅㏚栚 ት䭉崜ሼቮ. ,QSXW. ⒦慙㘴扠䕅㏚ 2))ൺ21ቊ拽 㠼ክዙት栘 ⒖㙪ራቮ. 拽㠼ክዙ䕅㏚ 栚ት䭉崜ሼቮ. 拽㠼ክዙቑ䚍䕅㏚ ት值㖐ሼቮ. 㐽᩿䝞䞊䛾⌧≧ែ. 㐽᩿䝞䞊䛾⌧≧ែ 䜢⥔ᣢ䛩䜛. 㐽᩿䝞䞊䝁䞁䝖䝻䞊䝷 䜢⥔ᣢ䛩䜛. 㐽᩿䝞䞊≧ែ㛤 㐽᩿䝞䞊≧ែ㛤 㐽᩿䝞䞊⌧≧ែ 㐽᩿䝞䞊⌧≧ែ &DXVH &DXVH ⥔ᣢไᚚ⥔ᣢไᚚ 㐽᩿䝞䞊≧ែ㛤 㐽᩿䝞䞊≧ែ㛤. <<precedes>>. ⒦慙㘴扠㣑 <<include>> 拽㠼ክዙ ት栘ሻቮ <<include>>. 㐽᩿䝞䞊≧ែ㛤 㐽᩿䝞䞊䝁䞁䝖䝻䞊䝷. 㐽᩿䝞䞊≧ែ㛤⥔ᣢไᚚ. ⒦慙ሮቬቑ抩䩴ቊ ⒦慙㘴扠䕅㏚ት 2))ൺ21ሼቮ. ิ㌴᥋㏆㏻▱. 図 9 遮断バー閉切換改訂ユースケース図. Fig. 9 Revised use case diagram of closing cross bar. 㐽᩿䝞䞊䝁䞁䝖䝻䞊䝷. 㐽᩿䝞䞊䝁䞁䝖䝻䞊䝷. 図 7. ิ㌴᥋㏆⟶⌮. 㐽᩿䝞䞊. 䝁䞁䝖䝻䞊䝷 遮断バー開維持改訂操作モデル 拽㠼ክዙቑ䚍䕅㏚. ት值㖐ሼቮ. 㐽᩿䝞䞊≧ែ㛤䛾䠈ิ㌴᥋㏆䝉䞁䝃䞊. Fig. 7 Revised operation model of cross bar maintained open. 㐽᩿䝞䞊 䝁䞁䝖䝻䞊䝷. 㐽᩿䝞䞊 䝁䞁䝖䝻䞊䝷. 拽㠼ክዙቑ䚍䕅㏚ <<include>> ት值㖐ሼቮ. 拽㠼ክዙቑ䚍䕅㏚ ት值㖐ሼቮ. &RQFHUQV. &RQFHUQV. ิ㌴᳨ฟ䛭䛾䛻㝈䜚 ิ㌴᳨ฟሗ ิ㌴᳨ฟ≧ែ㻻㻺 &RQFHUQV ิ㌴᳨ฟ≧ែ⟶⌮. 図 8. 遮断バー開維持改訂ユースケース図. &RQFHUQV. &RQFHUQV. ิ㌴᳨ฟ≧ែ㻻㻺. ิ㌴᥋㏆≧ែ⟶⌮. SensorONG2EF. センサーによる接近検出ゴールモデル. Fig. 10 Goal model of train approaching detected by sensor 㐽᩿䝞䞊䝁䞁䝖䝻䞊䝷. ิ㌴᥋㏆⟶⌮ 3HUIRUPDQFH. ิ㌴᥋㏆⟶⌮. 遮断バーのあるべき状態に合わせて遮断バーの現状態を維. &RQFHUQV. &RQFHUQV. ิ㌴᳨ฟ≧ែ㻻㻺䛷 ิ㌴᥋㏆≧ែ㻻㻲㻲䊻㻻㻺 ิ㌴᥋㏆≧ែ㻻㻲㻲䊻㻻㻺 &RQFHUQV. &RQFHUQV. ิ㌴᥋㏆䝉䞁䝃䞊. ิ㌴᳨ฟ≧ែ⟶⌮. ิ㌴᥋㏆䝉䞁䝃䞊. Fig. 8 Revised use case diagram of cross bar maintained open. 㐽᩿䝞䞊≧ែ㛤. &RQFHUQV &RQFHUQV ิ㌴᳨ฟ䛭䛾䛻㝈䜚 ิ㌴᳨ฟ≧ែ㻻㻺䛷 ิ㌴᥋㏆≧ែ⟶⌮ ิ㌴᥋㏆≧ែ㻻㻲㻲䊻㻻㻺 ิ㌴᳨ฟ≧ែ㻻㻺 ิ㌴᳨ฟ≧ែ㻻㻺. 図 10 CrossBarOpenedUCr. &RQFHUQV. &RQFHUQV. 㐽᩿䝞䞊≧ែ㛤䛾䠈ิ㌴᥋㏆䝉䞁䝃䞊 &RQFHUQV ิ㌴᳨ฟሗ ิ㌴᥋㏆≧ែ㻻㻲㻲䊻㻻㻺 䛻䜘䜛ิ㌴᥋㏆≧ែ㻻㻲㻲䊻㻻㻺 &RQFHUQV 㐽᩿䝞䞊≧ែ㛤. 拽㠼ክዙ䕅㏚栚 ት䭉崜ሼቮ. 拽㠼ክዙ䕅㏚栚 ት䭉崜ሼቮ. &RQFHUQV. ิ㌴᥋㏆⟶⌮ 䛻䜘䜛ิ㌴᥋㏆≧ែ㻻㻲㻲䊻㻻㻺. 㐽᩿䝞䞊䝁䞁䝖䝻䞊䝷. ิ㌴᥋㏆䝉䞁䝃䞊䛛䜙䛾ධຊ䛷ิ㌴᥋㏆≧ែ䜢㻻㻲㻲䊻㻻㻺䛻䛩䜛 3HUIRUPDQFH ิ㌴᥋㏆䝉䞁䝃䞊䛛䜙䛾ධຊ䛷ิ㌴᥋㏆≧ែ䜢㻻㻲㻲䊻㻻㻺䛻䛩䜛 ิ㌴᥋㏆≧ែ㻻㻲㻲䊻㻻㻺 2XWSXW. 持するユースケース「遮断バーの現状態を維持する」を共. 2XWSXW. ิ㌴᥋㏆≧ែ㻻㻲㻲䊻㻻㻺 2XWSXW 2XWSXW. 通ユースケースとして抽出できる.これをゴールモデルに フィードバックすると,図 6 のように G21 のゴールを遮断 バーの状態が開であることを確認続けるゴールと遮断バー の現状態を維持する共通ゴールに分割・統治洗練パターン で分解できる.ゴール「遮断バーの現状態維持 (C)」の(C) は共通ゴールであることを示している.図 6 を分割・統治 の洗練パターンに基づいて操作モデル,さらにユースケー. ิ㌴᳨ฟ≧ែ㻻㻺䛷ิ㌴ ิ㌴᳨ฟධຊ䛭䛾䛻㝈䜚 ิ㌴᳨ฟ≧ែ㻻㻺䛷ิ㌴ ᥋㏆≧ែ䜢㻻㻲㻲䊻㻻㻺䛻䛩䜛 3HUIRUPDQFH ิ㌴᳨ฟධຊ䛭䛾䛻㝈䜚 3HUIRUPDQFH ᥋㏆≧ែ䜢㻻㻲㻲䊻㻻㻺䛻䛩䜛 3HUIRUPDQFH 3HUIRUPDQFH ิ㌴᳨ฟ≧ែ䜢㻻㻺䛻䛩䜛 ิ㌴᳨ฟ≧ែ䜢㻻㻺䛻䛩䜛 2XWSXW ิ㌴᳨ฟ 2XWSXW ิ㌴᳨ฟ ิ㌴᥋㏆ ≧ែ⟶⌮ ,QSXW ิ㌴᥋㏆ 2XWSXW ≧ែ⟶⌮ ,QSXW ,QSXW ≧ែ⟶⌮ 2XWSXW ,QSXW ิ㌴᳨ฟ≧ែ㻻㻺 ≧ែ⟶⌮ &DXVH ิ㌴᳨ฟ≧ែ㻻㻺 &DXVH ิ㌴᳨ฟሗ &DXVH ,QSXW &DXVH ิ㌴᳨ฟሗ ,QSXW ิ㌴᳨ฟ≧ែ㻻㻺 ิ㌴᳨ฟ≧ែ㻻㻺 ᥋㏆ิ㌴᳨ฟ 㐽᩿䝞䞊≧ែ㛤 ᥋㏆ิ㌴᳨ฟ 㐽᩿䝞䞊≧ែ㛤 ิ㌴᥋㏆䝉䞁䝃䞊 ิ㌴᥋㏆䝉䞁䝃䞊. 図 11. センサーによる接近検出操作モデル. Fig. 11 Operation model of train approaching detected by sensor. ス図に変換すると,それぞれ図 7 と図 8 になる.図 8 の ユースケース図を図 4 のユースケース図に組込み,さらに. スに対応する要求ゴールは,図 1 の G221 である.G221. 図 5 を組込むと,図 1 の G2 を P2 と P22 で詳細化した系. 「遮断バー状態開の時,列車接近センサーによる列車接近. 統のユースケース図として図 9 を作成できる.. 状態 OFF → ON」は,モニタ不能駆動洗練パターンを使っ て図 10 のように詳細化できる.. 4.4 ゴールモデルからイベントフロー図への変換 4.4.1 要求ゴールを洗練しイベント抽出 4.3 節で決定した要求ゴールを,それぞれ表 1 の適合す. 4.4.2 要求ゴールの洗練モデルを操作モデルに変換 次に,要求ゴールを洗練したゴールモデルを 4.2.1 節で 述べた方法を使って操作モデルに変換する.具体的には,. る洗練パターンを使って,さらにソフトウエアを構成する. ゴールモデル図 10 を,モニタ不能駆動洗練パターンに基. 機能が果たすべきサブゴールに洗練する.要求ゴールをサ. づいて,操作モデル図 11 に変換する.. ブゴールに洗練する目的は,要求ゴールにおけるイベント. 4.4.3 操作モデルをイベントフロー図に変換. フローを導出するためである.従って,イベントフローが. 最後に,要求ゴールに対応する操作モデルをイベントフ. 明確になるまで洗練する.4.4 章では,4.2 節で作成した. ロー図に変換する.これが,要求ゴールに対応するユース. 図 5 に含まれるユースケース「列車接近センサーからの. ケースのイベントフロー図になる.イベントフロー図は要. 入力で列車接近状態を OFF → ON にする」のイベントフ. 求ゴールに対応するユースケースのシナリオを表現するも. ロー図作成を例にとり具体的に説明する.このユースケー. のであり,シーケンス図の表記法に準じて記述する.洗練. c 2014 Information Processing Society of Japan ⃝. 48.
(5) ソフトウェアエンジニアリングシンポジウム 2014. ዃዙኖዙኖ⦂√᧶. IPSJ/SIGSE Software Engineering Symposium (SES2014). ิ㌴᥋㏆䝉 䞁䝃䞊. ⒦慙㘴扠丰䚕. 㐽᩿䝞䞊 䝁䞁䝖䝻䞊䝷. ⒦慙㮫⒉ 䕅㏚丰䚕. ⒦慙㘴扠 䕅㏚丰䚕 䠖ิ㌴᳨ฟ ሗ. $70ትኖኜዙእ ቿአኴሼቮ. 䠖ิ㌴᳨ฟ ≧ែON. ิ㌴᳨ฟධຊ䛭䛾䛻㝈䜚ิ㌴᳨ฟ≧ែ䜢ON䛻䛩䜛(). ᥋㏆ิ㌴᳨ฟ䠄䠅. $70ኔኖኣኽ᧤㙟㫗㓚㽤᧥&6$708&. 䠖㐽᩿䝞䞊 䠖ิ㌴᥋㏆ ≧ែON ≧ែOFF→ON. ࣮࢜࣌ࣞࢱ. SUHFHGHV!!. SUHFHGHV!!. ิ㌴᳨ฟ≧ែON䛷ิ㌴᥋㏆≧ែ䜢OFF→ON䛻䛩䜛(). ♲ㄶ♥ㆤቑ倨倩᧫ 俑ℕት㖖⸩ሼቮ. ♲ㄶ♥ㆤ檔䥽 ት㼉⸩ሼቮ. 㢳ᐈ. SUHFHGHV!!. SUHFHGHV!!. ㆤ⒉⑵䚕 ትሼቮ 檟⏴ቯ⑵䚕 ትሼቮ 㢳ᐈࢥࣥࢯ࣮ࣝ. センサーによる接近検出イベントフロー図. 㸚浧䏶↩⑵ 䚕ትሼቮ. 㖾㦎⑵䚕 ትሼቮ. ኒዙኰኖ₼ቊቍሧ㣑 ኊዙኖኁአኞಯ2))ರ ቊ$70ትኔዀአእኝ ኃዐሼቮ. 6HVVLRQ 㖟⾜. ♲ㄶ♥ㆤ⑵䚕 ት⸮嫛ሼቮ. ิ㌴᥋㏆䝉䞁䝃䞊䛛䜙䛾ධຊ䛷ิ㌴᥋㏆≧ែ䜢OFF→ON䛻䛩䜛(). Fig. 12 Event flow diagram of train approaching detected by. ኒዙኰኖ₼ቑ㣑 ኊዙ㝜⇫ኖኁአኞ ት䎰╈ሼቮ. ◯㦘屲棳ቫቭ 櫶⸱㈔♦ሴ䕅㏚ ㈸タሼቮ. 櫶⸱㈔♦ሴ䕅㏚ሮ ቬ$70◯㦘∎䞷ት 栚ⱚሼቮ. 図 12. $70ትኔዀአእ ኝኃዐሼቮ. $70ቑ␔捷ዊኍ ት丰䚕ሼቮ $70ቑ␔捷ዊኍ ት坓䳜ሼቮ. ₜ㷲3,1ቫቭ♥ ㆤት₼㷱ሺ櫶⸱㈔ ♦ሴ䲊嫛ሼቮ. ₜ㷲3,1ⅴ⮥ቑኅዙ ቫቭ♥ㆤት₼㷱ሺ櫶 ⸱㈔♦ሴ䲊嫛ሼቮ. 7UDQVDFWLRQ. ኊዀዐኘወኊዙ ቫቭ㇢崁♥ㆤ ት₼㷱ሼቮ. ኁዐእኲዊዙ⦂√ ᧶$70ኘአኔዄዐ 図 13 ATM システムユースケース図 ࣮࢝ࢻ࣮ࣜࢲ. sensor. 㙟㫗㓚㽤
(6) . ᥦᡭἲ䛻䜘䜛㻭㼀㻹㻌㼟㼥㼟㼠㼑㼙య Fig. 13 Use case diagram of ATM system. パターンに対応する定型的なイベントフロー図は,あらか. . じめ用意されている. 操作モデル図 11 から,モニタ不能駆動洗練パターンに 櫶⸱ ነዐኚዙወ. 基づいた図 12 のイベントフロー図への変換を具体例とし. ኘአኔዄዐ 丰䚕. ♲ㄶ♥ㆤ Ⓟ㈰. $70◯㦘 丰䚕. ♲ㄶ♥ㆤ. ᧶櫶⸱㈔. ♦ሴ䕅㏚. 櫶⸱㈔♦ሴ䕅㏚ቛቑ$70䕅㏚䲊嫛
(7). 櫶⸱㈔♦ሴ䕅㏚
(8). て説明する.まず,全体がシーケンシャルなフローである. ᧶$70ኈዙኦ ᧶ 3,1㍔⫀. $70ኈዙኦ崼手
(9). モニタ不能駆動洗練パターンの定型的なイベントフロー図. 攏嫛. 3,1⏴┪
(10) ◯㦘∎䞷栚ⱚ
(11). に置換える.次に,図 11 で操作を駆動するイベント「接近. ORRS. 列車検出」と最終結果の結果イベント「列車接近センサー. DOW. からの入力で列車接近状態を OFF → ON にする」にそれ. ኈዙኦዙኝ. >♥ㆤ檔䥽指㔭@. ♲ㄶ♥ㆤ檔䥽指㔭
(12). >指㔭ሺቂ♲ㄶ♥ㆤት⸮嫛 @ $70ኈዙኦቋ3,1ቑⰴ㇢㊶⟞⚗ሾ
(13). ♲ㄶ♥ㆤ♾厌
(14) ♲ㄶ♥ㆤ
(15). ぞれ関連付けられた環境エージェント「列車接近センサー」 と「遮断バーコントローラ」をライフラインのアクターに, 結果イベント「列車接近センサーからの入力で列車接近 状態を OFF → ON にする」を実行するソフトウエアエー ジェント「列車接近管理」をライフラインのメインソフト ウエア機能に,操作「列車検出入力時その時に限り列車検 出状態を ON にする」,操作「列車検出状態 ON で列車接. ♲ㄶ♥ㆤ俑ℕ
(16). ◯㦘♥ㆤ俑ℕዘ◯㦘屲棳. $70ኈዙኦ♥⒉ሺ
(17). $70ኈዙኦ㘡⒉
(18). 櫶⸱㈔♦ሴ䕅㏚䲊嫛
(19). 図 14. ATM セッションイベントフロー図. Fig. 14 Event 㻿㼑㼟㼟㼕㼛㼚㻌㻿㼑㼝㼡㼑㼚㼏㼑䛾䜲䝧䞁䝖䝣䝻䞊ᅗ㻔ኚ᭦ᚋ flow diagram of ATM session. 近状態を OFF → ON にする」を実行するそれぞれのソフ トウエアエージェント「列車検出状態管理」と「列車接近. による占有取引可能な ATM システム」をトップゴールと. 状態管理」をそれぞれライフラインのサブソフトウエア構. する KAOS ゴールモデルを作成した.次に 4 章の手順に. 成機能に,さらに操作によって入出力されている 4 つのエ. 従い,その KAOS ゴールモデルに提案アプローチを適用し. ンティティ「列車検出情報」, 「列車検出状態 ON」, 「遮断. た.その結果作成した ATM システムのユースケース図と. バー状態開」 ,および「列車接近状態 OFF → ON」をその. ATM セッションのイベントフロー図は、それぞれ図 13 と. ままライフラインのエンティティにそれぞれマッピングす. 図 14 である.これらの図を,事例サイトで提供されてい. る.続けて,操作モデル図 11 の操作手順に従って,操作. る ATM システムのユースケース図図 15 およびセッショ. をモニタ不能駆動洗練パターンの手続きに基づくイベント. ンのイベントフロー図図 16 と比較した.ユースケース図. フロー図のメッセージにマッピングすると図 12 になる.. とイベントフロー図の両方とも,提案アプローチによる図. 5. 事例への適用. の方が多少粒度が小さく詳しい図となっているが,設計工 程に引き渡す要求定義情報(ユースケースの内容とイベン. 要求記述とそれに対するユースケースモデルが提供され. トフロー)としての大きな齟齬は見当たらない.論理的・. ている事例について,提案アプローチを適用しユースケー. 網羅的にモデリングした要求記述の内容を,漏れなく設計. スモデル(ユースケース図とイベントフロー図)を作成し. 工程に引き継ぐという目的に寄与できていると思われる.. た.さらに,提供されているユースケースモデルとの比較 を検証した.評価実験の対象事例として,Russell[10] が米 国 Gordon College のサイトに公開している ATM System に対する教育用題材を使用した. まず,提案アプローチ適用の準備として, 「ATM カード. c 2014 Information Processing Society of Japan ⃝. 6. 関連研究 Darimont ら [11] の時相論理定義の洗練パターンとイベ ントによる刺激−応答に基づく操作パターンは本稿でも採 用しているが,形式手法による記述は使っていない.今後. 49.
(20) ソフトウェアエンジニアリングシンポジウム 2014 IPSJ/SIGSE Software Engineering Symposium (SES2014). 6\VWHP 6WDUWXS Operator. に合わせることにより,提案アプローチの適用範囲が広が ると期待している.また,提案アプローチの自動化と手動. 6\VWHP 6KXWGRZQ. による部分を明確にすることは,今後の課題である. 謝辞. 6HVVLRQ ,QYDOLG LQFOXGH!!H[WHQG!! 3,1. Customer <<include>>. ツールとして国立情報学研究所 GRACE センター所有の. 7UDQVDFWLRQ ,QTXLU\. Bank. 「K-tool」を使用させて頂いた.当ツールの利用に関して ご協力を賜りました,国立情報学研究所 GRACE センター. 7UDQVIHU. :LWKGUDZDO. 本 研 究 は JSPS 科 研 費 24300005, 26330081,. 26870201 の助成を受けたものです.本論文では,KAOS. 長/東京大学 本位田真一教授を始め関係者の方々に深く感. 'HSRVLW. 謝致します. 図 15. ATM system ユースケース図(正解). Fig. 15 Use case diagram of ATM system provided &DUG5HDGHU. $70. . 6HVVLRQ. 参考文献 [1]. &XVWRPHU&RQVROH . Card Inserted(). [2]. <<create>>(this)() Perform Session()() Read Card()() Card(). Read PIN() pin. [3]. [While customer wants to 7UDQVDFWLRQ perform transactions] <<create>>(atm , this, card, pin)(). Perform Transaction(). [4]. Do again. x. eject Card(). x. [5] 図 16. ATM Session イベントフロー図(正解). Fig. 16 Event flow diagram of ATM session provided. の提案アプローチ改善の参考にしたい.Bresciani ら [12]. [6]. や Mylopoulos ら [13] の Tropos は,ゴール指向 i*をベー スにして,要求工程から設計工程への一貫性を保った移行 を提供するという考え方であるが,本論文の提案アプロー. [7]. チもその考え方を踏襲している.違いは,KAOS をベース にして,洗練パターンと要素間のマッピングを使ってユー. [8]. スケースモデルに情報を反映しているところである.. 7. おわりに. [9]. KAOS モデルからユースケースモデルへの変換アプロー チを提案し,踏切における遮断バーの安全制御を具体例と. [10]. して説明した.また,米国の銀行 ATM システムを事例と して提案アプローチを適用し,要求記述に沿ったユース ケースモデルを作成できることを確認した。. [11]. 本提案アプローチの目的は,KAOS ゴール指向分析手法 と ICONIX プロセスというそれぞれ要求定義工程と設計 工程に定評のある既存の手法間で,要求定義情報を漏れな. [12]. く移行することである.これにより,要求定義工程から設 計工程の一貫性を期待できる.ユースケースモデルを要求 定義とする設計工程は,ICONIX プロセスのほかに多くの 手法があり,それぞれにおけるユースケースの粒度は異な る.しかし,KAOS モデルやユースケースモデルの粒度は. [13]. Lamsweerde, A.: Goal-Oriented Requirements Engineering: A Guided Tour, RE’01, IEEE, pp. 249–263 (2001). Yu, E.: i* an agent- and goal-oriented modelling framework, University of Toront (online), available from ⟨http://www.cs.toronto.edu/km/istar/⟩ (accessed 20147-22). Chung, L. and do Prado Leite, J. C. S.: On NonFunctional Requirements in Software Engineering, Mylopoulos Festschrift, LNCS 5600, Springer-Verlag, pp. 363–379 (2009). OMG: UNIFIED MODELING LANGUAGE, OMG (online), available from ⟨http://www.uml.org/⟩ (accessed 2011-05-15). Stephens, M. and Rosenberg, D.: ICONIX Process, iconixprocess.com (online), available from ⟨http://iconixprocess.com/iconix-process/⟩ (accessed 2014-7-22). IBM: IBM Rational Unified Process (RUP), IBM (online), available from ⟨http://www01.ibm.com/software/rational/rup/⟩ (accessed 2014-0328). Letier, E.: Reasoning about Agents in Goal-Oriented Requirements Engineering, Phd Thesis,2001, pp. 1–283 (2001). Honda, K., Nakagawa, H., Tahara, Y. and Ohsuga, A.: Goal-Oriented Robustness Analysis, KNOWLEDGEBASED SOFTWARE ENGINEERING, Proceedings of the Tenth JCKBSE, IOS Press, pp. 171–180 (2012). Lamsweerde, A.: Requirements Engineering : From System Goals to UML models to software Specification, WILEY, West Sussex, England (2009). Bjork, R. C.: ATM Simulation Links - by Topic, Gordon College (online), available from ⟨http://www.cs.gordon.edu/courses/cs211/ATMExample/index.html⟩ (accessed 2013-06-04). Darimont, R. and van Lamsweerde: Formal Refinement Patterns for Goal-Driven Requirements Elaboration, SIGSOFT’96, ACM SIGSOFT Software Engineering Notes, pp. 179–190 (1996). Bresciani, P., Perini, A., Giorgini, P., Giunchiglia, F. and Mylopoulos, J.: Tropos: An Agent-Oriented Software Development Methodology, AAMAS,8, Kluwer Academic Publishers, pp. 203–236 (2004). Mylopoulos, J., Kolp, M. and Castro, J.: UML for Agent-Oriented Software Development: The Tropos Proposal, UML2001,LNCS2185, Springer-Verlag, pp. 422– 441 (2001).. 厳密ではないので,KAOS モデルの粒度を設計工程の手法. c 2014 Information Processing Society of Japan ⃝. 50.
(21)
図
関連したドキュメント
[r]
カリキュラム・マネジメントの充実に向けて 【小学校学習指導要領 第1章 総則 第2 教育課程の編成】
添付資料 4 SDC 3/INF.10: Information collected by the intersessional Correspondence Group on Intact Stability regarding second generation intact
論点 概要 見直しの方向性(案) ご意見等.
(13) 要指導医薬品を販売し、又は授与す る薬局にあっては、要指導医薬品を販
[r]
2 解析手法 2.1 解析手法の概要 本研究で用いる個別要素法は計算負担が大きく,山
せん断帯の数値解析は、材料の非線形性だけでなく初期形状の非対称性や材料の非均質性