開始行:
RIGHT:[[English>Synthesis(Eng)]]
** コミュニケーション図から状態機械の合成 [#qbf41a3f]
合成手順は以下のようになります.
+ クラス図の作成
+ コミュニケーション図の作成
+ 状態機械の合成
*** 例題 [#e873c495]
#ref(purchaseordercol.png,right,around)
コレオグラフィを右図に示します.
右図はUML1.xのコラボレーション図の記法により書かれていま...
((コラボレーション図はUML2.xではコミュニケーション図と名...
この例は,[[BPEL-WS 2.0>http://docs.oasis-open.org/wsbpel...
この例では,Customer, Vendor, Shipping, Invoicing, Schedu...
Shippingへの指令はshipReqで,返答はshipInfoです.
Invoicingへの指令はproductInfoとshipTypeで,返答はinvoice...
Schedulingへの指令はproductScheduleとshipScheduleです.こ...
VendorはshipInfoとinvoiceを受信して,shipScheduleを送信し...
*** クラス図の作成 [#pe69aaa6]
RSA上に,UMLプロジェクトを作成します.
次に,クラス図を作成します.この例では,Customer, Vendor,...
#ref(classDiagram.png,center)
*** コミュニケーション図の作成 [#t120ba7a]
コミュニケーション図を作成し,作成したクラスをコミュニケ...
通信が行われるライフライン間にメッセージ路を引きます.
#ref(communicationDiagram1.png,center)
メッセージを追加します.
RSAではメッセージの種類として,
- 非同期呼び出し(Asynchronous Call)
- 非同期シグナル(Asynchronous Signal)
- 同期呼び出し(Synchronous Call)
の三種類を選ぶことができます.CSCB Toolsでは,非同期呼び...
ここでは,例の全てのメッセージが非同期呼び出しであるとし...
メッセージを追加したコミュニケーション図は下図のようにな...
#ref(communicationDiagram2.png,center)
メッセージ間の順序関係を定義します.
- コミュニケーション図ではコラボレーション図にあった先行...
- シーケンス番号がありますが,例のような順序を表すことは...
CSCB Toolsではメッセージの「文書」に先行するメッセージを...
例えば,orderReplyにはshipInfo, invoice, shipScheduleが先...
#ref(communicationDiagram3.png,center)
これで,準備完了です.
*** 状態機械の合成 [#r100e3cd]
プロジェクトエクスプローラーで状態機械を合成するパッケー...
ちなみに,「create State Machine by CSCB」を選択すると,...
また,「... by projection」を選択すると射影法によって状態...
#ref(stateMachine1.png,center)
特に問題が無ければ,状態機械が合成され,モデルに追加され...
ちょっとわかりづらいですが,上の図のPurchaseOrderプロジェ...
#ref(stateMachine2.png,center)
*** 実行結果 [#tba5403c]
以下に,合成された状態機械を示します.
- Customerの状態機械
初期疑似状態から状態V1への遷移において,操作"send order t...
#ref(stateMachine_customer.png,center)
- Vendorの状態機械
Vendorはメッセージorderの受信事象order_receiveが生起する...
最初の領域では,shippingにshipReqを送信し,shipInfoを受信...
2つめの領域では,schedulingにproductScheduleを送信します.
3つめの領域では,invoicingにproductInfoを送信します.
3つの領域の実行が終了すると,終了状態に遷移します.
#ref(stateMachine_vendor.png,center)
- Shippingの状態機械
ShippingはshipReqを受信すると,shipInfoをvendorに返信しま...
#ref(stateMachine_shipping.png,center)
- Invoicingの状態機械
InvoicingはshipTypeとproductInfoを並行して受信します.そ...
((この例では,invoiceにproductInfoが先行していないので,I...
#ref(stateMachine_invoicing.png,center)
- Schedulingの状態機械
SchedulingはshipScheduleとproductScheduleを受信します.
#ref(stateMachine_scheduling.png,center)
- クラス図
実行後のクラス図は下図のようになります.
通信先への参照と,呼び出されるメソッドが追加されています.
#ref(classDiagram2.png,center)
RIGHT:[[CSCB]]
終了行:
RIGHT:[[English>Synthesis(Eng)]]
** コミュニケーション図から状態機械の合成 [#qbf41a3f]
合成手順は以下のようになります.
+ クラス図の作成
+ コミュニケーション図の作成
+ 状態機械の合成
*** 例題 [#e873c495]
#ref(purchaseordercol.png,right,around)
コレオグラフィを右図に示します.
右図はUML1.xのコラボレーション図の記法により書かれていま...
((コラボレーション図はUML2.xではコミュニケーション図と名...
この例は,[[BPEL-WS 2.0>http://docs.oasis-open.org/wsbpel...
この例では,Customer, Vendor, Shipping, Invoicing, Schedu...
Shippingへの指令はshipReqで,返答はshipInfoです.
Invoicingへの指令はproductInfoとshipTypeで,返答はinvoice...
Schedulingへの指令はproductScheduleとshipScheduleです.こ...
VendorはshipInfoとinvoiceを受信して,shipScheduleを送信し...
*** クラス図の作成 [#pe69aaa6]
RSA上に,UMLプロジェクトを作成します.
次に,クラス図を作成します.この例では,Customer, Vendor,...
#ref(classDiagram.png,center)
*** コミュニケーション図の作成 [#t120ba7a]
コミュニケーション図を作成し,作成したクラスをコミュニケ...
通信が行われるライフライン間にメッセージ路を引きます.
#ref(communicationDiagram1.png,center)
メッセージを追加します.
RSAではメッセージの種類として,
- 非同期呼び出し(Asynchronous Call)
- 非同期シグナル(Asynchronous Signal)
- 同期呼び出し(Synchronous Call)
の三種類を選ぶことができます.CSCB Toolsでは,非同期呼び...
ここでは,例の全てのメッセージが非同期呼び出しであるとし...
メッセージを追加したコミュニケーション図は下図のようにな...
#ref(communicationDiagram2.png,center)
メッセージ間の順序関係を定義します.
- コミュニケーション図ではコラボレーション図にあった先行...
- シーケンス番号がありますが,例のような順序を表すことは...
CSCB Toolsではメッセージの「文書」に先行するメッセージを...
例えば,orderReplyにはshipInfo, invoice, shipScheduleが先...
#ref(communicationDiagram3.png,center)
これで,準備完了です.
*** 状態機械の合成 [#r100e3cd]
プロジェクトエクスプローラーで状態機械を合成するパッケー...
ちなみに,「create State Machine by CSCB」を選択すると,...
また,「... by projection」を選択すると射影法によって状態...
#ref(stateMachine1.png,center)
特に問題が無ければ,状態機械が合成され,モデルに追加され...
ちょっとわかりづらいですが,上の図のPurchaseOrderプロジェ...
#ref(stateMachine2.png,center)
*** 実行結果 [#tba5403c]
以下に,合成された状態機械を示します.
- Customerの状態機械
初期疑似状態から状態V1への遷移において,操作"send order t...
#ref(stateMachine_customer.png,center)
- Vendorの状態機械
Vendorはメッセージorderの受信事象order_receiveが生起する...
最初の領域では,shippingにshipReqを送信し,shipInfoを受信...
2つめの領域では,schedulingにproductScheduleを送信します.
3つめの領域では,invoicingにproductInfoを送信します.
3つの領域の実行が終了すると,終了状態に遷移します.
#ref(stateMachine_vendor.png,center)
- Shippingの状態機械
ShippingはshipReqを受信すると,shipInfoをvendorに返信しま...
#ref(stateMachine_shipping.png,center)
- Invoicingの状態機械
InvoicingはshipTypeとproductInfoを並行して受信します.そ...
((この例では,invoiceにproductInfoが先行していないので,I...
#ref(stateMachine_invoicing.png,center)
- Schedulingの状態機械
SchedulingはshipScheduleとproductScheduleを受信します.
#ref(stateMachine_scheduling.png,center)
- クラス図
実行後のクラス図は下図のようになります.
通信先への参照と,呼び出されるメソッドが追加されています.
#ref(classDiagram2.png,center)
RIGHT:[[CSCB]]
ページ名: