ストラタジーナム メニュー

2006年6月13日火曜日

UML中級講座 第49回 SendObjectAction

深夜のワールドカップの観戦後、つい深酒をしてしまい、今朝が辛かった方もいらっしゃるのではないでしょうか?(私も、その一人です。)
さて、本日は、昨日のSendSignalActionに続き、SendObjectActionについて解説します。
このSendObjectActionの典型的な例としては、アクティビティ図中のオブジェクトフローが挙げられます。

SendSignalActionでは、Signalの分類子が入力になり、それをインスタンス化してターゲットに送りますが、SendObjectActionでは、インプットがオブジェクトであり、それをターゲットに送ります。
従って、もし既にインスタンス化されたSignalを送りたい場合は、このSendObjectActionを用います。


5−2−3 SendObjectAction

SendObjectActionは、オブジェクトをターゲットオブジェクトに送信するアクションです。(その結果、ステートマシンの遷移が起こったり、アクティビティの実行が開始されたりしますが、それらについては、ステートマシン図およびアクティビティ図の章を参照してください。)

このアクションは送信が終了すると直ちに完了し、ターゲットオブジェクトからのリプライメッセージや戻り値は、全く無視されます。

オブジェクトおよびターゲットオブジェクトは、入力ピンで与えられます。
また、入力ピンのオブジェクトをそのまま送るケースもあれば、コピーを作成して送るケースもありますので(オブジェクトフロー参照)、入出力のオブジェクト間のアイデンティティは保証されません。



図11−05