振る舞い呼び出し

<< 目次を表示 >>

ページ位置:  シミュレーション > 振る舞いモデルのシミュレーション > JavaScriptを利用した自動実行 >

振る舞い呼び出し

シミュレーション機能では、シミュレーション中のオブジェクトが持つ操作やアクティビティを呼び出すこともできます。どちらの場合も、JavaScriptを利用して呼び出しを定義します。

 

呼び出すクラスの対象の操作には、操作のプロパティダイアログの「振る舞い」欄にJavaScript形式で実行する内容を記述します。

 

例えば、以下のクラスは2つの整数値を足すような操作を保持しています。また、足す対象の値を内部的に保持するために、2つの属性を持っています。

 

 

 

手順:

#

操作方法

1

操作のプロパティサブウィンドウの振る舞いタブで、シミュレーションで実行する内容をJavaScript形式で記述します。

this.operand1=operand1;

this.operand2=operand2;

return operand1+operand2

2

該当のクラスを、モデルブラウザからアクティビティ図にドロップし、インスタンスとして配置します。

下の例では、インスタンスの名前としてcalculatorを設定しました。なお、下の例では、分かり易くするために元のクラスが持つ属性と操作、および操作の振る舞いを表示するように設定しています。

 

3

シミュレーションを実行するダイアグラムにおいて、呼び出しをするアクション要素のプロパティダイアログを開き、効果の欄にオブジェクトを操作するJavaScriptを記載します。

下の例では、作成したインスタンスの操作addを呼び出し、その結果を変数resultに格納しています。

sim.result=sim.calculator.add(7,9)

4

シミュレーションを実行します。変数の値の変化は、ローカル変数サブウィンドウで確認できます。今回の例では、実行後にはresultの値は16になります。

 

 

アクティビティの振る舞いを呼び出す

アクティビティが要素の操作で定義される振る舞いを持つ場合に、その振る舞いを呼び出すこともできます。例えば、アクティビティがGetResultという名前の操作を持ち、その振る舞いが"ON"という文字列を戻すものとします。

 

そのアクティビティ要素の子ダイアグラムに定義された振る舞いをシミュレーションする場合には、その子ダイアグラムに配置されたアクションの振る舞いの効果の欄に次のようなJavaScriptを記述します。

 

    sim.result=this.GetResult();

 

この内容は、その子ダイアグラムを持つ、親となるアクティビティが持つ操作GetResultを呼び出し、その結果をsim.resultに格納しています。この格納された内容はローカル変数サブウィンドウを利用することで確認することができます。この例では、"OK"という文字列が格納されていれば、正しく動作していることになります。

 

 

参照: