操作の詳細(振る舞い)

<< 目次を表示 >>

ページ位置:  Enterprise Architectの操作 > 要素 > 操作 >

操作の詳細(振る舞い)

操作の振る舞い(動作)を定義するには、次の2つの方法があります。

 

 

また、疑似コード・構造化されたテキスト、または単なるメモなどのテキスト記述を提供することもできます。これはソースコードの生成時にはコメントとして使用されます。ダイアグラム上の要素の描画時に、このテキストまたは他の要素への参照を表示するオプションがあります。下の例では、entryアクションは ActivityCompアクティビティ要素を参照しています。exitアクションはシンプルなテキストで記述されています。

 

 

操作の振る舞いは、JavaScriptを利用したシミュレーションや外部実行のステートマシンのシミュレーションでも参照されます。状態のentry/do/exitのアクションの内容が利用されます。このような場合には、振る舞いの内容としてJavaScriptで処理の内容を記述します。Enterprise Architectのサンプルプロジェクトをご覧ください。

 

 

利用手順:  

リボン

ホーム > 画面 > プロパティ > プロパティダイアログ

キーボード

F10 > 振る舞い

その他

ダイアグラム内に配置された、要素内の操作をダブルクリックすると操作のプロパティダイアログが表示されます。

 

 

項目

説明

振る舞いの指定

以下のいずれかの方法で指定します。

  • コードエディタで、文字列やソースコード形式などで直接入力する
  • プロパティサブウィンドウ内のそれぞれの項目をクリックすると表示される「要素の指定」ボタンを押し、要素の選択ダイアログから振る舞いを示す要素を指定する。OKボタンを押すと、選択した要素の情報が表示されます。

 

ソースコードの形式で記述しソースコード生成機能で利用するためには、コードエディタで入力してください。

 

設定した振る舞いの情報をダイアグラム内に表示するには、操作のプロパティダイアログの「振る舞い」グループにある「ダイアグラムに振る舞いを表示」のチェックボックスにチェックを入れてください。

振る舞いの削除

振る舞いとして定義した内容を削除したい場合には、単純に定義した内容の文字列を削除してください。

振る舞いの定義で、他の振る舞い要素を選択している場合には、参照 () ボタンを押して振る舞いの選択ダイアログを表示させ、「<なし>」を選択することで選択解除できます。

振る舞いに要素を関連づける

クラスの操作はモデル内の振る舞い要素と関連づけることができます。

 

  1. プロパティサブウィンドウを開き、対象の操作を選択します。
  2. 「関係する振る舞い」の項目をクリックし、要素の指定ボタンを押してください。「関係する振る舞い」ダイアログで対象の振る舞いを指定することができます。

 

選択した項目は「関係する振る舞い」の欄に格納され、関連する振る舞いとして定義されます。

 

振る舞い図からのコード生成では、関係する振る舞い要素は操作のソースコードとして生成されます。次の例は、Op1がアクティビティ要素Activityに関連付いている例です。

 

生成されるソースコードは次のようになります。

 

    package Behavior;

    public class Container {

         public Container() {

         }

 

         public void finalize() throws Throwable {

 

         }

 

         public void op1() {

 

         /*Activity element(Activity)'s behavior rendered

            as operation(op1)'s code*/

 

              //Action1;

 

              if (cond1)

              {

                   //Action2;

              }

              else

              {

                    //Action3;

              }

              //Action4;

         }

 

         /*Activity element (Activity) not rendered*/

 

         public void Activity2()

         {

              // behavior is an Activity

         }

 

         public void Interaction()

         {

              // behavior is an Interaction

         }

    } //end Container

 

 

 

参照: