(57)【要約】【課題】受動側シミュレータにおけるＤＲ外部エンティティの空間情報外挿値の誤差を抑制して、適切なシミュレーションの実施を可能とする分散シミュレーションシステムを得ること。【解決手段】分散シミュレーションシステム５０は、ネットワーク３に接続され、ＤＲアルゴリズムを使用して通信制御を行う能動側シミュレータ１及び受動側シミュレータ２を有する。受動側シミュレータ２は、能動側エンティティ代替機能部２３を有する。能動側エンティティ代替機能部２３は、能動側シミュレータ１が模擬するエンティティとの間で情報交換を行い、当該エンティティの空間情報を必要としている間、ＤＲアルゴリズムによる外挿計算に代わって、能動側シミュレータ１が模擬するエンティティと同じエンティティの模擬処理によって空間情報を取得する。【選択図】図１
2018151088.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続された複数のシミュレータを有し、Ｄｅａｄ−Ｒｅｃｋｏｎｉｎｇアルゴリズムを使用してシミュレータ間の通信制御を行う分散シミュレーションシステムであって、
前記シミュレータは、外部シミュレータが模擬する外部エンティティとの間で情報交換を行い、前記外部エンティティの空間情報を必要としている間、前記Ｄｅａｄ−Ｒｅｃｋｏｎｉｎｇアルゴリズムによる外挿計算に代わって、前記外部エンティティと同じエンティティの模擬処理によって空間情報を取得する外部エンティティ代替機能を有することを特徴とする分散シミュレーションシステム。
【請求項２】
前記シミュレータは、前記外部シミュレータが模擬する外部エンティティの空間情報を必要とすることを前記外部シミュレータからの能動アクションの開始により検出する外部エンティティ制御機能を具備し、
前記外部エンティティ制御機能は、前記能動アクションの開始の検出により、前記外部エンティティ代替機能の実行を開始する
ことを特徴とする請求項１に記載の分散シミュレーションシステム。
【請求項３】
前記能動アクションの開始の検出をＤＩＳの「Ｆｉｒｅ  ＰＤＵ」の受信によって検出することを特徴とする請求項２に記載の分散シミュレーションシステム。
【請求項４】
前記能動アクションの開始の検出をＨＬＡの「Ｒｅｃｅｉｖｅ  Ｉｎｔｅｒａｃｔｉｏｎサービス」におけるＲＰＲ−ＦＯＭの「Ｗｅａｐｏｎ  Ｆｉｒｅ  Ｉｎｔｅｒａｃｔｉｏｎ  Ｃｌａｓｓ」のデータ受信によって検出することを特徴とする請求項２に記載の分散シミュレーションシステム。
【請求項５】
前記能動アクションの開始の検出をＨＬＡの「Ｒｅｃｅｉｖｅ  ＩｎｔｅｒａｃｔｉｏｎサービスにおけるＲＰＲ−ＦＯＭの「Ｍｕｎｉｔｉｏｎ  Ｄｅｔｏｎａｔｉｏｎ  Ｉｎｔｅｒａｃｔｉｏｎ  Ｃｌａｓｓ」のデータ受信によって検出することを特徴とする請求項２に記載の分散シミュレーションシステム。
【請求項６】
前記外部エンティティ制御機能は、前記外部エンティティの空間情報を必要としなくなったことを、前記能動アクションの終了により検出し、前記能動アクションの終了又は消滅により、前記外部エンティティ代替機能の実行を終了する
ことを特徴とする請求項２から５の何れか１項に記載の分散シミュレーションシステム。
【請求項７】
前記能動アクションの終了をＤＩＳの「Ｄｅｔｏｎａｔｉｏｎ  ＰＤＵ」の受信によって検出することを特徴とする請求項６に記載の分散シミュレーションシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のシミュレータがネットワークを介してデータを交換しながらシミュレーションを行う分散シミュレーションシステムに関する。
【背景技術】
【０００２】
分散シミュレーションシステムの適用例に、防衛向け分散リアルタイム訓練シミュレーションシステムがある。この種のシミュレーションシステムでは、多数のシミュレータがネットワークで連接される。あるシミュレータにおいて模擬されている模擬エンティティの模擬情報は、他のシミュレータに対してネットワークを介して送信され、味方部隊及び敵部隊を模擬した多数の模擬エンティティによる戦闘状況がシミュレーションされる。模擬エンティティの１つの例は、戦術訓練用シミュレータにおける戦車であり、他の１つの例は航空戦闘シミュレータにおける、戦闘機及び戦闘機部隊である。また、模擬エンティティにおける模擬情報の例には、位置及び速度を含む運動情報、残弾数及び被害状況を含む状態情報、並びに、攻撃及び通信を含むイベント情報が挙げられる。
【０００３】
このような防衛向け分散リアルタイム訓練シミュレーションシステムでは、シミュレータの再利用性及び相互接続性を向上させるため、システム開発及び運用コストの低減を目的とした標準技術が定められて規格化されている。典型的な規格の例は、下記に示す非特許文献１〜３である。以下、非特許文献１〜３の規格をそれぞれの名称の頭文字をとって、「ＤＩＳ」、「ＨＬＡ」及び「ＲＰＲ−ＦＯＭ」と称する。
【０００４】
ＤＩＳは、シミュレータ同士がネットワーク上でＵＤＰ／ＩＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）マルチキャスト通信によってデータ交換を行うためのプロトコルデータを標準化した規格である。ＨＬＡは、シミュレータ同士を連接するミドルウェアＲＴＩ（Ｒｕｎ−Ｔｉｍｅ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ）の機能及びインタフェースを標準化した規格である。なお、ミドルウェアＲＴＩとは、ＨＬＡに準拠したシステムにおける中核となるソフトウェアであり、シミュレータ間のデータ送受信及び同期処理を司るソフトウェアである。また、ＲＰＲ−ＦＯＭは、ＨＬＡで使用される規格であり、ＤＩＳと互換性をもったシミュレーションデータをミドルウェアＲＴＩとシミュレータとの間で交換するためのデータ標準を定めた規格である。
【０００５】
防衛向け分散リアルタイム訓練シミュレーションシステムにおいて、複数のシミュレータで分散して模擬されているエンティティ間の位置関係及び衝突といった事象は、ネットワーク上を流れるデータによってシミュレータ間で共有される。そのため、接続されるシミュレータ数が多くなりシステム規模が大きくなるとネットワークの処理負荷が増加し、システムとしてのリアルタイム性を確保するのが難しくなるという課題がある。ＤＩＳ及びＲＰＲ−ＦＯＭでは、この課題を解決するために、シミュレータ間のネットワーク通信が必要なときだけ行われるように動的な制御を行うＤＲ（Ｄｅａｄ−Ｒｅｃｋｏｎｉｎｇ）アルゴリズムが利用されている。
【０００６】
次に、ＤＲアルゴリズムによる、処理の一例について説明する。まず、シミュレータは、モデル機能部と通信機能部とを具備している。モデル機能部は、内部にエンティティを生成する。また、通信機能部は、自シミュレータのモデル機能部が生成したエンティティに対応するエンティティと、外部シミュレータのモデル機能部が生成したエンティティに対応するエンティティとを保持する。これらのエンティティがＤＲアルゴリズムを利用するものである場合、前者は「ＤＲ内部エンティティ」と呼ばれ、後者は「ＤＲ外部エンティティ」と呼ばれる。
【０００７】
各シミュレータのモデル機能部において、エンティティの周期的な模擬が実行される段階では、モデル機能部は、周期的に現在時刻におけるエンティティの空間情報を更新する。空間情報には、少なくとも位置情報、速度情報及び加速度情報が含まれる。モデル機能部は、空間情報の更新値である空間情報更新値を同じシミュレータ内の通信機能部のＤＲ内部エンティティに対して出力する。
【０００８】
空間情報更新値が入力されたＤＲ内部エンティティは、保持していた空間情報基準値を基に外挿計算により、現在時刻における当該エンティティの空間情報外挿値を算出する。ここで、空間情報基準値とは、自シミュレータの通信機能部と外部シミュレータの通信機能部との間でやりとりされる空間情報である。
【０００９】
また、空間情報更新値が入力されたＤＲ内部エンティティは、入力された空間情報更新値と、自身が算出した空間情報外挿値との差分を評価し、差分が送信制御閾値を超えた場合に、空間情報更新値を新たな空間情報基準値として記憶すると共に、ネットワークを介して外部シミュレータの通信機能部に、エンティティの空間情報基準値を送信する。
【００１０】
送信元シミュレータにおけるエンティティの空間情報基準値を受信した送信先シミュレータの通信機能部は、当該エンティティに対応するＤＲ外部エンティティに空間情報基準値を記憶する。送信先シミュレータのモデル機能部において、当該モデル機能部のエンティティが、送信元シミュレータにおける空間情報を参照する必要がある場合には、自シミュレータの通信機能部におけるＤＲ外部エンティティが記憶している空間情報基準値を基に、外挿計算により算出した現在時刻の空間情報外挿値が用いられる。
【先行技術文献】
【非特許文献】
【００１１】
【非特許文献１】ＩＥＥＥ  １２７８．１−２０１２−Ｓｔａｎｄａｒｄ  ｆｏｒ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｉｎｔｅｒａｃｔｉｖｅ  Ｓｉｍｕｌａｔｉｏｎ−Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌｓ
【非特許文献２】ＩＥＥＥ  １５１６．１−２０１０−Ｓｔａｎｄａｒｄ  ｆｏｒ  Ｍｏｄｅｌｉｎｇ  ａｎｄ  Ｓｉｍｕｌａｔｉｏｎ  Ｈｉｇｈ  Ｌｅｖｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ−Ｆｅｄｅｒａｔｅ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ
【非特許文献３】ＳＩＳＯ−ＳＴＤ−００１−２０１５−Ｓｔａｎｄａｒｄ  ｆｏｒ  Ｇｕｉｄａｎｃｅ，  Ｒａｔｉｏｎａｌｅ，  ａｎｄ  Ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  Ｍｏｄａｌｉｔｉｅｓ  ｆｏｒ  ｔｈｅ  Ｒｅａｌ−ｔｉｍｅ  Ｐｌａｔｆｏｒｍ  Ｒｅｆｅｒｅｎｃｅ  Ｆｅｄｅｒａｔｉｏｎ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ
【発明の概要】
【発明が解決しようとする課題】
【００１２】
次に、従来のＤＲアルゴリズムを利用したシミュレーションシステムにおける課題について説明する。なお、アクションを起こす側のシミュレータを「能動側シミュレータ」と称し、能動側シミュレータのアクションに呼応して動作するシミュレータを「受動側シミュレータ」と称する。また、当該アクションに関するエンティティを第１エンティティと称し、当該第１エンティティが起こすアクションの対象となるエンティティを第２エンティティと称する。第１エンティティは能動側シミュレータのモデル機能部によって生成され、第２エンティティは受動側シミュレータのモデル機能部によって生成される。また、能動側シミュレータの通信機能部は、ＤＲ内部第１エンティティ及びＤＲ外部第２エンティティを有し、受動側シミュレータの通信機能部は、ＤＲ外部第１エンティティ及びＤＲ内部第２エンティティを有する。
【００１３】
能動側シミュレータの通信機能部からＤＲ内部第１エンティティの空間情報基準値が送信された場合に、ネットワークの通信遅延により、受動側シミュレータでは、ＤＲ外部第１エンティティの空間情報外挿値と、能動側シミュレータにおける実際の第１エンティティの空間情報現在値との間に誤差が発生する。このような誤差が発生すると、能動側シミュレータと受動側シミュレータとの間で、矛盾したシミュレーション結果が発生するという問題が生じる。
【００１４】
なお、従来技術であるＤＩＳ及びＲＰＲ−ＦＯＭでは、シミュレーション実行の際に、上述した送信制御閾値を変更することが可能である。送信制御閾値を小さくすることで、受動側シミュレータにおけるＤＲ外部第１エンティティの空間情報外挿値と、能動側シミュレータにおける第１エンティティの空間情報現在値との間の誤差を小さく調整することが可能である。しかしながら、送信制御閾値を小さくすると、その分ネットワークに空間情報基準値が高頻度で送信されるため、ネットワーク負荷が高まることで１回あたりの通信遅延が大きくなる可能性も高まる。
【００１５】
通信遅延の増加は、ＤＲ外部第１エンティティの空間情報基準値の更新遅れにつながり、結果としてＤＲ外部第１エンティティの空間情報外挿値の誤差の増加につながる。具体例として、移動速度がマッハ１の移動体エンティティは、送信制御閾値の向きの差分を１度と設定した場合、空間情報基準値の更新が１秒遅れると外挿計算では約６ｍの位置誤差が生じる。このように、送信制御閾値を小さく調整した場合でも、ネットワーク負荷の増加により空間情報基準値の更新が遅れることで、空間情報外挿値の位置誤差を小さく調整することができないという問題がある。
【００１６】
このように、従来技術では、能動側シミュレータにおけるエンティティの空間情報現在値と、受動側シミュレータにおけるＤＲ外部エンティティの空間情報外挿値との間に誤差が発生し、能動側シミュレータと受動側シミュレータとが模擬している状況に食い違いが発生し、適切なシミュレーションが実施できない場合があるという問題があった。
【００１７】
本発明は、上記に鑑みてなされたものであって、受動側シミュレータにおけるＤＲ外部エンティティの空間情報外挿値の誤差を抑制して、適切なシミュレーションの実施を可能とする分散シミュレーションシステムを得ることを目的とする。
【課題を解決するための手段】
【００１８】
上述した課題を解決し、目的を達成するため、本発明に係る分散シミュレーションシステムは、ネットワークに接続された複数のシミュレータを有し、ＤＲアルゴリズムを使用してシミュレータ間の通信制御を行う。分散シミュレーションシステムのシミュレータは、外部エンティティ代替機能を有する。外部エンティティ代替機能は、外部シミュレータが模擬する外部エンティティとの間で情報交換を行い、外部エンティティの空間情報を必要としている間、ＤＲアルゴリズムによる外挿計算に代わって、外部エンティティと同じエンティティの模擬処理によって空間情報を取得する。
【発明の効果】
【００１９】
本発明によれば、受動側シミュレータにおけるＤＲ外部エンティティの空間情報外挿値の誤差を抑制することができ、適切なシミュレーションの実施が可能になる、という効果を奏する。
【図面の簡単な説明】
【００２０】
【図１】実施の形態に係る分散シミュレーションシステムの構成例を示すブロック図
【図２】図１の分散シミュレーションシステムを防衛向け分散リアルタイム訓練シミュレーションシステムに適用した場合のブロック図
【図３】図２の構成から能動側エンティティ代替機能部及び能動側エンティティ制御機能部を除外した構成を示すブロック図
【図４】図３に示す能動側シミュレータ及び受動側シミュレータにおいて実行されている論理的なシミュレーション状況における各エンティティの位置関係の例を示す図
【図５】実施の形態に係る能動側シミュレータ及び受動側シミュレータの機能を実現するハードウェア構成の一例を示すブロック図
【発明を実施するための形態】
【００２１】
以下に、本発明の実施の形態に係る分散シミュレーションシステムを図面に基づいて詳細に説明する。なお、以下の実施の形態により、本発明が限定されるものではない。
【００２２】
実施の形態．
図１は、本発明の実施の形態に係る分散シミュレーションシステムの構成例を示すブロック図である。実施の形態に係る分散シミュレーションシステム５０は、図１に示すように、能動側シミュレータ１と、能動側シミュレータ１のアクションに呼応して動作する受動側シミュレータ２とを備える。能動側シミュレータ１と受動側シミュレータ２とは、相互に通信できるようにネットワーク３を介して接続されている。能動側シミュレータ１及び受動側シミュレータ２は、共にＤＲアルゴリズムを使用して通信制御を行うシミュレータである。
【００２３】
能動側シミュレータ１は、能動側モデル機能部１１及び能動側通信機能部１２を有する。能動側通信機能部１２は、ＤＲ外部エンティティ機能１２ａ及びＤＲ内部エンティティ機能１２ｂを有する。
【００２４】
受動側シミュレータ２は、受動側モデル機能部２１、受動側通信機能部２２及び能動側エンティティ代替機能部２３を有する。受動側通信機能部２２は、ＤＲ内部エンティティ機能２２ａ、ＤＲ外部エンティティ機能２２ｂ及び能動側エンティティ制御機能２２ｃを有する。
【００２５】
図１の構成において、能動側エンティティ代替機能部２３及び能動側エンティティ制御機能２２ｃは、本実施の形態の分散シミュレーションシステムにおいて、新たに設けられた機能部である。これらの機能の詳細については、後述する。
【００２６】
図２は、図１の分散シミュレーションシステムを防衛向け分散リアルタイム訓練シミュレーションシステムに適用した場合のブロック図である。図１と同一又は同等の構成部には同一符号を付して示している。図２において、能動側モデル機能部１１には、対艦ミサイルモデル機能１１Ａが構築されている。なお、図２では図示しないが、能動側モデル機能部１１では、対艦ミサイルモデル機能１１Ａによって、対艦ミサイルエンティティが生成される。
【００２７】
能動側通信機能部１２では、ＤＲ外部エンティティ機能１２ａによってＤＲ艦艇エンティティ１０２が生成され、ＤＲ内部エンティティ機能１２ｂによって、ＤＲ対艦ミサイルエンティティ１０３が生成される。
【００２８】
また、受動側モデル機能部２１には、艦艇モデル機能２１Ａが構築されている。なお、図２では図示しないが、受動側モデル機能部２１では、艦艇モデル機能２１Ａによって、艦艇エンティティ２０１が生成される。
【００２９】
受動側通信機能部２２では、ＤＲ内部エンティティ機能２２ａによって、ＤＲ艦艇エンティティ２０２が生成され、ＤＲ外部エンティティ機能２２ｂによって、ＤＲ対艦ミサイルエンティティ２０３が生成される。
【００３０】
次に、本実施の形態に係る分散シミュレーションシステムの動作について説明する。なお、理解の容易化のため、最初に、本実施の形態の分散シミュレーションシステムの要部を成す能動側エンティティ代替機能部２３及び能動側エンティティ制御機能２２ｃを有さない場合の動作について、図３及び図４を参照して説明する。図３は、図２の構成から能動側エンティティ代替機能部２３及び能動側エンティティ制御機能２２ｃを除外した構成を示すブロック図である。図３において、図２と同一又は同等の構成部には同一符号を付して示している。また、図４は、図３に示す能動側シミュレータ１及び受動側シミュレータ２において実行されている論理的なシミュレーション状況における各エンティティの位置関係の例を示す図である。
【００３１】
まず、シミュレーションの実行が開始されると、各シミュレータのモデル機能部は自身が模擬するエンティティを作成し、当該エンティティの空間情報の初期値を算出して各通信機能部に出力する。
【００３２】
図３の例で説明すると、能動側シミュレータ１の対艦ミサイルモデル機能１１Ａは、ＤＲ内部エンティティである対艦ミサイルエンティティ１０１を生成し、当該エンティティの空間情報初期値を算出し、算出した空間情報初期値を空間情報基準値として記憶すると共に、算出した空間情報初期値をＤＲ内部エンティティ機能１２ｂに送信する。同様に、受動側シミュレータ２の艦艇モデル機能２１Ａは、ＤＲ内部エンティティである艦艇エンティティ２０１を生成し、当該エンティティの空間情報初期値を算出し、算出した空間情報初期値を空間情報基準値として記憶すると共に、算出した空間情報初期値をＤＲ内部エンティティ機能２２ａに送信する。
【００３３】
各エンティティの空間情報基準値を受信した通信機能部は、モデル機能部のエンティティに対応するＤＲ内部エンティティを生成し、エンティティの空間情報初期値を空間情報基準値として記憶すると共に、記憶した空間情報基準値を、ネットワーク３を介して外部のシミュレータの通信機能部に対して送信する。
【００３４】
図３の例で説明すると、能動側シミュレータ１におけるＤＲ内部エンティティ機能１２ｂは、ＤＲ対艦ミサイルエンティティ１０３を生成し、ＤＲ対艦ミサイルエンティティ１０３の空間情報初期値を空間情報基準値として記憶すると共に、記憶した空間情報基準値を、ネットワーク３を介して受動側シミュレータ２におけるＤＲ対艦ミサイルエンティティ２０３に対して送信する。同様に、受動側シミュレータ２におけるＤＲ内部エンティティ機能２２ａは、ＤＲ艦艇エンティティ２０２を生成し、ＤＲ艦艇エンティティ２０２の空間情報初期値を空間情報基準値として記憶すると共に、記憶した空間情報基準値を、ネットワーク３を介して能動側シミュレータ１におけるＤＲ艦艇エンティティ１０２に対して送信する。
【００３５】
ネットワーク３からエンティティの空間情報基準値を受信した各シミュレータの通信機能部は、当該エンティティに対応したＤＲ外部エンティティを作成し、当該ＤＲ外部エンティティに受信した空間情報基準値を記憶する。
【００３６】
図３の例で説明すると、能動側シミュレータ１におけるＤＲ外部エンティティ機能１２ａは、ＤＲ艦艇エンティティ１０２を生成し、ＤＲ艦艇エンティティ１０２に受信した空間情報基準値を記憶する。同様に、受動側シミュレータ２におけるＤＲ外部エンティティ機能２２ｂは、ＤＲ対艦ミサイルエンティティ２０３を生成し、ＤＲ対艦ミサイルエンティティ２０３に受信した空間情報基準値を記憶する。なお、シミュレータ間でやりとりされる空間情報基準値は、ＤＩＳでは、「Ｅｎｔｉｔｙ  Ｓｔａｔｅ  ＰＤＵ（Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔ）」というプロトコルで規定されており、ＲＰＲ−ＦＯＭでは、ＨＬＡにおける「Ｕｐｄａｔｅ  Ａｔｔｒｉｂｕｔｅ  Ｖａｌｕｅｓサービス」と、「Ｒｅｆｌｅｃｔ  Ａｔｔｒｉｂｕｔｅ  Ｖａｌｕｅｓサービス」との間で送受信される「Ｂａｓｅ  Ｅｎｔｉｔｙ  Ｏｂｊｅｃｔ  Ｃｌａｓｓ」の「Ｓｐａｔｉａｌ  Ａｔｔｒｉｂｕｔｅ」というデータで規定されている。
【００３７】
次に、各シミュレータのモデル機能においてエンティティの周期的な模擬が実行される段階では、モデル機能部は、周期的に現在時刻におけるエンティティの空間情報を更新する。更新された空間情報更新値は、同じシミュレータ内の通信機能部におけるＤＲ内部エンティティに対して出力される。
【００３８】
図３の例で説明すると、能動側シミュレータ１の対艦ミサイルモデル機能１１Ａは、現在時刻における対艦ミサイルエンティティ１０１の空間情報を周期的に更新し、更新した空間情報更新値を、ＤＲ対艦ミサイルエンティティ１０３に出力する。同様に、受動側シミュレータ２の艦艇モデル機能２１Ａは、現在時刻における艦艇エンティティ２０１の空間情報を周期的に更新し、更新した空間情報更新値を、ＤＲ艦艇エンティティ２０２に出力する。
【００３９】
エンティティの空間情報更新値を受領したＤＲ内部エンティティは、記憶されている空間情報基準値を基に外挿計算により、現在時刻における当該エンティティの空間情報外挿値を算出する。空間情報更新値が入力されたたＤＲ内部エンティティは、入力された空間情報更新値と、自身が算出した空間情報外挿値との差分を評価し、差分が送信制御閾値を超えた場合に、空間情報更新値を新たな空間情報基準値として記憶すると共に、ネットワーク３を介して外部シミュレータの通信機能部に、エンティティの空間情報基準値を送信する。なお、ＤＩＳ及びＲＰＲ−ＦＯＭにおける送信制御閾値のデフォルト値は、位置の差分が１ｍ、向きの差分が３度と規定されている。
【００４０】
図３の例で説明すると、能動側シミュレータ１において、能動側通信機能部１２のＤＲ対艦ミサイルエンティティ１０３は、受領した対艦ミサイルエンティティ１０１の空間情報更新値と、記憶されているＤＲ対艦ミサイルエンティティ１０３の空間情報基準値とを基に、外挿計算により、現在時刻におけるＤＲ対艦ミサイルエンティティ１０３の空間情報外挿値を算出する。ＤＲ対艦ミサイルエンティティ１０３は、入力された空間情報更新値と、自身が算出した空間情報外挿値との差分を評価し、差分が送信制御閾値を超えた場合に、空間情報更新値を新たな空間情報基準値として記憶すると共に、ネットワーク３を介して、ＤＲ外部エンティティ機能２２ｂのＤＲ対艦ミサイルエンティティ２０３に、ＤＲ対艦ミサイルエンティティ１０３の空間情報基準値を送信する。同様に、受動側シミュレータ２において、受動側通信機能部２２のＤＲ艦艇エンティティ２０２は、受領した艦艇エンティティ２０１の空間情報更新値と、記憶されているＤＲ艦艇エンティティ２０２の空間情報基準値とを基に、外挿計算により、現在時刻におけるＤＲ艦艇エンティティ２０２の空間情報外挿値を算出する。ＤＲ艦艇エンティティ２０２は、入力された空間情報更新値と、自身が算出した空間情報外挿値との差分を評価し、差分が送信制御閾値を超えた場合に、空間情報更新値を新たな空間情報基準値として記憶すると共に、ネットワーク３を介して、ＤＲ外部エンティティ機能１２ａのＤＲ艦艇エンティティ１０２に、ＤＲ艦艇エンティティ２０２の空間情報基準値を送信する。
【００４１】
送信元シミュレータにおけるエンティティの空間情報基準値を受信した送信先シミュレータの通信機能部は、当該エンティティに対応するＤＲ外部エンティティに空間情報基準値を記憶する。
【００４２】
図３の例で説明すると、能動側シミュレータ１のＤＲ外部エンティティ機能１２ａは、受動側シミュレータ２から受信した空間情報基準値をＤＲ艦艇エンティティ１０２に記憶する。同様に、受動側シミュレータ２のＤＲ外部エンティティ機能２２ｂは、能動側シミュレータ１から受信した空間情報基準値をＤＲ対艦ミサイルエンティティ２０３に記憶する。
【００４３】
送信先シミュレータのモデル機能部において、当該モデル機能部のエンティティは、送信元シミュレータにおける空間情報を参照する必要がある場合には、自シミュレータの通信機能部におけるＤＲ外部エンティティが記憶している空間情報基準値を基に、外挿計算により算出した現在時刻の空間情報外挿値を用いる。
【００４４】
図３の例で説明すると、能動側シミュレータ１における対艦ミサイルエンティティ１０１は、受動側シミュレータ２における空間情報を参照する必要がある場合には、能動側シミュレータ１におけるＤＲ艦艇エンティティ１０２が記憶している空間情報基準値を基に算出された現在時刻における空間情報外挿値を用いる。同様に、受動側シミュレータ２における艦艇エンティティ２０１は、能動側シミュレータ１における空間情報を参照する必要がある場合には、受動側シミュレータ２におけるＤＲ対艦ミサイルエンティティ２０３が記憶している空間情報基準値を基に算出された現在時刻における空間情報外挿値を用いる。なお、空間情報基準値を基にした外挿計算には、各エンティティの運動状態によって、等速直線運動又は等速回転運動といった運動計算が適宜選択されて用いられる。
【００４５】
次に、能動側シミュレータ１が模擬している対艦ミサイルエンティティ１０１と、受動側シミュレータ２が模擬している艦艇エンティティ２０１との間で攻撃及び防御といった交戦の模擬、並びに被害の模擬が行われる場合の動作について説明する。なお、攻撃は「能動アクション」の一例であり、防御は「受動アクション」の一例である。また、交戦は、「能動アクション」及び「受動アクション」を総称する「行動アクション」の一例である。
【００４６】
艦艇エンティティ２０１に対して攻撃を行う能動側シミュレータ１における対艦ミサイルエンティティ１０１は、ＤＲ艦艇エンティティ１０２の空間情報外挿値を基に、砲弾又はミサイルといった攻撃手段による攻撃の模擬を行う。
【００４７】
対艦ミサイルエンティティ１０１は、攻撃の結果を、対艦ミサイルエンティティ１０１の発射イベント、及び対艦ミサイルエンティティ１０１のＤＲ艦艇エンティティ１０２に対する会合イベントを、ネットワーク３を介して受動側シミュレータ２に送信する。
【００４８】
なお、ＤＩＳにおいて、シミュレータ間で通信されるイベントは、攻撃エンティティの発射に対応する「Ｆｉｒｅ  ＰＤＵ」、攻撃エンティティの攻撃対象への会合に対応する「Ｄｅｔｏｎａｔｉｏｎ  ＰＤＵ」というプロトコルで規定されている。また、ＲＰＲ−ＦＯＭでは、ＨＬＡにおける「Ｓｅｎｄ  Ｉｎｔｅｒａｃｔｉｏｎサービス」、及び「Ｒｅｃｅｉｖｅ  Ｉｎｔｅｒａｃｔｉｏｎサービス」で送受信されるデータとして、攻撃エンティティの発射に対応する「Ｗｅａｐｏｎ  Ｆｉｒｅ  Ｉｎｔｅｒａｃｔｉｏｎ  Ｃｌａｓｓ」と、攻撃エンティティの攻撃対象エンティティへの会合に対応する「Ｍｕｎｉｔｉｏｎ  Ｄｅｔｏｎａｔｉｏｎ  Ｉｎｔｅｒａｃｔｉｏｎ  Ｃｌａｓｓ」というデータで規定されている。
【００４９】
受動側シミュレータ２の艦艇エンティティ２０１は、能動側シミュレータ１から送信された発射イベント及び会合イベントを受信する。艦艇エンティティ２０１は、会合イベントを基に、艦艇エンティティ２０１の被害の有無の模擬を行う。
【００５０】
なお、受動側シミュレータ２は、会合イベントの前に発射イベントを受信している場合において、ＤＲ対艦ミサイルエンティティ２０３を模擬している場合には、ＤＲ対艦ミサイルエンティティ２０３の空間情報外挿値を基に、ＤＲ対艦ミサイルエンティティ２０３に対して対ミサイル兵器といった防御手段による攻撃を模擬することもできる。この場合、受動側シミュレータ２から防御手段のエンティティにおける発射イベント及び会合イベントが、ネットワーク３を介して能動側シミュレータ１に送信される。会合イベントを受信した能動側シミュレータ１は、受動側シミュレータ２の防御が成功したか失敗したかを模擬する。
【００５１】
なお、上記では、１回の攻撃と当該攻撃に対する防御について説明したが、交戦の模擬中は、能動側シミュレータ１と受動側シミュレータ２との間で、発射イベント及び会合イベントが、攻撃のため、さらに防御のための攻撃のため、繰り返し複雑にやりとりされることは言うまでもない。
【００５２】
次に、従来技術の問題点について説明する。なお、従来技術の問題点については上記において概略的に説明したが、ここでは、図４を参照して詳細に説明する。
【００５３】
図４には、能動側シミュレータ１における交戦の模擬状況と、能動側シミュレータ１における交戦の模擬状況とが視覚的に示されている。図４の左側の図には、攻撃エンティティである対艦ミサイルエンティティが、攻撃対象である艦艇エンティティに向かう進路が模擬されている。上述のように、対艦ミサイルエンティティの空間情報基準値は、能動側シミュレータ１から受動側シミュレータ２に送信される。ここで、ネットワークに通信遅延が発生した場合を想定する。このとき、受動側シミュレータ２では、対艦ミサイルエンティティの空間情報外挿値と、実際の能動側シミュレータにおける対艦ミサイルエンティティの空間情報現在値との間に誤差が発生する。図４の右側の図にはこの状況が示されている。具体的に説明すると、受動側シミュレータ２では、空間情報外挿値の誤差のため、対艦ミサイルエンティティが防御側である艦艇エンティティに向かってきていない。このように、ネットワークに通信遅延が発生すると、能動側シミュレータ１及び受動側シミュレータ２のそれぞれが模擬している状況に食い違いが発生する。この場合、受動側シミュレータ２を使用して艦艇防御の訓練を行っている訓練対象者は、艦艇エンティティに向かってくる対艦ミサイルが無いと判断して防御行動をとらない。ところが、実際は、攻撃側シミュレータである能動側シミュレータからは、艦艇の被害を示す会合イベントが送信されてしまう。その結果、訓練対象者から見ると矛盾したシミュレーション結果が発生するという問題点が生じてしまうことになる。
【００５４】
上記の問題点を解決するため、本実施の形態に係る分散シミュレーションシステムでは、図１及び図２に示すように、受動側シミュレータ２には、能動側シミュレータ１のモデル機能部である能動側モデル機能部１１が模擬するエンティティを受動側シミュレータ２の内部で代替する能動側エンティティ代替機能部２３と、受動側シミュレータ２の通信機能を有する受動側通信機能部２２において能動側エンティティの代替機能を実行制御する能動側エンティティ制御機能２２ｃとが構築されている。なお、その他の構成及び機能は、ＤＲアルゴリズムを利用した従来の分散シミュレーションシステムのシミュレータと同一又は同等である。
【００５５】
能動側エンティティ代替機能部２３は、能動側シミュレータ１の能動側モデル機能部１１が模擬する能動エンティティと同じエンティティの運動状態を模擬する機能である。能動側エンティティ代替機能部２３によれば、受動側シミュレータ２は、能動側シミュレータ１が模擬するエンティティとの間で情報交換を行い、当該エンティティの空間情報を必要としている間、ＤＲアルゴリズムによる外挿計算を行わずに、もしくは外挿計算に代わって、能動側シミュレータ１が模擬するエンティティと同じエンティティを受動側シミュレータ２の内部で模擬することにより、能動側シミュレータ１が模擬するエンティティの空間情報を取得することができる。
【００５６】
ここで、能動側シミュレータ１の能動側モデル機能部１１が模擬する能動エンティティがミサイルの場合について考える。一般的なミサイルは、発射地点又は発射プラットフォームから目的地又は目標に向かって誘導される経路を飛しょうするが、ミサイルの種類毎に発射後又は目標との距離に応じた速度及び高度を含む飛しょうプロファイルが決められている。このため、能動側エンティティ代替機能部２３は、能動側シミュレータ１の能動側モデル機能部１１が模擬する攻撃エンティティと同じ飛しょうプロファイルに基づく運動状態を模擬できるものとする。
【００５７】
なお、能動側エンティティ代替機能部２３は、能動側エンティティ制御機能２２ｃによって実行開始及び実行終了を制御されるまでの間は動作を休止する。
【００５８】
能動側エンティティ制御機能２２ｃは、能動側シミュレータ１から、攻撃エンティティの発射イベントを受信すると、能動側エンティティ代替機能部２３の実行が開始される。また、能動側エンティティ代替機能部２３の実行は、能動側エンティティ制御機能２２ｃが、能動側シミュレータ１からの会合イベントを受信することにより終了する。
【００５９】
能動側エンティティ代替機能部２３は、実行を開始すると、実行のきっかけとなった受動側シミュレータ２が受信した発射イベントに含まれる情報を基に、能動エンティティの運動状態の模擬を開始する。発射イベントには、少なくとも発射地点の座標、発射された能動エンティティの種別、発射された際の速度ベクトルが含まれる。なお、発射イベントは、ＤＩＳの「Ｆｉｒｅ  ＰＤＵ」、及びＲＰＲ−ＦＯＭの「Ｗｅａｐｏｎ  Ｆｉｒｅ  Ｉｎｔｅｒａｃｔｉｏｎ  Ｃｌａｓｓ」に規定されている情報である。実行を開始した能動側エンティティ代替機能部２３は、終了するまでの間、受動側シミュレータ２の受動側通信機能部２２において、ＤＲ外部エンティティ機能２２ｂに代わり、能動エンティティの空間情報現在値を算出する。
【００６０】
上記のように、受動側シミュレータ２の能動側エンティティ代替機能部２３は、能動エンティティの発射イベントを受信してから会合イベントを受信するまでの間、能動側シミュレータ１と同じ能動エンティティの運動状態の模擬を行う。このとき、能動側エンティティ代替機能部２３は、ＤＲ外部エンティティ機能２２ｂに代わって能動エンティティの空間情報現在値を算出するので、従来技術で露呈していた問題、すなわちＤＲ外部エンティティ機能２２ｂが算出する空間情報外挿値と空間情報現在値との誤差による問題を解決することができる。これにより、本実施の形態に係る分散シミュレーションシステムは、適切なシミュレーションの実施が可能となる。
【００６１】
なお、本実施の形態では、１つの能動側シミュレータ１と、１つの受動側シミュレータ２との間で行われるシミュレーションについて説明したが、能動側シミュレータ１の数は複数であってもよく、また、受動側シミュレータ２の数も複数であってもよい。また、本実施の形態では、能動側シミュレータ１及び受動側シミュレータ２を固定的に扱っているが、種々のシミュレーションの局面において、能動側シミュレータ１が受動側シミュレータとなり、受動側シミュレータ２が能動側シミュレータとなる場合もあり得る。この意味で、アクションを起こす側のシミュレータを「外部シミュレータ」と称し、外部シミュレータが起こしたアクションに対応する側のシミュレータを、単に「シミュレータ」と称してもよい。また、アクションを起こす外部シミュレータが生成したエンティティを「外部エンティティ」と称し、当該アクションに対応する側のシミュレータが生成したエンティティを、単に「エンティティ」と称してもよい。さらに、受動側シミュレータ２に構築された能動側エンティティ代替機能部２３を「外部エンティティ代替機能部」もしくは「外部エンティティ代替機能」と称し、受動側シミュレータ２の受動側通信機能部２２に構築された能動側エンティティ制御機能２２ｃを「外部エンティティ制御機能」と称してもよい。
【００６２】
以上説明したように、本実施の形態に係る分散シミュレーションシステムによれば、分散シミュレーションシステムを構成するシミュレータには外部エンティティ代替機能が構築され、当該外部エンティティ代替機能は、外部シミュレータが模擬する外部エンティティとの間で情報交換を行い、外部エンティティの空間情報を必要としている間、Ｄｅａｄ−Ｒｅｃｋｏｎｉｎｇアルゴリズムによる外挿計算を行わずに、もしくは外挿計算に代わって、外部エンティティと同じエンティティの模擬処理によって空間情報を計算するので、外部シミュレータが模擬する外部エンティティの空間情報現在値と、自身が計算した空間情報外挿値との間の誤差を抑制することができる。これにより、シミュレータ及び外部シミュレータのそれぞれが模擬している状況の食い違いの発生を抑止することができ、訓練対象者に対して適切なシミュレーション環境を提供することができる。
【００６３】
最後に、本実施の形態に係る分散シミュレーションシステムにおける能動側シミュレータ１及び受動側シミュレータ２の機能を実現するハードウェア構成について、図５の図面を参照して説明する。図５は、能動側シミュレータ１及び受動側シミュレータ２の機能を実現するハードウェア構成の一例を示すブロック図である。
【００６４】
能動側シミュレータ１及び受動側シミュレータ２の機能を実現する場合には、能動側シミュレータ１及び受動側シミュレータ２は、図５に示すように、各種処理を行うＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：中央処理装置）８２と、ネットワーク３との間の入出力インタフェースである入出力部８３とを備える。また、能動側シミュレータ１及び受動側シミュレータ２は、プログラム格納領域及びデータ格納領域を含むＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８４と、不揮発性メモリであるＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）８５とを備える。バス８６は、ＣＰＵ８２と、入出力部８３と、ＲＡＭ８４と、ＲＯＭ８５とを接続する。なお、ＣＰＵ８２は、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、又はＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）といった演算手段であってもよい。
【００６５】
ＲＯＭ８５には、各種処理のためのプログラムが格納されている。プログラムは、ＲＯＭ８５以外に、ドライブでの読み取りが可能な記録媒体に記録されたものでもよい。記録媒体は、可搬型記録媒体であるＣＤ−ＲＯＭ、ＤＶＤディスク、ＵＳＢメモリ、又は、半導体メモリであるフラッシュメモリのいずれであってもよい。
【００６６】
プログラムは、ＲＡＭ８４にロードされる。ＣＰＵ８２は、ＲＡＭ８４内のプログラム格納領域にてプログラムを展開して各種処理を実行する。ＲＡＭ８４内のデータ格納領域は、各種処理の実行における作業領域とされる。上述した、能動側モデル機能部１１、能動側通信機能部１２、受動側モデル機能部２１、受動側通信機能部２２及び能動側エンティティ代替機能部２３による各機能は、ＣＰＵ８２を使用して実現される。
【００６７】
なお、以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【００６８】
１  能動側シミュレータ、２  受動側シミュレータ、３  ネットワーク、１１  能動側モデル機能部、１１Ａ  対艦ミサイルモデル機能、１２  能動側通信機能部、１２ａ，２２ｂ  ＤＲ外部エンティティ機能、１２ｂ，２２ａ  ＤＲ内部エンティティ機能、２１  受動側モデル機能部、２１Ａ  艦艇モデル機能、２２  受動側通信機能部、２２ｃ  能動側エンティティ制御機能、２３  能動側エンティティ代替機能部、５０  分散シミュレーションシステム、８２  ＣＰＵ、８３  入出力部、８４  ＲＡＭ、８５  ＲＯＭ、８６  バス、１０１  対艦ミサイルエンティティ、１０２，２０２  ＤＲ艦艇エンティティ、１０３，２０３  ＤＲ対艦ミサイルエンティティ、２０１  艦艇エンティティ。
【図１】
2018151088.tif 000003
【図２】
2018151088.tif 000004
【図３】
2018151088.tif 000005
【図４】
2018151088.tif 000006
【図５】
2018151088.tif 000007