6章 機能モデル

  • システム内部の計算動作を記述する。
機能モデルは各プロセス(データ変換部)の入力データ、出力データを明らかにする。
時間的順序は気にしない。

例1 戦闘時の部隊行動
 
戦闘時に,部隊長は状況を見て判断をするわけだが、様々な要因で正しい判断が出来ないものである。それを機能モデルを使って表す。
地形プロセス
地形データを生成する。
出力:地形データ
敵部隊プロセス
敵部隊の位置や人数,戦意、等を生成する。
出力:敵部隊の位置や人数,戦意、等
現実状態生成プロセス
地形データ,敵の状態データを元に現実の正しい戦場の状態データを作る。
入力:地形データ,敵の状態データ
出力:現実の正しい戦場の状態データ
天候,地形によるフィルタリング
濃霧や夜間、また部隊が窪地や山陰に位置する場合は相手が見えない。このプロセスは天候や地形に従って正しい状態データを間引く。
入力:現実の正しい戦場の状態データ
出力:天候や地形に従って間引かれた状態データ
部隊長の観察能力によるフィルタリング
部隊長が低能ならば,観察された状態データを更に間引く。
入力:天候や地形に従って間引かれた状態データ
出力:部隊長の観察能力によって間引かれた観察データ
部隊長の判断
部隊長は自分が観察した結果に基づき判断を下す。
入力:部隊長の観察能力によって間引かれた観察データ
出力:部隊長の指示
部隊の状態による行動実行
部隊は疲労度や戦意によって部隊長の判断を100%実行できない。
入力:部隊長の指示
出力:部隊の行動

例2 戦闘時の審判

ここでは戦場での部隊A,Bの敵味方の激突を例にとる。

  • 部隊情報はデータベースであり、それ自体はデータをストックするだけで何も変換しない。部隊情報には自己部隊の情報が記述されており,位置、兵数、能力、使命、敵観察能力等が記述されている。
  • 部隊の判断プロセスは自己と敵の部隊情報を参照し判断を行う。敵観察能力が低下した場合は敵情報を参照できない。
  • 判断プロセスは移動位置、攻撃方法などの行動希望を戦闘イベントプロセスに返す。
  • 戦闘イベントプロセスは双方の行動希望と部隊情報を入力とし、行動希望に沿って双方の部隊を移動させ、双方が攻撃範囲に入れば戦闘イベントを起こす。戦闘結果は部隊情報を元に算出する。その結果として部隊情報を書き換える。また表示プロセスは戦闘状況を表示する。