6.3 オートマトンテンプレート
7.1.2 拡張 BPMN から拡張時間オートマトンへの変換
拡張BPMNで記述された図7.1のビジネスプロセスを,6章に示した下記の手順に従っ て拡張時間オートマトンに変換する.
(1) ビジネスプロセスモデル中のすべてのフローオブジェクトを,それぞれの種類に応じ たオートマトンテンプレートに置換する.
(2) フローオブジェクト間の接続関係や制約値に基づいて,オートマトンテンプレートの パラメータに具体的なチャネルや定数値を割り当てて,完全な拡張時間オートマトン
(のネットワーク)モデルにする.
(3) 最後にトップレベルプロセスの開始イベントと終了イベントを呼出/復帰させるた めの起動用オートマトンを追加する.
手順(1)
本手順では,図7.1に出現するフローオブジェクトを抽出し,それぞれフローオブジェ クトの種類に応じたオートマトンテンプレートを準備する.表7.1は,ビジネスプロセス に出現するフローオブジェクトと用意したオートマトンテンプレートの対応関係を整理し たものである.例えば,ビジネスプロセスに出現する開始イベント(a, g, m)には,それ
ぞれ開始イベントに対応するオートマトンテンプレートを準備する.ただし,サブプロセ ス(マルチインスタンス)に内包されている開始イベント(g, m)に関しては,その同時 実行数だけオートマトンテンプレートを複製して準備する.例えば,開始イベントgに関 しては,サブプロセス(マルチインスタンス)cの同時実行数(属性loopCadinarityの値)
と同数(3)のオートマトンテンプレート(Ag1, Ag2, Ag3)を準備する.本節では,識別子 xのフローオブジェクトに対応するオートマトンテンプレートをAxnという識別子で呼ぶ ことにする.nは,サブプロセス(マルチインスタンス)に内包されることで複製された オートマトンテンプレートを区別する自然数の番号である.結果,ビジネスプロセスに出 現する18のフローオブジェクトは,合計で42のオートマトンテンプレートに置換される ことになる.
表 7.1: 出現するフローオブジェクトとオートマトンテンプレート一覧 No フローオブジェクト オートマトンテンプレート
1 開始イベント a, g, m Aa1, Ag1, Ag2, Ag3, Am1, Am2, Am3 2 終了イベント l, r, f Al1, Al2, Al3, Ar1, Ar2, Ar3, Af1
3 AND分岐 b Ab1
4 AND併合 e Ae1
5 サブプロセス c, d Ac1, Ad1
(マルチインスタンス)
6 タスク h, i, j, Ah1, Ah2, Ah3, Ai1, Ai2, Ai3, Aj1, Aj2, Aj3, k, n, o, Ak1, Ak2, Ak3, An1, An2, An3, Ao1, Ao2, Ao3, p, q Ap1, Ap2, Ap3, Aq1, Aq2, Aq3
合計数 18 42
手順(2)
本手順では,手順(1)で準備したオートマトンテンプレートのパラメータに具体的なチャ ネルや定数値を割り当てる.例として,タスクiに対応するタスク要素用のオートマトン テンプレートAi1のパラメータの具体化について説明する.Ai1のパラメータは次の通りで ある.
• チャネル – chan a b – chan b c
– chan P interrupt
• 定数値 – min – max – res r – quantity
タスクiの前後に接続されるフローオブジェクトは,タスクhおよびタスクj であるか ら,オートマトンテンプレートAi1のチャネルパラメータchan a b,chan b cにはそれぞ れchan h1 i1,chan i1 j1というチャネルを割り当てる.また,タスクiを包含するサブプロ セス要素はcであるから,チャネルパラメータchan P interruptは,chan c interruptとい うブロードキャストチャネルを割り当てる.さらに,タスクiのもつ4つの属性M inT ime,
M axT ime,Resource,Quantityの値を,それぞれ定数値パラメータmin,max,res r,
quantityに割り当てることで,Ai1は完全な拡張時間オートマトンとなる.
上記を手順(1)で準備したオートマトンテンプレートすべてに行う.
手順(3)
最後に,起動用オートマトンを追加し,起動用オートマトンのチャネルパラメータchan call top と開始イベントaに対応するオートマトンAa1のチャネルパラメータchan call P に,同 一のチャネルchan call a1を割り当てる.同様に,起動用オートマトンのチャネルパラメー
タchan top returnと終了イベントrに対応するオートマトンAr1のチャネルパラメータ
chan P returnに,同一のチャネルchan r1 returnを割り当てる.また,ビジネスプロセス
全体の属性Resourcesに従い,資源(看護師数,浴室数,リハビリのエリア数)を初期化 するための代入式を構成する.
ここまでの手順により,ビジネスプロセスの動作仕様を表現したUPPAALの拡張時間 オートマトンのネットワークモデルを得ることができる.