(57)【要約】【課題】高機動の移動体のシミュレーションにおけるリアルタイム性を確保する。【解決手段】シミュレータＡ１０１において、第２ＤＲエンティティ部１０７は、模擬で用いられるエンティティＡの位置、速度および加速度等の基準値をネットワーク１２１経由でシミュレータＢ１１１に送信して、シミュレータＢ１１１で基準値をもとにエンティティＡの動きを予測させるとともに、内部でも基準値をもとにエンティティＡの動きを予測し、内部での予測の結果と模擬の結果との差が閾値を超えた場合に、模擬の結果に相当するエンティティＡの位置、速度および加速度等の更新値を新たな基準値としてネットワーク１２１経由でシミュレータＢ１１１に送信する。更新レート調整部１１０は、通信遅延計測部１０９により計算された通信の遅延の長さに応じて、第２ＤＲエンティティ部１０７より更新値が送信される頻度を調整する。【選択図】図１
2019117226.tif 000002
【特許請求の範囲】
【請求項１】
移動体の動きを模擬するシミュレーションモデル部と、
前記シミュレーションモデル部による模擬で用いられる前記移動体の位置、速度および加速度の少なくともいずれかの基準値をネットワーク経由で外部のシミュレータに送信して、前記外部のシミュレータで前記基準値をもとに前記移動体の動きを予測させるとともに、内部でも前記基準値をもとに前記移動体の動きを予測し、内部での予測の結果と前記シミュレーションモデル部より得られた模擬の結果との差が閾値を超えた場合に、前記模擬の結果に相当する前記移動体の位置、速度および加速度の少なくともいずれかの更新値を新たな基準値としてネットワーク経由で前記外部のシミュレータに送信する内部エンティティ部と、
ネットワーク経由での通信の遅延を計測する通信遅延計測部と、
前記通信遅延計測部により計算された遅延の長さに応じて、前記内部エンティティ部より前記更新値が送信される頻度を調整する更新レート調整部と
を備えるシミュレータ。
【請求項２】
前記更新レート調整部は、前記通信遅延計測部により計算された遅延の長さに応じて、前記シミュレーションモデル部より前記模擬の結果が得られる周期を調整することで、前記内部エンティティ部より前記更新値が送信される頻度を調整する請求項１に記載のシミュレータ。
【請求項３】
前記更新レート調整部は、前記通信遅延計測部により計算された遅延の長さが基準時間よりも長ければ、前記周期を長くし、前記通信遅延計測部により計算された遅延の長さが前記基準時間よりも短ければ、前記周期をデフォルトの長さよりも短くならない範囲で短くする請求項２に記載のシミュレータ。
【請求項４】
前記外部のシミュレータによる模擬で用いられる他の移動体の位置、速度および加速度の少なくともいずれかの基準値をネットワーク経由で前記外部のシミュレータから受信して、受信した基準値をもとに前記他の移動体の動きを予測する外部エンティティ部をさらに備え、
前記通信遅延計測部は、前記外部のシミュレータから送信された時刻情報をもとに前記外部のシミュレータからの基準値の送信時刻を特定し、特定した送信時刻と前記外部エンティティ部における前記外部のシミュレータからの基準値の受信時刻とを比較することで、ネットワーク経由での通信の遅延を計測する請求項１から３のいずれか１項に記載のシミュレータ。
【請求項５】
請求項１から４のいずれか１項に記載のシミュレータを２つ以上備え、
それぞれのシミュレータが、互いに異なる移動体の動きを模擬し、模擬で用いる移動体の位置、速度および加速度の少なくともいずれかの基準値を送信し合う分散シミュレーションシステム。
【請求項６】
コンピュータに、
移動体の動きを模擬するシミュレーションモデル処理と、
前記シミュレーションモデル処理による模擬で用いられる前記移動体の位置、速度および加速度の少なくともいずれかの基準値をネットワーク経由で外部のシミュレータに送信して、前記外部のシミュレータで前記基準値をもとに前記移動体の動きを予測させるとともに、内部でも前記基準値をもとに前記移動体の動きを予測し、内部での予測の結果と前記シミュレーションモデル処理より得られた模擬の結果との差が閾値を超えた場合に、前記模擬の結果に相当する前記移動体の位置、速度および加速度の少なくともいずれかの更新値を新たな基準値としてネットワーク経由で前記外部のシミュレータに送信する内部エンティティ処理と、
ネットワーク経由での通信の遅延を計測する通信遅延計測処理と、
前記通信遅延計測処理により計算された遅延の長さに応じて、前記内部エンティティ処理より前記更新値が送信される頻度を調整する更新レート調整処理と
を実行させるシミュレーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレータ、分散シミュレーションシステムおよびシミュレーションプログラムに関するものである。
【背景技術】
【０００２】
多数の訓練シミュレータをネットワークで連接し、あるシミュレータにおいて模擬されている模擬エンティティの模擬情報を他のシミュレータにネットワークを介して送信することで、味方部隊および敵部隊の多数の模擬エンティティによる戦闘状況をシミュレーションする、防衛向け分散リアルタイム訓練用シミュレーションシステムがある。模擬エンティティの例としては、戦車の戦術訓練用シミュレータにおいて訓練対象者が操縦している仮想的な戦車がある。模擬情報の例としては、位置および速度等の運動情報と、残弾数および被害状況等の状態情報と、攻撃および通信等のイベント情報とがある。
【０００３】
防衛向け分散リアルタイム訓練用シミュレーションシステムでは、シミュレータの再利用性および相互接続性の向上と、システム開発および運用コストの低減とを目的とした標準技術が利用されている。シミュレータ同士がネットワーク上でＵＤＰ／ＩＰマルチキャスト通信によってデータ交換を行うためのプロトコルデータを標準化したＩＥＥＥ  １２７８  ＤＩＳ、および、シミュレータ同士を連接するミドルウェアＲＴＩの機能とインタフェースとを標準化したＩＥＥＥ  １５１６  ＨＬＡが広く使われている。「ＵＤＰ」は、Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌの略語である。「ＩＰ」は、Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌの略語である。「ＤＩＳ」は、Ｄｉｓｔｒｉｂｕｔｅｄ  Ｉｎｔｅｒａｃｔｉｖｅ  Ｓｉｍｕｌａｔｉｏｎの略語である。「ＲＴＩ」は、Ｒｕｎ−Ｔｉｍｅ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅの略語である。「ＨＬＡ」は、Ｈｉｇｈ  Ｌｅｖｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅの略語である。ＨＬＡでは、ＤＩＳと互換性を持ったシミュレーションデータをミドルウェアとシミュレータとの間で交換するためのデータ標準であるＲＰＲ−ＦＯＭが使われている。「ＲＰＲ−ＦＯＭ」は、Ｒｅａｌ−ｔｉｍｅ  Ｐｌａｔｆｏｒｍ  Ｒｅｆｅｒｅｎｃｅ  Ｆｅｄｅｒａｔｉｏｎ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌの略語である。
【０００４】
防衛向け分散リアルタイム訓練用シミュレーションシステムでは、複数のシミュレータで分散して模擬されているエンティティ間の位置関係および衝突等の事象は、すべてネットワーク上を流れるデータによってシミュレータ間で共有される。接続されるシミュレータ数が多くなり、システム規模が大きくなると、ネットワークの処理負荷が増加し、システムとしてのリアルタイム性を確保しにくくなる。そのため、ＤＩＳおよびＲＰＲ−ＦＯＭでは、必要なときだけシミュレータ間でネットワーク通信が行われるように動的な制御を行うＤＲアルゴリズムが利用されている。「ＤＲ」は、Ｄｅａｄ−Ｒｅｃｋｏｎｉｎｇの略語である。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】ＩＥＥＥ  １２７８．１−２０１２  −  Ｓｔａｎｄａｒｄ  ｆｏｒ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｉｎｔｅｒａｃｔｉｖｅ  Ｓｉｍｕｌａｔｉｏｎ  −  Ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｔｏｃｏｌｓ
【非特許文献２】ＩＥＥＥ  １５１６．１−２０１０  −  Ｓｔａｎｄａｒｄ  ｆｏｒ  Ｍｏｄｅｌｉｎｇ  ａｎｄ  Ｓｉｍｕｌａｔｉｏｎ  Ｈｉｇｈ  Ｌｅｖｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＨＬＡ）  −  Ｆｅｄｅｒａｔｅ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ
【非特許文献３】ＳＩＳＯ−ＳＴＤ−００１−２０１５  −  Ｓｔａｎｄａｒｄ  ｆｏｒ  Ｇｕｉｄａｎｃｅ，  Ｒａｔｉｏｎａｌｅ，  ａｎｄ  Ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  Ｍｏｄａｌｉｔｉｅｓ  ｆｏｒ  ｔｈｅ  Ｒｅａｌ−ｔｉｍｅ  Ｐｌａｔｆｏｒｍ  Ｒｅｆｅｒｅｎｃｅ  Ｆｅｄｅｒａｔｉｏｎ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来のＤＲアルゴリズムを利用した防衛向け分散リアルタイム訓練用シミュレーションシステムでは、高機動の移動体エンティティを模擬するシミュレータが他のシミュレータ向けの大量のデータを高頻度でネットワークに送出する。そのため、ネットワーク通信負荷の増加に伴う通信遅延またはタイムアウトによるデータ破棄が発生し、リアルタイムな訓練が実行できなくなる。
【０００７】
本発明は、高機動の移動体のシミュレーションにおけるリアルタイム性を確保することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一態様に係るシミュレータは、
移動体の動きを模擬するシミュレーションモデル部と、
前記シミュレーションモデル部による模擬で用いられる前記移動体の位置、速度および加速度の少なくともいずれかの基準値をネットワーク経由で外部のシミュレータに送信して、前記外部のシミュレータで前記基準値をもとに前記移動体の動きを予測させるとともに、内部でも前記基準値をもとに前記移動体の動きを予測し、内部での予測の結果と前記シミュレーションモデル部より得られた模擬の結果との差が閾値を超えた場合に、前記模擬の結果に相当する前記移動体の位置、速度および加速度の少なくともいずれかの更新値を新たな基準値としてネットワーク経由で前記外部のシミュレータに送信する内部エンティティ部と、
ネットワーク経由での通信の遅延を計測する通信遅延計測部と、
前記通信遅延計測部により計算された遅延の長さに応じて、前記内部エンティティ部より前記更新値が送信される頻度を調整する更新レート調整部と
を備える。
【発明の効果】
【０００９】
本発明では、ネットワーク経由での通信の遅延の長さに応じて、シミュレータが他のシミュレータ向けのデータをネットワークに送出する頻度を調整するため、高機動の移動体のシミュレーションにおけるリアルタイム性を確保することができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１に係る分散シミュレーションシステムの機能構成を示すブロック図。
【図２】実施の形態１に係る分散シミュレーションシステムのハードウェア構成を示すブロック図。
【図３】実施の形態２に係る分散シミュレーションシステムの機能構成を示すブロック図。
【図４】実施の形態２に係る分散シミュレーションシステムのハードウェア構成を示すブロック図。
【図５】比較例に係る、ＤＲアルゴリズムを利用した防衛向け分散リアルタイム訓練用シミュレーションシステムの機能構成を示すブロック図。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について、図を用いて説明する。各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。なお、本発明は、以下に説明する実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。例えば、以下に説明する実施の形態のうち、２つ以上の実施の形態が組み合わせられて実施されても構わない。あるいは、以下に説明する実施の形態のうち、１つの実施の形態または２つ以上の実施の形態の組み合わせが部分的に実施されても構わない。
【００１２】
実施の形態１．
図５に、比較例として、ＤＲアルゴリズムを利用した防衛向け分散リアルタイム訓練用シミュレーションシステムの例を示す。
【００１３】
図５の例では、対艦ミサイル部隊を模擬するシミュレータＡと艦艇を模擬するシミュレータＢとがネットワークで接続されている。各シミュレータは、同シミュレータが模擬するエンティティの模擬処理を実行するモデル機能と、ネットワークを介して他のシミュレータとの通信を行う通信機能とを持つ。シミュレータＡのモデル機能は、対艦ミサイルモデル機能である。シミュレータＡは、この対艦ミサイルモデル機能によって対艦ミサイルエンティティを模擬する。シミュレータＢのモデル機能は、艦艇モデル機能である。シミュレータＢは、この艦艇モデル機能によって艦艇エンティティを模擬する。
【００１４】
なお、ＤＩＳに準拠したシミュレータでは、ＤＩＳプロトコルに対応した通信機能が利用される。ＲＰＲ−ＦＯＭおよびＨＬＡに準拠したシミュレータでは、ＲＰＲ−ＦＯＭに対応したデータをＨＬＡインタフェースによりミドルウェアＲＴＩとの間で送受信する通信機能が利用される。
【００１５】
図５の例における防衛向け分散リアルタイム訓練用シミュレーションシステムの動作について説明する。
【００１６】
各シミュレータの実行が開始されると、各シミュレータのモデル機能は、同シミュレータが模擬するエンティティを作成し、そのエンティティの空間情報の初期値を算出して通信機能に出力する。空間情報には、位置情報、速度情報および加速度情報等が含まれる。エンティティの空間情報の初期値が入力された通信機能は、モデル機能のエンティティに対応するＤＲ内部エンティティを作成し、そのエンティティの空間情報の初期値を空間情報基準値として保存するとともに、ネットワークを介して外部のシミュレータの通信機能に対してエンティティの空間情報基準値を送信する。シミュレータＡでは、ＤＲ内部エンティティとして、ＤＲ対艦ミサイルエンティティが作成される。シミュレータＢでは、ＤＲ内部エンティティとして、ＤＲ艦艇エンティティが作成される。
【００１７】
ネットワークからエンティティの空間情報基準値を受信したシミュレータの通信機能は、そのエンティティに対応したＤＲ外部エンティティを作成し、そのエンティティに受信した空間情報基準値を保存する。シミュレータＡでは、ＤＲ外部エンティティとして、ＤＲ艦艇エンティティが作成される。シミュレータＢでは、ＤＲ外部エンティティとして、ＤＲ対艦ミサイルエンティティが作成される。
【００１８】
ＤＩＳでは、空間情報基準値は、Ｅｎｔｉｔｙ  Ｓｔａｔｅ  ＰＤＵというプロトコルで規定されている。「ＰＤＵ」は、Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔの略語である。ＲＰＲ−ＦＯＭでは、空間情報基準値は、ＨＬＡのＵｐｄａｔｅ  Ａｔｔｒｉｂｕｔｅ  ＶａｌｕｅｓサービスとＲｅｆｌｅｃｔ  Ａｔｔｒｉｂｕｔｅ  Ｖａｌｕｅｓサービスとで送受信されるＢａｓｅ  Ｅｎｔｉｔｙ  Ｏｂｊｅｃｔ  ＣｌａｓｓのＳｐａｔｉａｌ  Ａｔｔｒｉｂｕｔｅというデータで規定されている。
【００１９】
各シミュレータのモデル機能において、エンティティの周期的な模擬が実行される段階では、モデル機能は周期的に現在時刻におけるエンティティの空間情報を更新し、その更新値を同じシミュレータ内の通信機能のＤＲ内部エンティティに対して出力する。エンティティの空間情報の更新値が入力されたＤＲ内部エンティティは、保存していた空間情報基準値をもとに外挿計算により現在時刻のエンティティの空間情報の外挿値を算出し、空間情報の外挿値と更新値との差分を評価する。ＤＲ内部エンティティは、差分が送信制御閾値を超えた場合に空間情報の更新値を新たな空間情報基準値として保存するとともに、ネットワークを介して外部のシミュレータの通信機能に対してエンティティの空間情報基準値を送信する。送信制御閾値として、ＤＩＳおよびＲＰＲ−ＦＯＭのデフォルト値は、位置の差分が１ｍ、向きの差分が３度になっている。
【００２０】
ネットワークからエンティティの空間情報基準値を受信したシミュレータの通信機能は、対応するＤＲ外部エンティティに空間情報基準値を保存する。
【００２１】
各シミュレータのモデル機能において、エンティティが外部シミュレータの他エンティティの空間情報を参照する必要がある場合は、同シミュレータの通信機能のＤＲ外部エンティティが保存している空間情報基準値をもとに外挿計算により算出した現在時刻の空間情報の外挿値が用いられる。例えば、シミュレータＡにおいて、対艦ミサイルエンティティが、シミュレータＢの模擬する艦艇エンティティの位置に対して飛しょうする模擬を行う場合は、シミュレータＡの通信機能のＤＲ艦艇エンティティが保存している空間情報基準値をもとに外挿計算により算出した現在時刻の空間情報の外挿値が用いられる。なお、空間情報基準値をもとにした外挿計算を行うための式としては、目標の速度、加速度、直線運動、回転運動および座標の基準により９種類の外挿計算式が定義されており、エンティティの状態に応じて空間情報の外挿値と更新値との差分が最も小さくなる外挿計算式を選択できるよう考慮されている。
【００２２】
以上のように、ＤＲアルゴリズムを利用した防衛向け分散リアルタイム訓練用シミュレーションシステムでは、各シミュレータが模擬するエンティティに対応したＤＲ内部エンティティとＤＲ外部エンティティとにより、エンティティの空間情報基準値の更新が必要な場合のみネットワークを介した通信が行われる。すなわち、シミュレーション実行中の動的なネットワーク通信制御を実行されている。
【００２３】
しかし、エンティティがランダムに運動したり、短時間で運動方向を頻繁に変更したりするような高機動エンティティの場合は、外挿計算により得られる空間情報の外挿値と実際の空間情報の更新値との差分が送信制御閾値を超える可能性が高まる。そのため、高頻度で空間情報の更新値のネットワーク送信を行わざるを得なくなり、ネットワーク通信量を削減することができない。高機動エンティティとしては、ロックオンされた対空ミサイルに対する回避運動中の航空機等がある。一般的な訓練用シミュレーションシステムでは、各シミュレータは、外部シミュレータで模擬されている外部エンティティの探知および攻撃のために位置情報のみを必要とすることが多い。しかし、ＤＲアルゴリズムでは、空間情報の外挿計算に利用する外挿計算式の種類、速度ベクトル、加速度ベクトルおよび方向ベクトル等の情報が空間情報の更新値に含まれる。ＤＩＳでは、Ｅｎｔｉｔｙ  Ｓｔａｔｅ  ＰＤＵで規定されているデータのうち、位置情報に該当するデータは計１９２バイトであるが、空間情報の更新値に該当するデータは計７０４バイトである。よって、空間情報の更新値の１回あたりの通信量が単純な位置情報に比べて約３．６倍も大きくなり、ＤＲアルゴリズムによる通信量の削減効果が得られない場合はネットワークを圧迫してしまう。
【００２４】
以上のように、図５の例の、ＤＲアルゴリズムを利用した防衛向け分散リアルタイム訓練用シミュレーションシステムでは、高機動の移動体エンティティを模擬するシミュレータがデータ量の大きい空間情報の更新値を高頻度でネットワークに送出する。そのため、ネットワーク通信負荷の増加に伴う通信遅延またはタイムアウトによるデータ破棄が発生し、リアルタイムな訓練が実行できなくなる。
【００２５】
本実施の形態について、図１および図２を用いて説明する。
【００２６】
＊＊＊構成の説明＊＊＊
図１および図２を参照して、本実施の形態に係る分散シミュレーションシステム１００の構成を説明する。
【００２７】
分散シミュレーションシステム１００は、シミュレータを２つ以上備える。本実施の形態では、分散シミュレーションシステム１００は、シミュレータＡ１０１とシミュレータＢ１１１との２つのシミュレータを備える。
【００２８】
シミュレータＡ１０１およびシミュレータＢ１１１は、ネットワーク１２１を介して互いに通信可能なコンピュータである。後述するように、それぞれのシミュレータは、互いに異なる移動体の動きを模擬し、模擬で用いる移動体の位置、速度および加速度の少なくともいずれかの基準値を送信し合う。
【００２９】
図１に示すように、シミュレータＡ１０１は、機能要素として、シミュレーションモデル部１０２と、ＤＩＳ通信部１０４とを備える。ＤＩＳ通信部１０４は、第１ＤＲエンティティ部１０５と、第２ＤＲエンティティ部１０７と、通信遅延計測部１０９と、更新レート調整部１１０とを備える。第１ＤＲエンティティ部１０５は、外部エンティティ部の例である。第２ＤＲエンティティ部１０７は、内部エンティティ部の例である。
【００３０】
シミュレーションモデル部１０２は、シミュレータＡ１０１において内部エンティティの模擬処理を実行するシミュレーションモデル機能を持っている。内部エンティティＡ１０３は、シミュレータＡ１０１において模擬される内部エンティティである。ＤＩＳ通信部１０４は、シミュレータＡ１０１においてＤＩＳに基づく通信処理を実行するＤＩＳ通信機能を持っている。第１ＤＲエンティティ部１０５は、シミュレータＡ１０１においてＤＲアルゴリズムによる外部エンティティの外挿処理を行うＤＲエンティティ機能を持っている。ＤＲ外部エンティティＢ１０６は、シミュレータＡ１０１が扱う外部エンティティである。第２ＤＲエンティティ部１０７は、シミュレータＡ１０１においてＤＲアルゴリズムによる内部エンティティの外挿処理を行うＤＲエンティティ機能を持っている。ＤＲ内部エンティティＡ１０８は、シミュレータＡ１０１が扱う内部エンティティである。通信遅延計測部１０９は、ネットワーク通信遅延計測機能を持っている。更新レート調整部１１０は、内部更新レート算出機能および内部更新レート通知機能を持っている。
【００３１】
図２に示すように、シミュレータＡ１０１は、プロセッサ１５１を備えるとともに、メモリ１５２、通信デバイス１５３、入力機器１５４およびディスプレイ１５５といった他のハードウェアを備える。プロセッサ１５１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００３２】
シミュレータＡ１０１のシミュレーションモデル部１０２およびＤＩＳ通信部１０４の機能は、ソフトウェアにより実現される。具体的には、シミュレータＡ１０１のシミュレーションモデル機能、ＤＲエンティティ機能、ネットワーク通信遅延計測機能、内部更新レート算出機能および内部更新レート通知機能は、ソフトウェアにより実現される。
【００３３】
プロセッサ１５１は、シミュレーションプログラムＡを実行する装置である。シミュレーションプログラムＡは、シミュレーションモデル部１０２およびＤＩＳ通信部１０４の機能を実現するプログラムである。プロセッサ１５１は、例えば、ＣＰＵである。「ＣＰＵ」は、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略語である。
【００３４】
メモリ１５２は、シミュレーションプログラムＡを記憶する装置である。メモリ１５２は、例えば、ＲＡＭ、フラッシュメモリまたはこれらの少なくともいずれかの組み合わせである。「ＲＡＭ」は、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略語である。
【００３５】
通信デバイス１５３は、シミュレーションプログラムＡに入力されるデータを受信するレシーバと、シミュレーションプログラムＡから出力されるデータを送信するトランスミッタとを含む。通信デバイス１５３は、例えば、通信チップまたはＮＩＣである。「ＮＩＣ」は、Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄの略語である。
【００３６】
入力機器１５４は、シミュレーションプログラムＡへのデータの入力のためにユーザにより操作される機器である。入力機器１５４は、例えば、マウス、キーボード、タッチパネルまたはこれらの少なくともいずれかの組み合わせである。
【００３７】
ディスプレイ１５５は、シミュレーションプログラムＡから出力されるデータを画面に表示する機器である。ディスプレイ１５５は、例えば、ＬＣＤである。「ＬＣＤ」は、Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙの略語である。
【００３８】
シミュレーションプログラムＡは、メモリ１５２からプロセッサ１５１に読み込まれ、プロセッサ１５１によって実行される。メモリ１５２には、シミュレーションプログラムＡだけでなく、ＯＳも記憶されている。「ＯＳ」は、Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍの略語である。プロセッサ１５１は、ＯＳを実行しながら、シミュレーションプログラムＡを実行する。なお、シミュレーションプログラムＡの一部または全部がＯＳに組み込まれていてもよい。
【００３９】
シミュレーションプログラムＡおよびＯＳは、補助記憶装置に記憶されていてもよい。補助記憶装置は、例えば、ＨＤＤ、フラッシュメモリまたはこれらの少なくともいずれかの組み合わせである。「ＨＤＤ」は、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略語である。シミュレーションプログラムＡおよびＯＳは、補助記憶装置に記憶されている場合、メモリ１５２にロードされ、プロセッサ１５１によって実行される。
【００４０】
シミュレータＡ１０１は、プロセッサ１５１を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、シミュレーションプログラムＡの実行を分担する。それぞれのプロセッサは、例えば、ＣＰＵである。
【００４１】
シミュレーションプログラムＡにより利用、処理または出力されるデータ、情報、信号値および変数値は、メモリ１５２、補助記憶装置、または、プロセッサ１５１内のレジスタまたはキャッシュメモリに記憶される。
【００４２】
シミュレーションプログラムＡは、シミュレーションモデル部１０２およびＤＩＳ通信部１０４により行われる処理をそれぞれシミュレーションモデル処理およびＤＩＳ通信処理としてコンピュータに実行させるプログラムである。具体的には、シミュレーションプログラムＡは、シミュレーションモデル部１０２、第１ＤＲエンティティ部１０５、第２ＤＲエンティティ部１０７、通信遅延計測部１０９および更新レート調整部１１０により行われる処理をそれぞれシミュレーションモデル処理、外部エンティティ処理、内部エンティティ処理、通信遅延計測処理および更新レート調整処理としてコンピュータに実行させるプログラムである。シミュレーションプログラムＡは、コンピュータ読取可能な媒体に記録されて提供されてもよいし、記録媒体に格納されて提供されてもよいし、プログラムプロダクトとして提供されてもよい。
【００４３】
シミュレータＡ１０１は、１台のコンピュータで構成されていてもよいし、複数台のコンピュータで構成されていてもよい。シミュレータＡ１０１が複数台のコンピュータで構成されている場合は、シミュレーションモデル部１０２およびＤＩＳ通信部１０４の機能が、各コンピュータに分散されて実現されてもよい。
【００４４】
図１に示すように、シミュレータＢ１１１は、機能要素として、シミュレーションモデル部１１２と、ＤＩＳ通信部１１４とを備える。ＤＩＳ通信部１１４は、第１ＤＲエンティティ部１１５と、第２ＤＲエンティティ部１１７と、通信遅延計測部１１９と、更新レート調整部１２０とを備える。第１ＤＲエンティティ部１１５は、外部エンティティ部の例である。第２ＤＲエンティティ部１１７は、内部エンティティ部の例である。
【００４５】
シミュレーションモデル部１１２は、シミュレータＢ１１１において内部エンティティの模擬処理を実行するシミュレーションモデル機能を持っている。内部エンティティＢ１１３は、シミュレータＢ１１１において模擬される内部エンティティである。ＤＩＳ通信部１１４は、シミュレータＢ１１１においてＤＩＳに基づく通信処理を実行するＤＩＳ通信機能を持っている。第１ＤＲエンティティ部１１５は、シミュレータＢ１１１においてＤＲアルゴリズムによる外部エンティティの外挿処理を行うＤＲエンティティ機能を持っている。ＤＲ外部エンティティＡ１１６は、シミュレータＢ１１１が扱う外部エンティティである。第２ＤＲエンティティ部１１７は、シミュレータＢ１１１においてＤＲアルゴリズムによる内部エンティティの外挿処理を行うＤＲエンティティ機能を持っている。ＤＲ内部エンティティＢ１１８は、シミュレータＢ１１１が扱う内部エンティティである。通信遅延計測部１１９は、ネットワーク通信遅延計測機能を持っている。更新レート調整部１２０は、内部更新レート算出機能および内部更新レート通知機能を持っている。
【００４６】
図２に示すように、シミュレータＢ１１１は、プロセッサ１６１を備えるとともに、メモリ１６２、通信デバイス１６３、入力機器１６４およびディスプレイ１６５といった他のハードウェアを備える。プロセッサ１６１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００４７】
シミュレータＢ１１１のシミュレーションモデル部１１２およびＤＩＳ通信部１１４の機能は、ソフトウェアにより実現される。具体的には、シミュレータＢ１１１のシミュレーションモデル機能、ＤＲエンティティ機能、ネットワーク通信遅延計測機能、内部更新レート算出機能および内部更新レート通知機能は、ソフトウェアにより実現される。
【００４８】
プロセッサ１６１は、シミュレーションプログラムＢを実行する装置である。シミュレーションプログラムＢは、シミュレーションモデル部１１２およびＤＩＳ通信部１１４の機能を実現するプログラムである。プロセッサ１６１は、例えば、ＣＰＵである。
【００４９】
メモリ１６２は、シミュレーションプログラムＢを記憶する装置である。メモリ１６２は、例えば、ＲＡＭ、フラッシュメモリまたはこれらの少なくともいずれかの組み合わせである。
【００５０】
通信デバイス１６３は、シミュレーションプログラムＢに入力されるデータを受信するレシーバと、シミュレーションプログラムＢから出力されるデータを送信するトランスミッタとを含む。通信デバイス１６３は、例えば、通信チップまたはＮＩＣである。
【００５１】
入力機器１６４は、シミュレーションプログラムＢへのデータの入力のためにユーザにより操作される機器である。入力機器１６４は、例えば、マウス、キーボード、タッチパネルまたはこれらの少なくともいずれかの組み合わせである。
【００５２】
ディスプレイ１６５は、シミュレーションプログラムＢから出力されるデータを画面に表示する機器である。ディスプレイ１６５は、例えば、ＬＣＤである。
【００５３】
シミュレーションプログラムＢは、メモリ１６２からプロセッサ１６１に読み込まれ、プロセッサ１６１によって実行される。メモリ１６２には、シミュレーションプログラムＢだけでなく、ＯＳも記憶されている。プロセッサ１６１は、ＯＳを実行しながら、シミュレーションプログラムＢを実行する。なお、シミュレーションプログラムＢの一部または全部がＯＳに組み込まれていてもよい。
【００５４】
シミュレーションプログラムＢおよびＯＳは、補助記憶装置に記憶されていてもよい。補助記憶装置は、例えば、ＨＤＤ、フラッシュメモリまたはこれらの少なくともいずれかの組み合わせである。シミュレーションプログラムＢおよびＯＳは、補助記憶装置に記憶されている場合、メモリ１６２にロードされ、プロセッサ１６１によって実行される。
【００５５】
シミュレータＢ１１１は、プロセッサ１６１を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、シミュレーションプログラムＢの実行を分担する。それぞれのプロセッサは、例えば、ＣＰＵである。
【００５６】
シミュレーションプログラムＢにより利用、処理または出力されるデータ、情報、信号値および変数値は、メモリ１６２、補助記憶装置、または、プロセッサ１６１内のレジスタまたはキャッシュメモリに記憶される。
【００５７】
シミュレーションプログラムＢは、シミュレーションモデル部１１２およびＤＩＳ通信部１１４により行われる処理をそれぞれシミュレーションモデル処理およびＤＩＳ通信処理としてコンピュータに実行させるプログラムである。具体的には、シミュレーションプログラムＢは、シミュレーションモデル部１１２、第１ＤＲエンティティ部１１５、第２ＤＲエンティティ部１１７、通信遅延計測部１１９および更新レート調整部１２０により行われる処理をそれぞれシミュレーションモデル処理、外部エンティティ処理、内部エンティティ処理、通信遅延計測処理および更新レート調整処理としてコンピュータに実行させるプログラムである。シミュレーションプログラムＢは、コンピュータ読取可能な媒体に記録されて提供されてもよいし、記録媒体に格納されて提供されてもよいし、プログラムプロダクトとして提供されてもよい。
【００５８】
シミュレータＢ１１１は、１台のコンピュータで構成されていてもよいし、複数台のコンピュータで構成されていてもよい。シミュレータＢ１１１が複数台のコンピュータで構成されている場合は、シミュレーションモデル部１１２およびＤＩＳ通信部１１４の機能が、各コンピュータに分散されて実現されてもよい。
【００５９】
＊＊＊動作の説明＊＊＊
図１を参照して、本実施の形態に係る分散シミュレーションシステム１００の動作を説明する。分散シミュレーションシステム１００の動作は、本実施の形態に係る分散シミュレーション方法に相当する。
【００６０】
内部エンティティの空間情報の送信制御および外部エンティティの空間情報の取得は、図５の例のＤＲアルゴリズムを利用した動作と同じである。
【００６１】
エンティティの周期的な模擬が実行される段階において、シミュレータＡ１０１のシミュレーションモデル部１０２における内部エンティティＡ１０３は、内部エンティティＡ１０３の空間情報の更新値を算出して第２ＤＲエンティティ部１０７におけるＤＲ内部エンティティＡ１０８に出力する。第２ＤＲエンティティ部１０７は、内部エンティティＡ１０３から入力された空間情報の更新値と、ＤＲ内部エンティティＡ１０８が外挿計算した空間情報の外挿値との差分を評価する。第２ＤＲエンティティ部１０７は、差分が送信制御閾値を超えた場合に、空間情報の更新値を、ネットワーク１２１を介して外部のシミュレータであるシミュレータＢ１１１のＤＩＳ通信部１１４に対してエンティティの空間情報基準値として送信する。シミュレータＡ１０１から空間情報基準値を受信したシミュレータＢ１１１のＤＩＳ通信部１１４は、第１ＤＲエンティティ部１１５におけるＤＲ外部エンティティＡ１１６の空間情報基準値を更新する。
【００６２】
同様に、シミュレータＢ１１１のシミュレーションモデル部１１２における内部エンティティＢ１１３は、内部エンティティＢ１１３の空間情報の更新値を算出して第２ＤＲエンティティ部１１７におけるＤＲ内部エンティティＢ１１８に出力する。第２ＤＲエンティティ部１１７は、内部エンティティＢ１１３から入力された空間情報の更新値と、ＤＲ内部エンティティＢ１１８が外挿計算した空間情報の外挿値との差分を評価する。第２ＤＲエンティティ部１１７は、差分が送信制御閾値を超えた場合に、空間情報の更新値を、ネットワーク１２１を介して外部のシミュレータであるシミュレータＡ１０１のＤＩＳ通信部１０４に対してエンティティの空間情報基準値として送信する。シミュレータＢ１１１から空間情報基準値を受信したシミュレータＡ１０１のＤＩＳ通信部１０４は、第１ＤＲエンティティ部１０５におけるＤＲ外部エンティティＢ１０６の空間情報基準値を更新する。
【００６３】
シミュレータＡ１０１のシミュレーションモデル部１０２における内部エンティティＡ１０３が外部のエンティティの空間情報を参照する必要がある場合、ＤＩＳ通信部１０４の第１ＤＲエンティティ部１０５は、空間情報基準値をもとに外挿計算により算出した現在時刻のＤＲ外部エンティティＢ１０６の空間情報の外挿値を内部エンティティＡ１０３に出力する。
【００６４】
同様に、シミュレータＢ１１１のシミュレーションモデル部１１２における内部エンティティＢ１１３が外部のエンティティの空間情報を参照する必要がある場合、ＤＩＳ通信部１１４の第１ＤＲエンティティ部１１５は、空間情報基準値をもとに外挿計算により算出した現在時刻のＤＲ外部エンティティＡ１１６の空間情報の外挿値を内部エンティティＢ１１３に出力する。
【００６５】
このように、本実施の形態において、シミュレータＡ１０１のシミュレーションモデル部１０２は、対艦ミサイル等の任意の移動体であるエンティティＡの動きを模擬する。
【００６６】
シミュレータＡ１０１の第２ＤＲエンティティ部１０７は、シミュレーションモデル部１０２による模擬で用いられるエンティティＡの位置、速度および加速度の少なくともいずれかの基準値をネットワーク１２１経由で外部のシミュレータであるシミュレータＢ１１１に送信して、シミュレータＢ１１１で基準値をもとにエンティティＡの動きを予測させる。第２ＤＲエンティティ部１０７は、内部でも基準値をもとにエンティティＡの動きを予測する。第２ＤＲエンティティ部１０７は、内部での予測の結果とシミュレーションモデル部１０２より得られた模擬の結果との差が閾値を超えた場合に、模擬の結果に相当するエンティティＡの位置、速度および加速度の少なくともいずれかの更新値を新たな基準値としてネットワーク１２１経由でシミュレータＢ１１１に送信する。
【００６７】
シミュレータＡ１０１の第１ＤＲエンティティ部１０５は、シミュレータＢ１１１による模擬で用いられる、艦艇等、エンティティＡとは別の任意の移動体であるエンティティＢの位置、速度および加速度の少なくともいずれかの基準値をネットワーク１２１経由でシミュレータＢ１１１から受信して、受信した基準値をもとにエンティティＢの動きを予測する。
【００６８】
同様に、本実施の形態において、シミュレータＢ１１１のシミュレーションモデル部１１２は、エンティティＢの動きを模擬する。
【００６９】
シミュレータＢ１１１の第２ＤＲエンティティ部１１７は、シミュレーションモデル部１１２による模擬で用いられるエンティティＢの位置、速度および加速度の少なくともいずれかの基準値をネットワーク１２１経由で外部のシミュレータであるシミュレータＡ１０１に送信して、シミュレータＡ１０１で基準値をもとにエンティティＢの動きを予測させる。第２ＤＲエンティティ部１１７は、内部でも基準値をもとにエンティティＢの動きを予測する。第２ＤＲエンティティ部１１７は、内部での予測の結果とシミュレーションモデル部１１２より得られた模擬の結果との差が閾値を超えた場合に、模擬の結果に相当するエンティティＢの位置、速度および加速度の少なくともいずれかの更新値を新たな基準値としてネットワーク１２１経由でシミュレータＡ１０１に送信する。
【００７０】
シミュレータＢ１１１の第１ＤＲエンティティ部１１５は、シミュレータＡ１０１による模擬で用いられるエンティティＡの位置、速度および加速度の少なくともいずれかの基準値をネットワーク１２１経由でシミュレータＡ１０１から受信して、受信した基準値をもとにエンティティＡの動きを予測する。
【００７１】
各シミュレータの内部エンティティが高機動の移動体エンティティを模擬しており、空間情報の更新値を高頻度でネットワーク１２１に送出している場合の動作を説明する。
【００７２】
シミュレータＡ１０１のＤＩＳ通信部１０４の第１ＤＲエンティティ部１０５がシミュレータＢ１１１から空間情報基準値を受信すると、ＤＩＳ通信部１０４の通信遅延計測部１０９は、受信された空間情報基準値の送信時刻と、空間情報基準値が受信された際の受信時刻との差分からネットワーク通信遅延時間を算出する。通信遅延計測部１０９は、算出したネットワーク通信遅延時間を更新レート調整部１１０に出力する。なお、空間情報基準値の送信時刻は、空間情報基準値の通信メッセージに含まれている。ＤＩＳにおいて空間情報基準値の通信に利用されているＥｎｔｉｔｙ  Ｓｔａｔｅ  ＰＤＵのメッセージに含まれるＴｉｍｅ  ｓｔａｍｐが送信時刻である。
【００７３】
同様に、シミュレータＢ１１１のＤＩＳ通信部１１４の第１ＤＲエンティティ部１１５がシミュレータＡ１０１から空間情報基準値を受信すると、ＤＩＳ通信部１１４の通信遅延計測部１１９は、受信された空間情報基準値の送信時刻と、空間情報基準値が受信された際の受信時刻との差分からネットワーク通信遅延時間を算出する。通信遅延計測部１１９は、算出したネットワーク通信遅延時間を更新レート調整部１２０に出力する。
【００７４】
シミュレータＡ１０１の更新レート調整部１１０は、シミュレータＡ１０１の内部エンティティＡ１０３が定期的に更新する空間情報が毎回入力されることで、内部エンティティＡ１０３の更新周期を算出し、内部エンティティ更新周期として保存する。更新レート調整部１１０は、通信遅延計測部１０９から入力されたネットワーク通信遅延時間をもとに、次の計算方法で内部エンティティＡ１０３の更新周期変更値を算出し、内部更新レート変更通知として内部エンティティＡ１０３に出力する。
・ネットワーク通信遅延時間＞通信遅延基準時間
−以前の更新周期変更値がある場合
更新周期変更値＝以前の更新周期変更値−削減定数
−以前の更新周期変更値がない場合
更新周期変更値＝内部エンティティ更新周期−削減定数
・ネットワーク通信遅延時間≦通信遅延基準時間
−以前の更新周期変更値がある場合
更新周期変更値＝以前の更新周期変更値＋削減定数
※ただし、算出した更新周期変更値が内部エンティティ更新周期より大きくなる場合は、「更新周期変更値＝内部エンティティ更新周期」とする。
−以前の更新周期変更値がない場合
更新周期変更値＝内部エンティティ更新周期
【００７５】
なお、更新周期変更値の算出に用いる通信遅延基準時間および削減定数は、ユーザがネットワーク１２１の性能等に応じて外部設定できる設定値である。
【００７６】
内部エンティティＡ１０３は、更新レート調整部１１０から受信した内部更新レート変更通知に基づき、内部エンティティＡ１０３の更新周期を変更し、空間情報基準値の更新を行う。
【００７７】
同様に、シミュレータＢ１１１の更新レート調整部１２０は、シミュレータＢ１１１の内部エンティティＢ１１３が定期的に更新する空間情報が毎回入力されることで、内部エンティティＢ１１３の更新周期を算出し、内部エンティティ更新周期として保存する。更新レート調整部１２０は、通信遅延計測部１１９から入力されたネットワーク通信遅延時間をもとに、シミュレータＡ１０１の更新レート調整部１１０と同じ計算方法で内部エンティティＢ１１３の更新周期変更値を算出し、内部更新レート変更通知として内部エンティティＢ１１３に出力する。
【００７８】
内部エンティティＢ１１３は、更新レート調整部１２０から受信した内部更新レート変更通知に基づき、内部エンティティＢ１１３の更新周期を変更し、空間情報基準値の更新を行う。
【００７９】
このように、本実施の形態において、シミュレータＡ１０１の通信遅延計測部１０９は、ネットワーク１２１経由での通信の遅延を計測する。具体的には、通信遅延計測部１０９は、シミュレータＢ１１１から送信された時刻情報をもとにシミュレータＢ１１１からの基準値の送信時刻を特定し、特定した送信時刻と第１ＤＲエンティティ部１０５におけるシミュレータＢ１１１からの基準値の受信時刻とを比較することで、ネットワーク１２１経由での通信の遅延を計測する。
【００８０】
シミュレータＡ１０１の更新レート調整部１１０は、通信遅延計測部１０９により計算された遅延の長さに応じて、第２ＤＲエンティティ部１０７より更新値がネットワーク１２１経由でシミュレータＢ１１１に送信される頻度を調整する。具体的には、更新レート調整部１１０は、通信遅延計測部１０９により計算された遅延の長さに応じて、シミュレーションモデル部１０２より模擬の結果が得られる周期を調整することで、第２ＤＲエンティティ部１０７より更新値が送信される頻度を調整する。より具体的には、更新レート調整部１１０は、通信遅延計測部１０９により計算された遅延の長さが基準時間よりも長ければ、シミュレーションモデル部１０２より模擬の結果が得られる周期を長くする。更新レート調整部１１０は、通信遅延計測部１０９により計算された遅延の長さが基準時間よりも短ければ、シミュレーションモデル部１０２より模擬の結果が得られる周期をデフォルトの長さよりも短くならない範囲で短くする。
【００８１】
同様に、本実施の形態において、シミュレータＢ１１１の通信遅延計測部１１９は、ネットワーク１２１経由での通信の遅延を計測する。具体的には、通信遅延計測部１１９は、シミュレータＡ１０１から送信された時刻情報をもとにシミュレータＡ１０１からの基準値の送信時刻を特定し、特定した送信時刻と第１ＤＲエンティティ部１１５におけるシミュレータＡ１０１からの基準値の受信時刻とを比較することで、ネットワーク１２１経由での通信の遅延を計測する。
【００８２】
シミュレータＢ１１１の更新レート調整部１２０は、通信遅延計測部１１９により計算された遅延の長さに応じて、第２ＤＲエンティティ部１１７より更新値がネットワーク１２１経由でシミュレータＡ１０１に送信される頻度を調整する。具体的には、更新レート調整部１２０は、通信遅延計測部１１９により計算された遅延の長さに応じて、シミュレーションモデル部１１２より模擬の結果が得られる周期を調整することで、第２ＤＲエンティティ部１１７より更新値が送信される頻度を調整する。より具体的には、更新レート調整部１２０は、通信遅延計測部１１９により計算された遅延の長さが基準時間よりも長ければ、シミュレーションモデル部１１２より模擬の結果が得られる周期を長くする。更新レート調整部１２０は、通信遅延計測部１１９により計算された遅延の長さが基準時間よりも短ければ、シミュレーションモデル部１１２より模擬の結果が得られる周期をデフォルトの長さよりも短くならない範囲で短くする。
【００８３】
＊＊＊実施の形態の効果の説明＊＊＊
本実施の形態では、ネットワーク１２１経由での通信の遅延の長さに応じて、各シミュレータが他のシミュレータ向けのデータをネットワーク１２１に送出する頻度を調整するため、高機動の移動体のシミュレーションにおけるリアルタイム性を確保することができる。
【００８４】
本実施の形態における、ＤＩＳに基づく分散シミュレーションシステム１００では、各シミュレータが通信遅延を自動計測し、計測結果に基づき内部エンティティの更新周期を算出して内部エンティティに通知する。各シミュレータの内部エンティティは、通知された更新周期に基づいて空間情報を出力する。そのため、各シミュレータが高機動の移動体エンティティを模擬中にネットワーク１２１の負荷が高まり、シミュレータ間の通信遅延が大きくなった場合において、各シミュレータのネットワーク１２１に対する空間情報基準値の送信頻度を自動的に調整することが可能となり、ネットワーク１２１の負荷を低減することが可能となる。
【００８５】
本実施の形態では、分散シミュレーションシステム１００が、ＤＲアルゴリズムに基づきシミュレータが模擬するエンティティの位置、速度および加速度等の空間情報のネットワーク送信制御を行う。分散シミュレーションシステム１００に参加する各シミュレータは、ネットワーク通信遅延計測機能によりシミュレーションの実行中に外部シミュレータから送信された情報の通信遅延時間を計測する。各シミュレータは、内部更新レート算出機能により通信遅延時間からネットワーク１２１の負荷を推定する。各シミュレータは、ネットワーク１２１の負荷が高い場合には、内部更新レート通知機能により同シミュレータが模擬しているエンティティの空間情報の更新頻度を下げる。これにより、ネットワーク１２１の負荷を動的に低減することが可能である。
【００８６】
本実施の形態では、ネットワーク通信遅延計測機能により、ＩＥＥＥ  １２７８  ＤＩＳによって規定されたＥｎｔｉｔｙ  Ｓｔａｔｅ  ＰＤＵに対してシミュレータ間の通信遅延時間が計測される。
【００８７】
本実施の形態によれば、シミュレーション実行中にネットワーク１２１の通信状況を監視し、ネットワーク１２１の負荷が高い場合はエンティティの空間情報の更新頻度を下げることで、ネットワーク１２１の負荷を低減することができる。
【００８８】
＊＊＊他の構成＊＊＊
本実施の形態では、シミュレータＡ１０１のシミュレーションモデル部１０２およびＤＩＳ通信部１０４の機能がソフトウェアにより実現されるが、変形例として、シミュレーションモデル部１０２およびＤＩＳ通信部１０４の機能がソフトウェアとハードウェアとの組み合わせにより実現されてもよい。すなわち、シミュレーションモデル部１０２およびＤＩＳ通信部１０４の機能の一部が専用のハードウェアにより実現され、残りがソフトウェアにより実現されてもよい。
【００８９】
専用のハードウェアは、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ、ＦＰＧＡ、ＡＳＩＣまたはこれらの少なくともいずれかの組み合わせである。「ＩＣ」は、Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略語である。「ＧＡ」は、Ｇａｔｅ  Ａｒｒａｙの略語である。「ＦＰＧＡ」は、Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略語である。「ＡＳＩＣ」は、Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略語である。
【００９０】
プロセッサ１５１および専用のハードウェアは、いずれも処理回路である。すなわち、シミュレーションモデル部１０２およびＤＩＳ通信部１０４の機能がソフトウェアにより実現されるか、ソフトウェアとハードウェアとの組み合わせにより実現されるかに関わらず、シミュレーションモデル部１０２およびＤＩＳ通信部１０４の動作は、処理回路により行われる。
【００９１】
また、本実施の形態では、シミュレータＢ１１１のシミュレーションモデル部１１２およびＤＩＳ通信部１１４の機能がソフトウェアにより実現されるが、変形例として、シミュレーションモデル部１１２およびＤＩＳ通信部１１４の機能がソフトウェアとハードウェアとの組み合わせにより実現されてもよい。すなわち、シミュレーションモデル部１１２およびＤＩＳ通信部１１４の機能の一部が専用のハードウェアにより実現され、残りがソフトウェアにより実現されてもよい。
【００９２】
専用のハードウェアは、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ、ＦＰＧＡ、ＡＳＩＣまたはこれらの少なくともいずれかの組み合わせである。
【００９３】
プロセッサ１６１および専用のハードウェアは、いずれも処理回路である。すなわち、シミュレーションモデル部１１２およびＤＩＳ通信部１１４の機能がソフトウェアにより実現されるか、ソフトウェアとハードウェアとの組み合わせにより実現されるかに関わらず、シミュレーションモデル部１１２およびＤＩＳ通信部１１４の動作は、処理回路により行われる。
【００９４】
実施の形態２．
本実施の形態について、主に実施の形態１との差異を、図３および図４を用いて説明する。
【００９５】
＊＊＊構成の説明＊＊＊
図３および図４を参照して、本実施の形態に係る分散シミュレーションシステム１００の構成を説明する。
【００９６】
図３に示すように、本実施の形態では、シミュレータＡ１０１は、機能要素として、シミュレーションモデル部１０２と、ＲＰＲ−ＦＯＭ通信部２０４と、ＲＴＩ２３０とを備える。ＲＰＲ−ＦＯＭ通信部２０４は、第１ＤＲエンティティ部１０５と、第２ＤＲエンティティ部１０７とを備える。ＲＴＩ２３０は、通信遅延計測部１０９と、更新レート調整部１１０とを備える。
【００９７】
ＲＰＲ−ＦＯＭ通信部２０４は、シミュレータＡ１０１においてＲＰＲ−ＦＯＭに基づく通信処理を実行するＲＰＲ−ＦＯＭ通信機能を持っている。ＲＴＩ２３０は、ＨＬＡに基づく分散シミュレーションシステム１００が利用しなければならないミドルウェアである。
【００９８】
図４に示すように、シミュレータＡ１０１は、実施の形態１と同様に、プロセッサ１５１を備えるとともに、メモリ１５２、通信デバイス１５３、入力機器１５４およびディスプレイ１５５といった他のハードウェアを備える。
【００９９】
シミュレータＡ１０１のシミュレーションモデル部１０２、ＲＰＲ−ＦＯＭ通信部２０４およびＲＴＩ２３０の機能は、ソフトウェアにより実現される。具体的には、シミュレータＡ１０１のシミュレーションモデル機能、ＤＲエンティティ機能、ネットワーク通信遅延計測機能、内部更新レート算出機能および内部更新レート通知機能は、ソフトウェアにより実現される。
【０１００】
本実施の形態では、シミュレーションプログラムＡは、シミュレーションモデル部１０２、ＲＰＲ−ＦＯＭ通信部２０４およびＲＴＩ２３０の機能を実現するプログラムである。
【０１０１】
図３に示すように、本実施の形態では、シミュレータＢ１１１は、機能要素として、シミュレーションモデル部１１２と、ＲＰＲ−ＦＯＭ通信部２１４と、ＲＴＩ２４０とを備える。ＲＰＲ−ＦＯＭ通信部２１４は、第１ＤＲエンティティ部１１５と、第２ＤＲエンティティ部１１７とを備える。ＲＴＩ２４０は、通信遅延計測部１１９と、更新レート調整部１２０とを備える。
【０１０２】
ＲＰＲ−ＦＯＭ通信部２１４は、シミュレータＢ１１１においてＲＰＲ−ＦＯＭに基づく通信処理を実行するＲＰＲ−ＦＯＭ通信機能を持っている。ＲＴＩ２４０は、ＨＬＡに基づく分散シミュレーションシステム１００が利用しなければならないミドルウェアである。
【０１０３】
図４に示すように、シミュレータＢ１１１は、実施の形態１と同様に、プロセッサ１６１を備えるとともに、メモリ１６２、通信デバイス１６３、入力機器１６４およびディスプレイ１６５といった他のハードウェアを備える。
【０１０４】
シミュレータＢ１１１のシミュレーションモデル部１１２、ＲＰＲ−ＦＯＭ通信部２１４およびＲＴＩ２４０の機能は、ソフトウェアにより実現される。具体的には、シミュレータＢ１１１のシミュレーションモデル機能、ＤＲエンティティ機能、ネットワーク通信遅延計測機能、内部更新レート算出機能および内部更新レート通知機能は、ソフトウェアにより実現される。
【０１０５】
本実施の形態では、シミュレーションプログラムＢは、シミュレーションモデル部１１２、ＲＰＲ−ＦＯＭ通信部２１４およびＲＴＩ２４０の機能を実現するプログラムである。
【０１０６】
＊＊＊動作の説明＊＊＊
図３を参照して、本実施の形態に係る分散シミュレーションシステム１００の動作を説明する。分散シミュレーションシステム１００の動作は、本実施の形態に係る分散シミュレーション方法に相当する。
【０１０７】
ＨＬＡおよびＲＰＲ−ＦＯＭに基づく分散シミュレーションシステム１００の動作は、ＲＴＩを用いてシミュレータ間の通信および実行制御を行うことを除き、実施の形態１におけるＤＩＳに基づく分散シミュレーションシステム１００の動作と同様である。実施の形態１と異なるのは、ネットワーク通信遅延計測機能、内部更新レート算出機能および内部更新レート通知機能がＲＴＩの内部機能となる点である。なお、ＨＬＡでは、ＲＴＩがシミュレータのシミュレーションモデル機能等の内部処理に対して提供するミドルウェア機能の外部仕様とプログラミング言語によるインタフェースとが規定されており、ＲＴＩの内部仕様は規定されていないため、ネットワーク通信遅延計測機能、内部更新レート算出機能および内部更新レート通知機能をＲＴＩ内部機能として実現することはＨＬＡの仕様に違反しない。
【０１０８】
シミュレータＡ１０１の通信遅延計測部１０９は、ＲＴＩ２３０内部において、実施の形態１と同様に、ネットワーク１２１経由でシミュレータＢ１１１から送信された空間情報基準値の通信遅延を計測する。ネットワーク通信遅延の計測は、ＨＬＡによって規定されたＲＴＩのミドルウェア機能の内部処理として行われる。ＨＬＡにおいて、空間情報基準値等のシミュレータ間通信データの送信は、ＲＴＩのＯｂｊｅｃｔ  Ｍａｎａｇｅｍｅｎｔ機能によって実現されることが規定されている。ネットワーク通信遅延計測機能は、Ｏｂｊｅｃｔ  Ｍａｎａｇｅｍｅｎｔ機能のＵｐｄａｔｅ  Ａｔｔｒｉｂｕｔｅ  ＶａｌｕｅｓとＲｅｆｌｅｃｔ  Ａｔｔｒｉｂｕｔｅ  Ｖａｌｕｅｓとの間のネットワーク通信遅延を計測することで実現することができる。
【０１０９】
シミュレータＢ１１１の通信遅延計測部１１９も、ＲＴＩ２４０内部において、実施の形態１と同様に、ネットワーク１２１経由でシミュレータＢ１１１から送信された空間情報基準値の通信遅延を計測する。
【０１１０】
シミュレータＡ１０１の更新レート調整部１１０は、ＲＴＩ２３０内部において、実施の形態１と同様に、内部エンティティ更新周期を算出し、通信遅延計測部１０９が計測したネットワーク通信遅延時間に基づき更新周期変更値を算出して内部更新レート変更通知を内部エンティティＡ１０３に出力する。更新レート調整部１１０の入力および出力は、ＨＬＡで規定されたＲＴＩのインタフェースを利用し、ＲＴＩのミドルウェア機能の内部処理として行われる。ＨＬＡにおいて、内部エンティティの更新周期の制御は、ＲＴＩのＯｂｊｅｃｔ  Ｍａｎａｇｅｍｅｎｔ機能によって実現されることが規定されており、シミュレータＡ１０１の内部エンティティＡ１０３が定期的に更新する空間情報基準値等のシミュレータ間通信データの送信はＯｂｊｅｃｔ  Ｍａｎａｇｅｍｅｎｔ機能のＵｐｄａｔｅ  Ａｔｔｒｉｂｕｔｅ  Ｖａｌｕｅｓにより毎回入力することで、内部エンティティＡ１０３の更新周期を算出し、内部エンティティ更新周期として保存する。また、通信遅延計測部１０９が計測したネットワーク通信遅延時間に基づき更新周期変更値を算出して内部更新レート変更通知を内部エンティティに出力する際は、Ｏｂｊｅｃｔ  Ｍａｎａｇｅｍｅｎｔ機能のＴｕｒｎ  Ｕｐｄａｔｅｓ  Ｏｎ  Ｆｏｒ  Ｏｂｊｅｃｔ  Ｉｎｓｔａｎｃｅにより通知する。
【０１１１】
シミュレータＢ１１１の更新レート調整部１２０も、ＲＴＩ２４０内部において、実施の形態１と同様に、内部エンティティ更新周期を算出し、通信遅延計測部１１９が計測したネットワーク通信遅延時間に基づき更新周期変更値を算出して内部更新レート変更通知を内部エンティティＢ１１３に出力する。
【０１１２】
＊＊＊実施の形態の効果の説明＊＊＊
本実施の形態における、ＨＬＡおよびＲＰＲ−ＦＯＭに基づく分散シミュレーションシステム１００では、各シミュレータがＲＴＩの内部処理によって通信遅延を自動計測し、計測結果に基づき内部エンティティの更新周期を算出して内部エンティティに通知する。各シミュレータの内部エンティティは、通知された更新周期に基づいて空間情報を出力する。そのため、各シミュレータが高機動の移動体エンティティを模擬中にネットワーク１２１の負荷が高まり、シミュレータ間の通信遅延が大きくなった場合において、各シミュレータのネットワーク１２１に対する空間情報基準値の送信頻度を自動的に調整することが可能となり、ネットワーク１２１の負荷を低減することが可能となる。
【０１１３】
本実施の形態では、ネットワーク通信遅延計測機能により、ＩＥＥＥ  １５１６  ＨＬＡによって規定されたＲＴＩの内部処理としてシミュレータ間の通信遅延時間が計測される。内部更新レート算出機能および内部更新レート通知機能により、ＩＥＥＥ  １５１６  ＨＬＡによって規定されたＲＴＩのインタフェースであるＴｕｒｎ  Ｕｐｄａｔｅｓ  Ｏｎ  Ｆｏｒ  Ｏｂｊｅｃｔ  Ｉｎｓｔａｎｃｅを用いて算出した内部更新レートが内部エンティティに通知される。
【０１１４】
本実施の形態によれば、実施の形態１と同様に、シミュレーション実行中にネットワーク１２１の通信状況を監視し、ネットワーク１２１の負荷が高い場合はエンティティの空間情報の更新頻度を下げることで、ネットワーク１２１の負荷を低減することができる。
【０１１５】
＊＊＊他の構成＊＊＊
本実施の形態では、実施の形態１と同じように、シミュレータＡ１０１のシミュレーションモデル部１０２、ＲＰＲ−ＦＯＭ通信部２０４およびＲＴＩ２３０の機能がソフトウェアにより実現されるが、実施の形態１の変形例と同じように、シミュレーションモデル部１０２、ＲＰＲ−ＦＯＭ通信部２０４およびＲＴＩ２３０の機能がソフトウェアとハードウェアとの組み合わせにより実現されてもよい。また、本実施の形態では、実施の形態１と同じように、シミュレータＢ１１１のシミュレーションモデル部１１２、ＲＰＲ−ＦＯＭ通信部２１４およびＲＴＩ２４０の機能がソフトウェアにより実現されるが、実施の形態１の変形例と同じように、シミュレーションモデル部１１２、ＲＰＲ−ＦＯＭ通信部２１４およびＲＴＩ２４０の機能がソフトウェアとハードウェアとの組み合わせにより実現されてもよい。
【符号の説明】
【０１１６】
１００  分散シミュレーションシステム、１０１  シミュレータＡ、１０２  シミュレーションモデル部、１０３  内部エンティティＡ、１０４  ＤＩＳ通信部、１０５  第１ＤＲエンティティ部、１０６  ＤＲ外部エンティティＢ、１０７  第２ＤＲエンティティ部、１０８  ＤＲ内部エンティティＡ、１０９  通信遅延計測部、１１０  更新レート調整部、１１１  シミュレータＢ、１１２  シミュレーションモデル部、１１３  内部エンティティＢ、１１４  ＤＩＳ通信部、１１５  第１ＤＲエンティティ部、１１６  ＤＲ外部エンティティＡ、１１７  第２ＤＲエンティティ部、１１８  ＤＲ内部エンティティＢ、１１９  通信遅延計測部、１２０  更新レート調整部、１２１  ネットワーク、１５１  プロセッサ、１５２  メモリ、１５３  通信デバイス、１５４  入力機器、１５５  ディスプレイ、１６１  プロセッサ、１６２  メモリ、１６３  通信デバイス、１６４  入力機器、１６５  ディスプレイ、２０４  ＲＰＲ−ＦＯＭ通信部、２１４  ＲＰＲ−ＦＯＭ通信部、２３０  ＲＴＩ、２４０  ＲＴＩ。
【図１】
2019117226.tif 000003
【図２】
2019117226.tif 000004
【図３】
2019117226.tif 000005
【図４】
2019117226.tif 000006
【図５】
2019117226.tif 000007