(前頁)<< >>(次頁) (Up)
3章 CommonMPの要素モデルを作成する
3.2 要素モデル(単体)の動作
2章で河川モデルの親クラス(RiverModel)を作成しました。 RiverModelの動作フローと、実装メソッドは下図の通りでした。
CommonMP上で動作する要素モデル単体に着目し、動作を示すと 非常に似た処理構造を持っています。
第2章で作成したモデルに対して異なっているのは ループ計算の開始直前と直後に ReadyCalculation(
) , CompleteCalculation( )
メソッドが呼ばれる所で、その他はメソッド名称(引数等は異なる)が異なる程度でしょうか。
(注意)
「プロパティ設定」、「接続チェック」、「初期化」は オペレーターの操作(モデルチェックボタン押下、初期化ボタン押下時等)によって不定期に呼ばれる(イベント駆動型)為、正確には上記PAD図上には記述できませんが、第2章との対比の為、敢えてここに記入してあります。
折角ディバッグモードでの動作が可能なので、実際にメソッドがどのように呼ばれるかを Microsoft Visual
C# 上で確認してみます。 要素モデルとしては、サンプルとして制作されている要素モデルを使用します。
要素モデル開発用のソリューションでは 要素モデルとして
TutorialSampleModel というプロジェクトが用意されています。
しかしながら、そのままではこのプロジェクトは使用できません。 これは、ディバッグ用メインプログラムの参照設定に TutorialSampleModelが設定されていないためです。 そこで、同プロジェクトを メインプログラムの参照設定に追加します。
参照設定後に ディバッグモードで CommonMPを立ち上げます。 すると、ライブラリ管理画面の演算要素タグの「その他」フォルダーの中に「未来計算型テストモデル」「現状計算型テストモデル」が表示されています。(TutorialSampleModelのDLLが取り込まれた事を示しています)
そこで、動作確認用にプロジェクトを作成します。
ここでは、プロジェクトグループ名「MyExerciseStep1」、プロジェクト「001_要素モデル動作の確認」を作成しました。
上記のように 「未来計算型テストモデル」と「何もしない演算モデル」をポイント時系列接続要素で繋ぎます。 この状態で、未来型計算モデルのソースの中のメソッド全てにブレークポイントを設定した後、シミュレーション計算期間を2分として計算を開始してみます。
(↑ ブレークポイントの設定を行う)
(↑ 計算期間を2分として、プロジェクト管理画面の「開始/再開」ボタンを押下し、計算を開始する)
メソッドがコールされる度に、ブレークポイントで動作が中断します。 各メソッドに設定したブレークポイントによる中断の順番を調べると、要素モデルの各メソッドがどのような順序で呼ばれるかを理解することができます。 尚、SetOnlineProperty()、OnlineInitialize()等一部のメソッドは将来用に準備したもので、Ver1.3現在は何処からもコールされません。未来計算型テストモデルのδT(時間増分)は60秒に設定してあるので、2分の計算期間では、2回 Calculation()メソッドが呼ばれます。
(テスト用:CommonMPプロジェクト <
Ex01_CommonMPData.lzh > ・・・・・ 解凍後、CommonMPDataフォルダー下のMyExerciseStep1フォルダーを \CommonMP\CommonMPData\
下に配置して下さい。)
要素モデル単体の動作を確認した所で、次の節から実際に要素モデルを作成してみます。
(前頁)<< >>(次頁)
初版:2013/06/15 |