** コミュニケーション図から状態機械の合成 [#qbf41a3f] 合成手順は以下のようになります. + クラス図の作成 + コミュニケーション図の作成 + 状態機械の合成 *** 例題 [#e873c495] #ref(purchaseordercol.png,right,around) ここでは,[[BPEL-WS 2.0>http://docs.oasis-open.org/wsbpel/2.0/wsbpel-specification-draft.html]]仕様書にある例を使い説明したいと思います. コレオグラフィを右図に示します. 右図はUML1.xのコラボレーション図の記法により書かれています. この例では,Customer, Vendor, Shipping, Invoicing, Scheduling の5つのサービスが存在します.VendorはCustomerからorderを受け取ると,Shipping, Invoicing, Schedulingの各サービスに指令を出し,それらからの返答をまとめてCustomerにorderReplyとして返信します. Shippingへの指令はshipReqで,返答はshipInfoです. Invoicingへの指令はproductInfoとshipTypeで,返答はinvoiceです.ここで,productInfoはorderを受けるとすぐに送信しますが,shipTypeはshipTypeはshipReqを送信した後でないと送信してはいけません.InvoicingはproductInfoとshipTypeを受信した後に,何らかの処理を行い,invoiceを返信します. Schedulingへの指令はproductScheduleとshipScheduleです.ここで,VendorはproductScheduleについてはorderを受けるとすぐに送信しますが,shipScheduleはshipInfoを受信した後に送信します. VendorはshipInfoとinvoiceを受信して,shipScheduleを送信した後にorderReplyをCustomerに送信します. *** クラス図の作成 [#pe69aaa6] *** コミュニケーション図の作成 [#t120ba7a] *** 状態機械の合成 [#r100e3cd] [[CSCB]]