コミュニケーション図から状態機械の合成2?

English

コミュニケーション図から状態機械の合成2

#ref(): File not found: "purchaseordercol2.png" at page "Synthesis2(Eng)"

例1?では通信が全て非同期通信である場合の説明をしました.ここでは,同期通信が存在する場合の説明をします.

例題

コレオグラフィを右図に示します. 例1?とほぼ同じですが,shipReqが非同期メッセージから同期メッセージに変更になったので,Shippingからの返信メッセージがshipInfoからshipReqになっています.

クラス図の作成

例1?同様にクラス図を作成します.

コミュニケーション図の作成

#ref(): File not found: "communicationDiagram.png" at page "Synthesis2(Eng)"

例1?同様にコミュニケーション図を作成します. 右図のように3: shipReqの返信が 4:shipReq になっています.

メッセージ間の順序関係を定義します.

状態機械の合成

例1?同様に状態機械を合成して下さい.

実行結果

例1?の実行結果では,VendorはメッセージshipReqをshippingに送信し,その後shipInfoを受信していました. 今回合成された状態機械では,shippingのshipReq()を呼び出しています.

#ref(): File not found: "stateMachine_vendor_sync.png" at page "Synthesis2(Eng)"

ShippingはshipReqを受信し,shipReqに返信しています.

#ref(): File not found: "stateMachine_shipping_sync.png" at page "Synthesis2(Eng)"

cbUMLでは,同期通信があると送信側の実行が停止します. この例では,Venderの状態V2内の初期疑似状態V7を持つ領域において,状態V8からV9への遷移(同期メッセージshipReqを送信している)において,この領域の実行が停止されます. ShippingがshipReqへの返信を送信し,Vendorが返信を受信すると,実行の停止が解除され,V9が活性状態となります.

CSCB

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS