第 4 章 UFSfOM を用いたモデル作成 40
4.3 追跡モデル
4.3.2 作成されたモデルの概要
前項で挙げられた要素ごとにFUを用意した.各FUには図4.12のように名称を付けた.
各機能の内容を端的に表現するようになっている.
各FUに対して実装レベルのモデルであるCBRFを構築し割当てる.各CBRFはPEの 組み合わせで,PEにはFIUなどが割当てられる.
入力を処理するFUには図4.13のようなCBRFが適用されているが,このように複雑に なったモデルは理解が難しくなるため,ユーザが任意に切り分けることでモデル管理・理 解を助けることができる.Aの場合のX,Y差分を求める上半分と,Bの場合のX,Y差 分を求める下半分の2つのCBRFに分割することでモデルの見通しがよくなるであろう.
次に,Aの行動とBの行動はX,Yの加算量を求め,AとBで行動を切り替えるという,
エージェントの振る舞いを記述する一連のCBRFである.しかし,それぞれに複雑で,ひ とつのCBRFで記述しようとすると,視認性が悪くなり,モデルの理解がしづらくなって しまう.そのような場合にはAとBの行動を別々のCBRFに分割し,それぞれ別のFUを 設定して割当て,PWCレベルで両者を結合することができる.図4.14,図4.15のように,
FUにそれぞれのCBRFを割当て,FUごとに入出力を設定する.モデル作成者が望むなら
CBRFが複雑にな って見通しが悪い 時は,この場合で は上の部分と下の 部分に分離して二 つの CBRF に す るとよい。
図 4.13 追跡モデルの入力CBRF
ば,さらに細分化して各機能ごとにCBRFとして実装することも可能である.
FUはインスタンスであるため,入出力が同じであれば異なるFUでも同一のCBRFを 実装レベルのモデルとして割当てることができる.図4.16に示すように,設定したFUご とにCBRFに従って入力と出力をセットすることで,FU同士のデータ接続を実装するこ とができる.
図 4.14 Aの行動
図 4.15 Bの行動
図 4.16 FUにCBRFを割当てる
図 4.17 FU編集中にCBRFを生成
トップダウンでFUを細分化し ,必要と思われる入力データを記述し,その情報に合わ せて図4.17のようにCBRFの雛形を生成することも可能である.
PWC Editorでindataとoutdataのみを指定し,“new CBRF”でCBRFを生成すると,
CBRFを構築するためのNet Builderの形式に合わせたファイルが生成される.このように
して生成されたCBRFは,Net Builderで読み込むと,InputとOutputのみが設定された 状態で表示される.ここに任意のPEを並べることで,実装レベルのモデルを構築すること ができる.ここでは,このステップでのAとBの選択した行動を,次のステップに反映さ せるための処理を行うCBRFを生成しようとしている.FUを設定し,そのなかにCBRF の枠組みのみを設計した後,その枠組みにあわせたCBRFを構築する.
さらに,シミュレーションの終了を表現するため,AとBの距離が停止距離以下になっ たら移動を停止する機能を付加した.