<< 目次を表示 >> ページ位置: UMLのモデリング > UMLの要素 > 振る舞い図に関連する要素 > アクション > アクションの表記方法 |
アクション要素は、とても幅広く利用されます。Enterprise Architectでは、さまざまな種類のアクション要素に対応し、それぞれの種類はオブジェクトや操作・振る舞いなどさまざまな内容に対応しています。アクションの一般的な表記方法は、角の丸い長方形です。アクションの種類とアクション名が表記されます。
ツールボックスのアクションのアイコンをダイアグラム内にドロップすると、下の図のようなメニューが表示されます。このメニューでは、よく作成する種類が表示されています。表示されない場合には、[Ctrl]キーを押しながらドロップしてください。
表示されている種類のうちの一つを選択すると、その要素が表示されます。「その他」を選択すると、下の図の新規アクションダイアログが表示されます。
このダイアログで設定することで、通常のアクション要素のほか、操作呼び出しアクションや振る舞い呼び出しアクションなどを作成できます。「その他」を選択するとその他の種類を指定できます。
アクション要素の表現
アクション要素は、下の例のようにプロパティによって表現が変わります。
種類: AcceptEvent |
種類: AcceptEventTimer |
種類: CallBehavior |
種類: CallOperation |
種類: SendSignal |
イベント受信アクションは、出力を示すアクションピンを持ち、アクションが受信するトリガを指定できます。
イベント受信アクションのプロパティサブウィンドウには、トリガタブがあります。このタブで、このアクションが受信するトリガを指定します。
項目 |
説明 |
||
名前 |
トリガの名前です。 |
||
種類 |
トリガの種類です。次のいずれかになります。
|
||
仕様 |
遷移を発生させるイベントについて記述します。 イベント受信アクションについては、 この欄にJavaScript形式で式を記述することで、シミュレーションの実行時に待機する時間を指定できます。 |
シグナル送信アクションおよびシグナルのブロードキャストアクション
シグナル送信およびシグナルのブロードキャスト(BroadcastSignal)アクションでは、対象となるシグナルを指定できます。プロパティサブウィンドウの条件タブを利用します。
SendSignalアクションは、targetとなるアクションピンと、関係するシグナルが定義されます。必要に応じて、アクションピンを追加しシグナルのパラメータに結びつけて、シグナルの入力値とできます。例えば以下のような定義になります。
::Sender: sig.binding_To_s1: Integer
モデルのシミュレーション実行時には、SendSignalアクションは引数に指定された値を、シグナルのパラメータの値として設定し、シグナルを発効します。アクションが持つアクションピンはシグナルを送信するために利用されます。もし、シグナルのパラメータに対応するアクションピンが適切に存在しない場合には、シミュレーションは停止します。パラメータがオブジェクトの場合には、そのオブジェクトを作成し、パラメータとします。シグナルを受け取る側のピンの型も適切に設定する必要があります。
BroadcastSignalアクションはSendSignalアクションとほぼ同じですが、ターゲットとなるアクションピンを持ちません。シグナルは、シミュレーション全体に向けて発行されます。
要素のプロパティダイアログのシグナルグループでは、関係するシグナルの詳細を定義できます。
項目 |
説明 |
||
シグナル |
「シグナル」の欄の隣にある「選択」ボタンを押し、シグナルの選択ダイアログを表示します。このダイアログでシグナル要素を指定します。 |
||
属性 |
「属性」の欄では、ドロップダウンリストから属性を選択できます。 |
||
値 |
「値」の欄では、属性に対応する値を入力します。 |
||
追加 |
属性に対応するアクションピンを指定します。追加ボタンを押すと、ピンを指定できます。
|
||
保存 |
変更を保存します。 |
CallBehaviorアクションは、アクション要素などの振る舞い要素を呼び出します。アクションピンには、その振る舞いから戻り値が格納されます。もしアクションに関連する振る舞いが定義されていない場合には、シミュレーションは停止します。また、アクションピンを引数として追加することで、その振る舞いに値を渡すこともできます。
(参考:ユーザーオプション - 振る舞い呼び出しアクションのアクティビティ名を表示)
オブジェクト送信
SendObjectアクションはrequestのアクションピンからtargetのアクションピンへ、オブジェクトを渡します。ピンが不足している場合、シミュレーションは停止します。
構造特性を持つアクション
構造特性を持つアクションは、モデルの構造的な特性、具体的にはポート・パートプロパティ・属性などに関連した振る舞いを持ちます。Enterprise Architectでは以下の種類のアクションが利用できます。
アクション |
説明 |
AddStructuralFeatureValue |
ReadStructuralFeatureアクションには、対象のオブジェクトを指定するための、入力を指定するobjectアクションピンと、読み込んだ内容を出力するためのresultアクションピンがあります。実行時にオブジェクトのポートに適切な入力値が渡されない場合には、シミュレーションはこのアクション要素で停止します。 シミュレーションモデルを構築する際には、入力のobjectピンは、オブジェクトが格納されている他のピンか、アクティビティ要素のオブジェクトノードと接続する必要があります。また、入力となる値が適切に設定されている必要があります。 出力となる、resultアクションピンは、他のポートの入力として利用できます。例えば、次に説明するWriteStructuralFeatureアクションの入力値として利用できます。 |
ClearStructuralFeature |
ClearStructuralFeatureアクションは、入力として受け取ったオブジェクトの単一の属性の値をクリア(値をnullに設定)します。 |
ReadStructuralFeature |
AddStructuralFeatureValueと似ていますが、ポートの値は必須ではありません。 シミュレーションでは、実行時にポートの値が空の場合には、シミュレーションはその時点で停止します。 |
RemoveStructuralFeatureValue |
RemoveStructuralFeatureValueアクションはClearStructuralFeatureアクションと似ていますが、入力としてのvalueアクションピンを持ちます。このvalueの値が対象の項目の値と一致する場合には、その値をクリアします。一致しない場合には、何も処理しません。 |
WriteStructuralFeature |
AddStructuralFeatureValueと同一です。シミュレーションでは、入力値を取得するために値Portを設定する必要があります。 |
アクション要素の種類によっては、ターゲットの構造特性として、ポート・パート・属性を持つことができます。
手順:
# |
操作方法 |
1 |
ダイアグラム内のアクション要素を選択します。 |
2 |
構造特性の欄の右端にある参照[...]ボタンを押します。プロパティの指定ダイアログが表示されます。 (このダイアログは要素の選択ダイアログと同じです。) |
3 |
対象の構造特性要素を選択してください。選択した要素が「構造特性の欄に表示されます。 |
ReadSelf
ReadSelfアクションは、自分自身の名前を取得し、resultポートに出力します。出力結果となるアクションピンを保持する必要があります。
このアクションはクラス内に保持され、そのクラスが実行時にインスタンス化されている必要があります。シミュレーションの実行時には、クラスのインスタンスの名前を出力ポートに渡します。
ReadSelfはCreateObjectやDestroyObject.と合わせて利用します。
参照: