(57)【要約】【課題】複数のセンサシミュレータにオフセット時間が設定されている場合に、模擬時刻間の周期を短くすることなく、効率的に時刻進行制御を行う。【解決手段】目標シミュレータ１０２は、模擬時刻の度に、目標物の移動状態を模擬する。センサシミュレータ１０３、１０４は、模擬時刻の度に、目標シミュレータ１０２により模擬された目標物の移動状態に基づいて目標物を観測する観測処理を模擬する。目標シミュレータ１０２は、ｎ（ｎ≧１）回目の模擬時刻に、オフセット時間ごとに、（ｎ＋１）回目の模擬時刻にオフセット時間を加算して得られる先読時刻での目標物の移動状態を模擬する。各センサシミュレータは、（ｎ＋１）回目の模擬時刻に、対応するオフセット時間に対してｎ回目の模擬時刻に目標シミュレータ１０２により模擬された目標物の移動状態を取得し、取得した移動状態に基づいて観測処理を模擬する。【選択図】図１
2017215096.tif 000002
【特許請求の範囲】
【請求項１】
一定周期で到来する模擬時刻の度に、目標物の移動状態を模擬する目標シミュレータと、
前記模擬時刻の度に、前記目標シミュレータにより模擬された前記目標物の移動状態に基づいて前記目標物を観測する観測処理を模擬する、各々に前記模擬時刻間の周期よりも短いオフセット時間が設定されている複数のセンサシミュレータとを有し、
前記目標シミュレータは、
ｎ（ｎ≧１）回目の模擬時刻に、オフセット時間ごとに、（ｎ＋１）回目の模擬時刻にオフセット時間を加算して得られる先読時刻での前記目標物の移動状態を模擬し、
各センサシミュレータは、
前記（ｎ＋１）回目の模擬時刻に、対応するオフセット時間に対して前記ｎ回目の模擬時刻に前記目標シミュレータにより模擬された前記目標物の移動状態を取得し、取得した前記目標物の移動状態に基づいて前記観測処理を模擬するシミュレーション装置。
【請求項２】
前記目標シミュレータは、
前記（ｎ＋１）回目の模擬時刻に、前記目標物の移動特性が変化したことが判明した場合に、前記（ｎ＋１）回目の模擬時刻に、オフセット時間ごとに、前記先読時刻での前記目標物の移動状態を前記目標物の変化後の移動特性に基づいて模擬し、
各センサシミュレータは、
前記（ｎ＋１）回目の模擬時刻に、前記目標物の移動特性が変化したことが判明した場合に、前記ｎ回目の模擬時刻に前記目標シミュレータにより模擬された前記目標物の移動状態を破棄し、対応するオフセット時間に対して前記（ｎ＋１）回目の模擬時刻に前記目標物の変化後の移動特性に基づいて前記目標シミュレータにより模擬された前記目標物の新たな移動状態を取得し、取得した前記目標物の新たな移動状態に基づいて前記観測処理を模擬する請求項１に記載のシミュレーション装置。
【請求項３】
前記シミュレーション装置は、更に、
前記複数のセンサシミュレータの模擬結果の統合、分離及び目標物の類識別の少なくともいずれかを模擬するデータ融合シミュレータを有する請求項１に記載のシミュレーション装置。
【請求項４】
コンピュータが、一定周期で到来する模擬時刻の度に、目標物の移動状態を模擬する目標シミュレーションステップと、
前記コンピュータが、前記模擬時刻の度に、前記目標シミュレーションステップにより模擬された前記目標物の移動状態に基づいて前記目標物を観測する観測処理を模擬する、各々に前記模擬時刻間の周期よりも短いオフセット時間が設定されている複数のセンサシミュレーションステップとを有し、
前記目標シミュレーションステップにおいて、
前記コンピュータは、
ｎ（ｎ≧１）回目の模擬時刻に、オフセット時間ごとに、（ｎ＋１）回目の模擬時刻にオフセット時間を加算して得られる先読時刻での前記目標物の移動状態を模擬し、
各センサシミュレーションステップにおいて、
前記コンピュータは、
前記（ｎ＋１）回目の模擬時刻に、対応するオフセット時間に対して前記ｎ回目の模擬時刻に前記目標シミュレーションステップにより模擬された前記目標物の移動状態を取得し、取得した前記目標物の移動状態に基づいて前記観測処理を模擬するシミュレーション方法。
【請求項５】
一定周期で到来する模擬時刻の度に、目標物の移動状態を模擬する目標シミュレーションステップと、
前記模擬時刻の度に、前記目標シミュレーションステップにより模擬された前記目標物の移動状態に基づいて前記目標物を観測する観測処理を模擬する、各々に前記模擬時刻間の周期よりも短いオフセット時間が設定されている複数のセンサシミュレーションステップとを実行させるシミュレーションプログラムであって、
前記目標シミュレーションステップにおいて、
前記コンピュータに、
ｎ（ｎ≧１）回目の模擬時刻に、オフセット時間ごとに、（ｎ＋１）回目の模擬時刻にオフセット時間を加算して得られる先読時刻での前記目標物の移動状態を模擬させ、
各センサシミュレーションステップにおいて、
前記コンピュータに、
前記（ｎ＋１）回目の模擬時刻に、対応するオフセット時間に対して前記ｎ回目の模擬時刻に前記目標シミュレーションステップにより模擬された前記目標物の移動状態を取得させ、取得した前記目標物の移動状態に基づいて前記観測処理を模擬させるシミュレーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレーション装置、シミュレーション方法及びシミュレーションプログラムに関する。
【背景技術】
【０００２】
近年、ネットワークによって多種多様なセンサをサブシステムとして連接し、各センサシステムから得られた観測情報に基づいて同一目標物の観測値の統合、異なる目標物の分離、目標物の類識別等のデータ融合処理を行い、その結果に基づいて状況認識、意思決定を行うような大規模なＳｏＳ（Ｓｙｓｔｅｍ−ｏｆ−Ｓｙｓｔｅｍｓ）システムが開発・運用されている。このようなＳｏＳシステムの開発前の技術検証や運用における訓練などに、各センサ等のサブシステムを模擬するサブシステムシミュレータをネットワーク等で連接し、ＳｏＳシステム全体としての模擬を行う分散シミュレーションシステムが活用されている。
代表的な分散シミュレーションシステムのアーキテクチャとして、非特許文献１に挙げるＨＬＡ（Ｈｉｇｈ  Ｌｅｖｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）がある。ＨＬＡでは、シミュレーションにおける論理的な時間進行に対し、分散して実行するシミュレータ間の矛盾発生を防止して連携を効率化するための機能として、シミュレータの論理時刻（以降、時刻と省略する）同期制御を管理するＴｉｍｅ  Ｍａｎａｇｅｍｅｎｔ機能が規定されている。
【０００３】
図１２に、ＨＬＡに基づき、目標シミュレータと複数のセンサシミュレータとデータ融合シミュレータとを連接したシミュレーション装置１０００の例を示す。
図１０において、ＲＴＩ（Ｒｕｎ−Ｔｉｍｅ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ）１０１０は、ＨＬＡに規定された分散シミュレーション基盤ミドルウェアである。
目標シミュレータ１０２０は、目標物の時刻ごとの位置、速度等を模擬し、模擬結果を目標情報として出力する。
センサ１シミュレータ１０３０及びセンサ２シミュレータ１０４０は、目標シミュレータ１０２０が出力した目標情報に基づき、目標物の観測成否判定や観測誤差計算を模擬し、模擬結果を観測情報として出力する。
データ融合シミュレータ１０５０は、センサ１シミュレータ１０３０、センサ２シミュレータ１０４０が出力する観測情報に基づき、同一目標物の観測値の統合、異なる目標物の観測値の分離、目標物の類識別等を模擬する。
【０００４】
次に、図１２に示すシミュレーション装置１０００の動作を説明する。
図１３は、図１２の各シミュレータが、ＨＬＡのＴｉｍｅ  Ｍａｎａｇｅｍｅｎｔ機能に基づき論理的な時間進行を行う例を示す。
図１３の例では、各シミュレータの処理周期（ΔＴ）は１０であり、時刻Ｔ０をスタート時刻として、Ｔ１０、Ｔ２０、Ｔ３０…と１０時刻ごとに各シミュレータは模擬を行う。なお、以下では、１０時刻ごとのＴ０、Ｔ１０、Ｔ２０、Ｔ３０…の各々を模擬時刻という。
目標シミュレータ１０２０は、模擬時刻Ｔ０において、センサ１シミュレータ１０３０及びセンサ２シミュレータ１０４０が模擬を行う次の模擬時刻Ｔ１０における目標情報を計算する。そして、目標シミュレータ１０２０は、計算した目標情報を目標情報＠Ｔ１０としてセンサ１シミュレータ１０３０及びセンサ２シミュレータ１０４０に出力する。
センサ１シミュレータ１０３０及びセンサ２シミュレータ１０４０は、模擬時刻Ｔ１０において受信した目標情報＠Ｔ１０を基に、データ融合シミュレータ１０５０が模擬を行う次の模擬時刻Ｔ２０における観測情報を生成する。センサ１シミュレータ１０３０は、生成した観測情報を観測情報１＠Ｔ２０としてデータ融合シミュレータ１０５０に出力する。また、センサ２シミュレータ１０４０は、計算した観測情報を観測情報２＠Ｔ２０としてデータ融合シミュレータ１０５０に出力する。
データ融合シミュレータ１０５０は、模擬時刻Ｔ２０において受信した観測情報１＠Ｔ２０及び観測情報２＠Ｔ２０を基に、データ融合結果を計算する。
各シミュレータは、以上の処理を各模擬時刻において周期的に実行する。
なお、各シミュレータの時刻進行制御及び各模擬時刻におけるデータ送受信の制御をＲＴＩ１０１０が行い、ＲＴＩ１０１０がシステム全体の時刻進行を各シミュレータのΔＴである１０時刻ごとに制御する。
【０００５】
図１３の例では、各センサシミュレータは同じ周期で模擬を行っており、同じ模擬時刻に観測情報を出力している。しかしながら、現実世界では各センサが同じ時刻に観測を行うようなことはほぼ無い。このため、データ融合シミュレータ１０５０においてより現実に近い条件で模擬を行いたい場合、センサシミュレータごとに異なった観測時刻に観測情報が出力されるように調整する必要がある。
その調整方式として一般的に考えられる方式には、例えばセンサシミュレータごとにシステム全体のシミュレーション開始時刻からのオフセット時間（センサシミュレータのΔＴより小さい時間）を設定し、各センサシミュレータが異なる時刻で目標の観測の模擬を行うように調整する方式がある。
【０００６】
図１４に、各センサシミュレータに異なるオフセット時間を設定し、各センサシミュレータが異なる時刻で模擬を実行した場合の論理的な時間進行の例を示す。
図１４の例では、センサ１シミュレータ１０３０にオフセット時間（ＯＳ）として５を設定している。このため、センサ１シミュレータ１０３０は、時刻Ｔ１５、時刻Ｔ２５、時刻Ｔ３５…に模擬を実行する。センサ２シミュレータ１０４０は、時刻Ｔ１０、時刻Ｔ２０、時刻Ｔ３０…に模擬を実行する。
この場合、目標シミュレータ１０２０は、各センサシミュレータの模擬時刻に対して目標情報を出力しなければならないため、目標シミュレータのΔＴは、各センサシミュレータのΔＴとオフセット時間の最大公約数である５となる。
システム全体のΔＴは、各シミュレータのΔＴの最小値となるため、ＲＴＩ１０１０は５時刻ごとに時刻進行制御を行う。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】ＩＥＥＥ  １５１６．１−２０１０  −  Ｓｔａｎｄａｒｄ  ｆｏｒ  Ｍｏｄｅｌｉｎｇ  ａｎｄ  Ｓｉｍｕｌａｔｉｏｎ  Ｈｉｇｈ  Ｌｅｖｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＨＬＡ）  −  Ｆｅｄｅｒａｔｅ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ
【発明の概要】
【発明が解決しようとする課題】
【０００８】
図１４の例では、システム全体のΔＴは各センサシミュレータのΔＴとオフセット時間の最大公約数である５に設定される。このため、シミュレーション実行中にＲＴＩ１０１０が時刻進行制御を行う処理負荷は、図１３の例に示したシステム全体のΔＴが１０の場合に比べて２倍となる。
すなわち、図１４の例のように、センサシミュレータの模擬処理を行う時刻をΔＴより小さい時間分オフセットするような方式では、システム全体のΔＴが、各シミュレータのΔＴとオフセット時間の最大公約数という非常に小さい値となってしまう。このため、時刻進行制御における負荷が増大化し、シミュレーション全体としての実行速度が低下するという課題がある。
【０００９】
本発明は、上記のような課題を解決することを主な目的の一つとする。すなわち、本発明は、複数のセンサシミュレータにそれぞれオフセット時間が設定されている場合でも、模擬時刻間の周期を短くすることなく、効率的に時刻進行制御を行うことができる構成を得ることを主な目的とする。
【課題を解決するための手段】
【００１０】
本発明に係るシミュレーション装置は、
一定周期で到来する模擬時刻の度に、目標物の移動状態を模擬する目標シミュレータと、
前記模擬時刻の度に、前記目標シミュレータにより模擬された前記目標物の移動状態に基づいて前記目標物を観測する観測処理を模擬する、各々に前記模擬時刻間の周期よりも短いオフセット時間が設定されている複数のセンサシミュレータとを有し、
前記目標シミュレータは、
ｎ（ｎ≧１）回目の模擬時刻に、オフセット時間ごとに、（ｎ＋１）回目の模擬時刻にオフセット時間を加算して得られる先読時刻での前記目標物の移動状態を模擬し、
各センサシミュレータは、
前記（ｎ＋１）回目の模擬時刻に、対応するオフセット時間に対して前記ｎ回目の模擬時刻に前記目標シミュレータにより模擬された前記目標物の移動状態を取得し、取得した前記目標物の移動状態に基づいて前記観測処理を模擬する。
【発明の効果】
【００１１】
本発明では、ｎ回目の模擬時刻に、オフセット時間ごとに、先読時刻での目標物の移動状態を模擬し、（ｎ＋１）回目の模擬時刻に、対応する先読時刻での目標物の移動状態に基づいて観測処理を模擬する。このため、本発明によれば、複数のセンサシミュレータにそれぞれオフセット時間が設定されている場合でも、模擬時刻間の周期を短くすることなく、効率的に時刻進行制御を行うことができる構成を得ることを主な目的とする。
【図面の簡単な説明】
【００１２】
【図１】実施の形態１に係るシミュレーション装置の機能構成例を示す図。
【図２】実施の形態１に係るシミュレーション装置の動作シーケンスを示す図。
【図３】実施の形態１に係るシミュレーション装置の動作シーケンスを示す図。
【図４】実施の形態１に係るシミュレーション装置の目標情報及び観測情報の送受信タイミングの例を示す図。
【図５】実施の形態２に係るシミュレーション装置の機能構成例を示す図。
【図６】実施の形態２に係るシミュレーション装置の目標情報、観測情報及び進路変更指示の送受信タイミングの例を示す図。
【図７】実施の形態２に係るシミュレーション装置の動作シーケンスを示す図。
【図８】実施の形態２に係るシミュレーション装置の動作シーケンスを示す図。
【図９】実施の形態２に係るシミュレーション装置の、進路変更指示があった場合の動作例を示す図。
【図１０】実施の形態２に係るシミュレーション装置の、進路変更指示があった場合の動作例を示す図。
【図１１】実施の形態１に係るシミュレーション装置のハードウェア構成例を示す図。
【図１２】従来のシミュレーション装置の機能構成例を示す図。
【図１３】従来のシミュレーション装置の目標情報及び観測情報の送受信タイミングの例を示す図。
【図１４】オフセット時間が設定されている場合の従来のシミュレーション装置の目標情報及び観測情報の送受信タイミングの例を示す図。
【発明を実施するための形態】
【００１３】
以下では、センサシミュレータ、データ融合シミュレータ等の複数のシミュレータが連接されたシミュレーション装置において、複数のセンサシミュレータの各々に異なったオフセット時間が設定されている場合でも、システム全体のΔＴを小さくせずに効率的に時刻進行制御を行う構成を説明する。
なお、以下の実施の形態の説明及び図面において、同一の符号を付したものは、同一の部分または相当する部分を示す。
【００１４】
実施の形態１．
本実施の形態では、センサシミュレータのオフセット時間を、センサシミュレータ及び目標シミュレータの先読時間として設定し、ΔＴを変更せずにシミュレーションを実行する例を示す。
＊＊＊構成の説明＊＊＊
【００１５】
図１は、本実施の形態に係る、分散シミュレーションシステムとして構築されたシミュレーション装置１００の機能構成を示す。なお、シミュレーション装置１００により行われる動作は、シミュレーション方法に相当する。
【００１６】
ＲＴＩ１０１は、図１０に示したＲＴＩ１０１０と同様であり、ＨＬＡに規定された分散シミュレーション基盤ミドルウェアである。
【００１７】
目標シミュレータ１０２は、一定周期で到来する模擬時刻の度に、移動体である目標物の移動状態を模擬する。つまり、目標シミュレータ１０２は、移動状態として、目標物の時刻ごとの位置、速度等を模擬し、模擬結果を目標情報として出力する。
また、目標シミュレータ１０２は、ｎ（ｎ≧１）回目の模擬時刻に、センサシミュレータに設定されているオフセット時間ごとに、（ｎ＋１）回目の模擬時刻にオフセット時間を加算して得られる先読時刻での目標物の移動状態を模擬する。
目標シミュレータ１０２により行われる動作は、目標シミュレーションステップに相当する。
【００１８】
センサ１シミュレータ１０３及びセンサ２シミュレータ１０４は、目標シミュレータ１０２が出力した目標情報に基づき、目標物の観測成否判定や観測誤差計算を模擬し、模擬結果を観測情報として出力する。
つまり、センサ１シミュレータ１０３及びセンサ２シミュレータ１０４は、模擬時刻の度に、目標シミュレータ１０２により模擬された目標物の移動状態に基づいて目標物を観測する観測処理を模擬する。また、センサ１シミュレータ１０３及びセンサ２シミュレータ１０４には、それぞれ、模擬時刻間の周期よりも短いオフセット時間が設定されている。
そして、センサ１シミュレータ１０３及びセンサ２シミュレータ１０４は、それぞれ、（ｎ＋１）回目の模擬時刻に、対応するオフセット時間に対してｎ回目の模擬時刻に目標シミュレータ１０２により模擬された目標物の移動状態を取得し、取得した目標物の移動状態に基づいて観測処理を模擬する。
本実施の形態及び実施の形態２では、センサ１シミュレータ１０３及びセンサ２シミュレータ１０４を区別する必要がない場合は、両者を総称してセンサシミュレータという。
センサシミュレータにより行われる動作は、センサシミュレーションステップに相当する。
【００１９】
データ融合シミュレータ１０５は、図１０のデータ融合シミュレータ１０５０と同様に、センサ１シミュレータ１０３、センサ２シミュレータ１０４が出力する観測情報に基づき、同一目標物の観測値の統合、異なる目標物の観測値の分離、目標物の類識別の少なくともいずれかを模擬する。
【００２０】
図１１は、シミュレーション装置１００の構成例を示す。
シミュレーション装置１００は、コンピュータである。
シミュレーション装置１００は、ハードウェアとして、プロセッサ９０１、補助記憶装置９０２、主記憶装置９０３、通信装置９０４、入出力装置９０５を備える。
補助記憶装置９０２には、図１に示すＲＴＩ１０１、目標シミュレータ１０２、センサ１シミュレータ１０３、センサ２シミュレータ１０４及びデータ融合シミュレータ１０５の機能を実現するプログラムが記憶されている。
これらプログラムは、補助記憶装置９０２から主記憶装置９０３にロードされる。そして、プロセッサ９０１がこれらプログラムを実行して、ＲＴＩ１０１、目標シミュレータ１０２、センサ１シミュレータ１０３、センサ２シミュレータ１０４及びデータ融合シミュレータ１０５の動作を行う。
図１１では、プロセッサ９０１がＲＴＩ１０１、目標シミュレータ１０２、センサ１シミュレータ１０３、センサ２シミュレータ１０４及びデータ融合シミュレータ１０５の機能を実現するプログラムを実行している状態を模式的に表している。
ＲＴＩ１０１、目標シミュレータ１０２、センサ１シミュレータ１０３、センサ２シミュレータ１０４及びデータ融合シミュレータ１０５の機能を実現するプログラムは、シミュレーションプログラムに相当する。
通信装置９０４は、例えば、外部装置と通信を行う回路である。
入出力装置９０５は、例えば、タッチパネル対応の表示ディスプレイである。
なお、以下では、シミュレーション装置１００が１つのコンピュータにより実現されている例を説明するが、シミュレーション装置１００が複数のコンピュータの組み合わせによって実現されていてもよい。
例えば、ＲＴＩ１０１、目標シミュレータ１０２、センサ１シミュレータ１０３、センサ２シミュレータ１０４、データ融合シミュレータ１０５のそれぞれが異なるコンピュータによって実現されていてもよい。
【００２１】
次に、図１に示す構成要素を説明する。
【００２２】
ＲＴＩインタフェース部４０１は、目標シミュレータ１０２、センサ１シミュレータ１０３、センサ２シミュレータ１０４、データ融合シミュレータ１０５において、ＲＴＩ１０１とのインタフェース処理を行う。
【００２３】
模擬時刻通知部４０２は、目標シミュレータ１０２、センサ１シミュレータ１０３、センサ２シミュレータ１０４、データ融合シミュレータ１０５において、ＲＴＩ１０１による制御及び先読時刻制御部４０４によって決められた模擬時刻を各シミュレータの模擬手段（目標模擬部４０３、センサ模擬部４０６、データ融合模擬部４０８）に通知する。
【００２４】
なお、ＲＴＩインタフェース部４０１及び模擬時刻通知部４０２は、ＨＬＡに準拠するシミュレータにおいて一般的に利用される手段である。
【００２５】
目標模擬部４０３は、目標シミュレータ１０２において、目標物の時刻ごとの位置・速度等を模擬する。
【００２６】
先読時刻制御部４０４は、目標模擬部４０３の先読時刻（シミュレーションの現在時刻の次の時刻に先読時間を加算した時刻であり、この時刻の模擬は後で取消される可能性がある）の決定及び取消しを制御する。先読時刻については後述する。
【００２７】
先読無効イベント検出部４０５は、目標シミュレータ１０２、センサ１シミュレータ１０３及びセンサ２シミュレータ１０４において、先読時刻の目標情報を無効とするようなイベントを検出する。
【００２８】
センサ模擬部４０６は、センサ１シミュレータ１０３及びセンサ２シミュレータ１０４において、目標物の観測模擬を行う。つまり、センサ模擬部４０６は、観測処理を模擬する。
【００２９】
オフセット時間設定・通知部４０７は、センサ１シミュレータ１０３及びセンサ２シミュレータ１０４において、オフセット時間の設定（オフセット時間の設定値は、予めセンサシミュレータに組み込まれた値でも、あるいは外部の設定ファイルから読み込んだ値でもよい）及び他シミュレータへのオフセット時間の通知を行う。
【００３０】
データ融合模擬部４０８は、データ融合シミュレータ１０５において、データ融合処理の模擬を行う。
【００３１】
＊＊＊動作の説明＊＊＊
次に、本実施の形態に係るシミュレーション装置１００の動作例を説明する。
図２は、各シミュレータの初期化処理における処理の流れの例を、ＵＭＬ（Ｕｎｉｆｉｅｄ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ）のシーケンス図の形式を用いて、模式的に表した図である。
【００３２】
まず、センサ１シミュレータ１０３及びセンサ２シミュレータ１０４（図２では、センサシミュレータとして表す）の初期化処理では、開始オフセット時間設定・通知部４０７が、当該センサシミュレータが模擬する観測処理のオフセット時間を設定し、ＲＴＩインタフェース部４０１が、ＲＴＩ１０１に対してオフセット時間を送信する。
一方、目標シミュレータ１０２の初期化処理では、ＲＴＩインタフェース部４０１が、センサシミュレータが送信したオフセット時間をＲＴＩ１０１より受信する。そして、ＲＴＩインタフェース部４０１が、受信したオフセット時間を先読時刻制御部４０４に先読時間として設定する。
ここで、目標シミュレータ１０２のＲＴＩインタフェース部４０１が複数のセンサシミュレータが送信した複数のオフセット時間を受信した場合、各オフセット時間を先読時刻制御部４０４に先読時間として設定する。
先読時間は、オフセット時間と同義である。また、先読時刻は、ｎ回目の模擬時刻において、（ｎ＋１）回目の模擬時刻にオフセット時間（先読時間）を加算して得られる時刻である。
【００３３】
なお、ＲＴＩインタフェース部４０１が、ＲＴＩ１０１を介したシミュレータ間データ通信を行うためには、正確には、通信対象となるデータの公開・購読、送受信時に時刻ごとに並び替えるか否か等の設定処理が必要であるが、本明細書では、当該処理の説明は省略する。
【００３４】
また、センサ１シミュレータ１０３及びセンサ２シミュレータ１０４の初期化処理では、先読無効イベント検出部４０５が、先読による模擬を無効とするようなイベントをＲＴＩ１０１から受信するために、先読無効イベント購読をＲＴＩ１０１に対して通知する。具体的な先読無効イベントの詳細は、実施の形態２において説明するが、例えば、目標シミュレータ１０２が外部シミュレータから受信する目標物の進路変更指示がある。目標シミュレータ１０２が先読時刻の目標情報を計算した後で先読時刻以前の進路変更指示を受信した場合、先読時刻の目標情報は取り消される。
図２では、目標シミュレータ１０２がＲＴＩ１０１から受信する進路変更指示などの先読時刻の模擬を取り消すイベントを、センサシミュレータも受信できるようにＲＴＩ１０１に対して購読を通知する。
【００３５】
なお、センサシミュレータの初期化処理において、オフセット時間設定・通知処理と、先読無効イベント検出準備処理は、順番は関係なく、どちらを先に実行してもよい。
【００３６】
図３は、各シミュレータのシミュレーション実行中の動作例を示す。
なお、図３及び図４に示すＴ（ｘ）、Ｔ（ｘ＋１）、Ｔ（ｘ＋２）及びＴ（ｘ＋３）は、それぞれ模擬時刻である。
以下では、模擬時刻Ｔ（ｘ）と表記する場合もあるし、単にＴ（ｘ）又はＴ（ｘ）時刻と表記する場合もある。Ｔ（ｘ＋１）、Ｔ（ｘ＋２）及びＴ（ｘ＋３）についても同様である。
【００３７】
図３において、まず始めに、ＲＴＩ１０１から各シミュレータに対して模擬時刻Ｔ（ｘ）への進行許可が通知される。
これは、ＲＴＩ１０１による時刻同期制御により、各シミュレータが模擬してもよい時刻（他シミュレータとの時間的な矛盾が発生しない時刻）が通知される。なお、システム全体の開始時点（仮にＴ０とする）は、ＲＴＩ１０１から許可時刻が通知されず、各シミュレータが独自に処理を開始する（図３では記載を省略する）。
【００３８】
各シミュレータはＲＴＩ１０１からＴ（ｘ）時刻への進行許可を得ると、模擬時刻通知部４０２がＴ（ｘ）時刻を現在時刻として管理し、各シミュレータの模擬手段（目標模擬部４０３又はセンサ模擬部４０６）において模擬処理を実行する。
具体的に、まず、目標シミュレータ１０２のＴ（ｘ）時刻の処理について説明する（センサシミュレータのＴ（ｘ）時刻の処理は、後述するＴ（ｘ＋１）時刻の処理と時刻値以外は同様の処理であるため、省略する）。
【００３９】
目標シミュレータ１０２では、ＲＴＩ１０１から進行許可されたＴ（ｘ）時刻を現在時刻として模擬時刻通知部４０２が管理し、模擬時刻通知部４０２がＴ（ｘ）時刻模擬処理を行うよう目標模擬部４０３に通知する。目標模擬部４０３は、Ｔ（ｘ）時刻模擬処理を実行する。
Ｔ（ｘ）時刻模擬処理では、目標模擬部４０３は、次の模擬時刻であるＴ（ｘ＋１）時刻（Ｔ（ｘ）に目標シミュレータ１０２のΔＴを加算した時刻）の目標物の移動状態を模擬する。つまり、目標模擬部４０３は、Ｔ（ｘ＋１）時刻の目標物の位置・速度等を計算し、Ｔ（ｘ＋１）時刻の目標物の位置・速度等が示される目標情報を生成する。そして、目標模擬部４０３は、生成した目標情報をＴ（ｘ＋１）時刻のデータとしてＲＴＩインタフェース部４０１を介してＲＴＩ１０１に送信する。
図３では、Ｔ（ｘ＋１）時刻のデータとして送信する目標情報を目標情報＠Ｔ（ｘ＋１）と表す。
目標情報＠Ｔ（ｘ＋１）は、模擬時刻（Ｔｘ＋１）での目標物の移動状態を示す。
なお、このＴ（ｘ）時刻模擬処理は、従来の一般的な目標シミュレータ１０２で実行される目標の模擬処理と同じである。
【００４０】
次に、目標シミュレータ１０２では、先読時刻制御部４０４が、設定された先読時間の模擬処理を、Ｔ（ｘ）＋先読時間模擬処理として実行する。
なお、先読時刻制御部４０４に複数の先読時間が設定されている場合、各先読時間についてＴ（ｘ）＋先読時間模擬処理が各々実行される。
Ｔ（ｘ）＋先読時間模擬処理では、先読時刻制御部４０４が、次の模擬時刻であるＴ（ｘ＋１）に先読時間を加算した時刻である先読時刻（Ｔ（ｘ＋１）＋先読時間）での目標物の移動状態を模擬する。つまり、先読時刻制御部４０４は、先読時刻（Ｔ（ｘ＋１）＋先読時間）の目標物の位置・速度等を計算する。
そして、先読時刻制御部４０４は、先読時刻（Ｔ（ｘ＋１）＋先読時間）の目標物の位置・速度等の計算結果を示す目標情報［Ｔ（ｘ＋１）＋先読時間］を生成し、Ｔ（ｘ＋１）時刻のデータとしてＲＴＩインタフェース部４０１を介してＲＴＩ１０１に送信する。
図３では、これを目標情報［Ｔ（ｘ＋１）＋先読時間］＠Ｔ（ｘ＋１）と表す。
このように、目標シミュレータ１０２では、センサシミュレータのオフセット時間分を先読した時刻（Ｔ（ｘ＋１）＋先読時間）の目標情報（目標情報［Ｔ（ｘ＋１）＋先読時間］）を生成し、その目標情報をセンサシミュレータが次時刻（Ｔ（ｘ＋１）時刻）に受信できるようにＲＴＩ１０１に送信する。
【００４１】
次に、目標シミュレータ１０２では、ＲＴＩ１０１によるＴ（ｘ）時刻進行許可による処理の最後に、次時刻であるＴ（ｘ＋１）時刻に対する時刻進行要求をＲＴＩ１０１に対して通知する。
【００４２】
次に、図３のセンサシミュレータの、ＲＴＩ１０１によるＴ（ｘ）時刻進行許可による処理の終了後について説明する。
【００４３】
センサシミュレータがＲＴＩ１０１に対してＴ（ｘ＋１）時刻進行要求を行うと、センサシミュレータは、他シミュレータがＲＴＩ１０１に対して送信したＴ（ｘ）〜Ｔ（ｘ＋１）時刻のデータを受信することが可能となる。ここでは、センサ１シミュレータ１０３及びセンサ２シミュレータ１０４は、目標シミュレータ１０２がＲＴＩ１０１に送信した目標情報＠Ｔ（ｘ＋１）及び目標情報［Ｔ（ｘ＋１）＋先読時間］＠Ｔ（ｘ＋１）を受信する。
また、他シミュレータがＲＴＩ１０１に対してＴ（ｘ＋１）時刻以上の時刻に時刻進行要求を行うことで、センサシミュレータが進行要求していたＴ（ｘ＋１）時刻への時刻進行許可がＲＴＩ１０１より通知される。センサシミュレータは、ＲＴＩ１０１によるＴ（ｘ＋１）時刻進行許可を受けた後、オフセット時間設定・通知部４０７に設定されたオフセット時間を基に、現在時刻をＴ（ｘ＋１）＋オフセット時間として処理を開始する。
各センサシミュレータは、自センサシミュレータの現在時刻以外の目標情報を受信していた場合、それらの情報の削除を行う。図３の例では、受信した目標情報のうち、自センサシミュレータのオフセット時間が先読時間として加算されていない先読時刻の目標情報＠Ｔ（ｘ＋１）を破棄する。
【００４４】
次に、模擬時刻通知部４０２が、現在時刻（Ｔ（ｘ＋１）＋オフセット時間）の模擬処理開始をセンサ模擬部４０６に通知する。
センサ模擬部４０６は、受信した目標情報［Ｔ（ｘ＋１）＋先読時間］＠Ｔ（ｘ＋１）を基に、次の模擬時刻であるＴ（ｘ＋２）時刻の目標観測の模擬を行って観測情報を生成し、Ｔ（ｘ＋２）時刻のデータとしてＲＴＩ１０１に送信する。
このように、センサシミュレータでは、自身のオフセット時間分を先読した先読時刻（Ｔ（ｘ＋１）＋先読時間）の目標情報（目標情報［Ｔ（ｘ＋１）＋先読時間］）を受信し、その目標情報をセンサシミュレータの本来の時刻（Ｔ（ｘ＋１）時刻）ではなくオフセット時間分を先読した時刻で処理する。
【００４５】
次に、センサシミュレータでは、ＲＴＩ１０１によるＴ（ｘ＋１）時刻進行許可による処理の最後に、次の模擬時刻であるＴ（ｘ＋２）時刻に対する時刻進行要求をＲＴＩ１０１に対して通知する。
【００４６】
次に、図４に、本実施の形態に係るシミュレーション動作の例を示す。
図４では、センサ１シミュレータ１０３にオフセット時間としてＯＳ＝５が設定されており、センサ２シミュレータ１０４にはオフセット時間としてＯＳ＝０が設定されている。
【００４７】
目標シミュレータ１０２のＴ（ｘ）時刻では、目標模擬部４０３が、センサ１シミュレータ１０３用にＴ（ｘ＋１）時刻にＯＳ時間（ＯＳ＝５）を先読時間として加算した先読時刻［Ｔ（ｘ＋１）＋ＯＳ５］の目標情報を生成する。また、目標模擬部４０３は、センサ２シミュレータ１０４用にＴ（ｘ＋１）時刻にＯＳ時間（ＯＳ＝０）を先読時間として加算した先読時刻［Ｔ（ｘ＋１）＋ＯＳ０］の目標情報を生成する。
ここでは、センサ１シミュレータ１０３用に生成した、先読時刻［Ｔ（ｘ＋１）＋ＯＳ５］の目標情報を目標情報［Ｔ（ｘ＋１）＋ＯＳ５］＠Ｔ（ｘ＋１）と表記する。
また、センサ２シミュレータ１０４用に生成した、先読時刻［Ｔ（ｘ＋１）＋ＯＳ０］の目標情報を目標情報＠Ｔ（ｘ＋１）と表記する。
そして、目標シミュレータ１０２からＲＴＩ１０１を介して、センサ１シミュレータ１０３及びセンサ２シミュレータ１０４に目標情報［Ｔ（ｘ＋１）＋ＯＳ５］＠Ｔ（ｘ＋１）と目標情報＠Ｔ（ｘ＋１）が送信される。
【００４８】
センサ１シミュレータ１０３及びセンサ２シミュレータ１０４は、目標シミュレータ１０２から送信された目標情報［Ｔ（ｘ＋１）＋ＯＳ５］＠Ｔ（ｘ＋１）と目標情報＠Ｔ（ｘ＋１）を受信する。
センサ１シミュレータ１０３は、目標情報＠Ｔ（ｘ＋１）を削除し、目標情報［Ｔ（ｘ＋１）＋ＯＳ５］＠Ｔ（ｘ＋１）を用いて、先読時刻［Ｔ（ｘ＋１）＋ＯＳ５］での観測情報を生成し、生成した観測情報をデータ融合シミュレータ１０５に送信する。
センサ２シミュレータ１０４は、目標情報［Ｔ（ｘ＋１）＋ＯＳ５］＠Ｔ（ｘ＋１）を削除し、目標情報＠Ｔ（ｘ＋１）を用いて、先読時刻［Ｔ（ｘ＋１）＋ＯＳ０］での観測情報を生成し、生成した観測情報をデータ融合シミュレータ１０５に送信する。
【００４９】
＊＊＊実施の形態の効果の説明＊＊＊
図４において、目標シミュレータ１０２からセンサ１シミュレータ１０３に向かって、また、センサ１シミュレータ１０３からデータ融合シミュレータ１０５に向かって、一点鎖線（−・−・−）で示されているのが、先読みによって行われているデータ送受信及び模擬処理の本来の時刻上の関係である。従って、本実施の形態によらない従来の一般的なシミュレーション装置では、データ送受信及び模擬処理は一点鎖線（−・−・−）で示された流れで実行され、ΔＴより小さい時間単位でセンサ１シミュレータ１０３の時刻進行制御を行う必要がある。そのためシステム全体としての負荷が増加する。
しかし、本実施の形態によるシミュレーション装置では、実線で示したようにセンサ１シミュレータ１０３もΔＴで時刻進行制御を行うことができ、システム全体としての負荷を下げることが可能である。
つまり、本実施の形態のシミュレーション装置では、目標シミュレータ１０２が、ｎ回目の模擬時刻（例えば図４のＴ（ｘ））に、先読時刻（例えば先読時刻［Ｔ（ｘ＋１）＋ＯＳ５］）での目標物の移動状態を模擬する。また、センサシミュレータが（ｎ＋１）回目の模擬時刻（例えば、Ｔ（ｘ＋１））に、対応する先読時刻（例えば先読時刻［Ｔ（ｘ＋１）＋ＯＳ５］）での目標物の移動状態に基づいて観測処理を模擬する。このため、本実施の形態によれば、複数のセンサシミュレータにそれぞれ固有のオフセット時間が設定されている場合でも、模擬時刻間の周期を短くすることなく、効率的に時刻進行制御を行うことができる。
【００５０】
なお、以上の説明では、目標シミュレータ１０２がＴ（ｘ）時刻においてＴ（ｘ＋１）時刻の目標情報（目標情報＠Ｔ（ｘ＋１））を生成している。これは、センサ２シミュレータ１０４にオフセット時間としてＯＳ＝０が設定されているからである。オフセット時間としてＯＳ＝０が設定されているセンサデータが存在しなければ、目標シミュレータ１０２はＴ（ｘ＋１）時刻の目標情報（目標情報＠Ｔ（ｘ＋１））を生成しなくてもよい。
逆に、センサ２シミュレータ１０４にオフセット時間としてＯＳ＝０ではなく、ＯＳ＝８が設定されていれば、目標シミュレータ１０２は、目標情報＠Ｔ（ｘ＋１）の代わりに、先読時刻［Ｔ（ｘ＋１）＋ＯＳ８］での目標物の移動状態が示される目標情報［Ｔ（ｘ＋１）＋ＯＳ８］＠Ｔ（ｘ＋１）を生成する。
【００５１】
また、以上では、センサシミュレータが２つの例を説明したが、３つ以上のセンサシミュレータが設けられていてもよい。また、３つ以上のセンサシミュレータの全てのオフセット時間が異なっていてもよいし、一部のセンサシミュレータでオフセット時間が共通していてもよい。
【００５２】
実施の形態２．
本実施の形態では、先読が無効となるようなケースにおいて、部分的にΔＴを変更することで先読の無効化とそのリカバリを行うシミュレーション実行の例を説明する。
【００５３】
＊＊＊構成の説明＊＊＊
図５は、本実施の形態に係るシミュレーション装置１００の機能構成例を示す。
図５では、図１に示す構成に、指揮管制シミュレータ８０１が追加されている。
指揮管制シミュレータ８０１は、データ融合シミュレータ１０５が出力するデータ融合結果を受信し、データ融合結果に基づいて目標シミュレータ１０２が模擬する目標物について進路変更、速度変更等の指揮管制を模擬するものである。
つまり、指揮管制シミュレータ８０１は、目標物の移動特性を決定する。
【００５４】
本実施の形態では、目標シミュレータ１０２は、（ｎ＋１）回目の模擬時刻に、目標物の移動特性が変化したことが判明した場合に、（ｎ＋１）回目の模擬時刻に、オフセット時間ごとに、先読時刻での目標物の移動状態を目標物の変化後の移動特性に基づいて模擬する。
各センサシミュレータは、（ｎ＋１）回目の模擬時刻に、目標物の移動特性が変化したことが判明した場合に、ｎ回目の模擬時刻に目標シミュレータ１０２により模擬された目標物の移動状態を破棄する。また、各センサシミュレータは、対応するオフセット時間に対して（ｎ＋１）回目の模擬時刻に目標物の変化後の移動特性に基づいて目標シミュレータにより模擬された目標物の新たな移動状態を取得する。そして、各センサシミュレータは、取得した目標物の新たな移動状態に基づいて観測処理を模擬する。
【００５５】
ＲＴＩ１０１及びデータ融合シミュレータ１０５は、実施の形態１に示したものと同様である。
また、本実施の形態でも、目標シミュレータ１０２、センサ１シミュレータ１０３、センサ２シミュレータ１０４及びデータ融合シミュレータ１０５の内部構成は、図１に示す通りである。
また、本実施の形態に係るシミュレーション装置１００のハードウェア構成例も図１１に示す通りである。本実施の形態では、プロセッサ９０１が、指揮管制シミュレータ８０１の機能を実現するプログラムを実行することによって、後述する指揮管制シミュレータ８０１の動作を行う。
なお、以下では、主に実施の形態１との差異を説明する。
以下で説明していない事項は、実施の形態１と同様である。
【００５６】
＊＊＊動作の説明＊＊＊
図６は、図５のシミュレーション装置１００において、先読が無効となるようなケースを示したものである。
本実施の形態でも、センサ１シミュレータ１０３にはオフセット時間としてＯＳ＝５が設定されているものとする。
目標シミュレータ１０２はＴ（ｘ）時刻において目標情報［Ｔ（ｘ＋１）＋ＯＳ５］＠Ｔ（Ｘ＋１）を送信している。また、センサ１シミュレータ１０３はＴ（ｘ＋１）時刻において目標情報［Ｔ（ｘ＋１）＋ＯＳ５］に基づき観測情報１＠Ｔ（ｘ＋２）を送信している。なお、一点鎖線（−・−・−）は、先読みによって行われているデータ送受信及び模擬処理の時刻上の関係を示す。
ここで、Ｔ（ｘ）時刻において、指揮管制シミュレータ８０１から目標シミュレータ１０２に対し、目標の進路変更指示＠Ｔ（ｘ＋１）が送信されたとする。目標シミュレータ１０２は、Ｔ（ｘ＋１）時刻で進路変更指示＠Ｔ（ｘ＋１）を受信する。つまり、目標シミュレータ１０２は、Ｔ（ｘ＋１）時刻で、目標物の移動特性が変化したことを把握する。しかしながら、目標シミュレータ１０２は、既に先読によって前時刻のＴ（ｘ）時刻においてＴ（ｘ＋１）時刻より将来の先読時刻［Ｔ（ｘ＋１）＋ＯＳ５］の目標情報［Ｔ（ｘ＋１）＋ＯＳ５］＠Ｔ（Ｘ＋１）をセンサ１シミュレータ１０３に送信している。このため、Ｔ（ｘ＋１）時刻での目標物の移動状態と、既に送信した目標情報［Ｔ（ｘ＋１）＋ＯＳ５］＠Ｔ（Ｘ＋１）に示される先読時刻［Ｔ（ｘ＋１）＋ＯＳ５］での目標物の移動状態との間に矛盾が発生する。
なお、この目標シミュレータ１０２において矛盾が発生したＴ（ｘ＋１）時刻では、センサ１シミュレータ１０３は先読によって目標情報［Ｔ（ｘ＋１）＋ＯＳ５］＠Ｔ（Ｘ＋１）に基づく観測情報１＠Ｔ（ｘ＋２）を生成しており、この観測情報１＠Ｔ（ｘ＋２）も目標シミュレータ１０２におけるＴ（ｘ＋１）時刻での目標物の移動状態（移動特性変化後の目標物の移動状態）と矛盾する。なお、このような矛盾は、シミュレーション装置１００で先読を行っているために発生するもので、従来の一般的なシミュレーション装置では発生しない。
【００５７】
図７及び図８は、上記のような矛盾発生により、先読が無効となった場合のリカバリ処理について、処理シーケンスを示した図である。
なお、図７及び図８の前提として、図２に示した初期化処理において、センサシミュレータが先読無効イベント購読で進路変更指示を購読しており、指揮管制シミュレータ８０１が目標シミュレータ１０２に対して送信した進路変更指示を、センサシミュレータも受信可能な状態となっているものとする。
図７及び図８において、センサシミュレータ、ＲＴＩ１０１、目標シミュレータ１０２のＴ（ｘ）時刻進行許可からＴ（ｘ＋１）時刻進行要求までの処理と、センサシミュレータにおける目標情報＠Ｔ（ｘ＋１）受信及び目標情報［Ｔ（ｘ＋１）＋先読時間］＠Ｔ（ｘ＋１）受信の処理は、図３の処理と同じである。
図７及び図８の処理と、図３の処理との違いは、指揮管制シミュレータ８０１が参加する点と、指揮管制シミュレータ８０１のＴ（ｘ）時刻の処理において進路変更指示＠Ｔ（ｘ＋１）送信が行われる点と、センサシミュレータ及び目標シミュレータ１０２が進路変更指示＠Ｔ（ｘ＋１）を受信した後の処理である。
【００５８】
図７及び図８では、指揮管制シミュレータ８０１はＲＴＩ１０１からＴ（ｘ）時刻進行許可を得た後、ＲＴＩ１０１に対して進路変更指示＠Ｔ（ｘ＋１）を送信し、次時刻であるＴ（ｘ＋１）時刻への時刻進行要求を行う。
センサシミュレータ及び目標シミュレータ１０２は、Ｔ（ｘ）時刻の処理を終了し、ＲＴＩ１０１に対してＴ（ｘ＋１）時刻への時刻進行要求を行った後、ＲＴＩ１０１から進路変更指示＠Ｔ（ｘ＋１）を受信する。
次に、全シミュレータがＲＴＩ１０１に対してＴ（ｘ＋１）時刻への時刻進行要求を行った後で、ＲＴＩ１０１より各シミュレータに対してＴ（ｘ＋１）時刻への時刻進行許可が通知される。
ここで、センサシミュレータ及び目標シミュレータ１０２が進路変更指示を受信しなかった場合の処理は図３のＴ（ｘ＋１）時刻進行許可後の処理と同じである。
一方、センサシミュレータ及び目標シミュレータ１０２が進路変更指示を受信している場合は、Ｔ（ｘ）時刻において先読として実行した結果はＴ（ｘ＋１）時刻の目標シミュレータ１０２の目標物の移動状態と矛盾している可能性があるため、センサシミュレータ及び目標シミュレータ１０２は、Ｔ（ｘ）時刻において先読として実行した結果を破棄する。
具体的には、まずセンサシミュレータは、先読無効イベント検出部４０５が進路変更指示を受信したことを検出した後、受信している全目標情報を破棄する。また、先読を行わずにオフセット時間後の時刻の処理を実行するため、オフセット時間設定・通知部４０７からオフセット時間を取得してδＴとし、センサシミュレータの次時刻を現在時刻であるＴ（ｘ＋１）時刻にδＴを加算したＴ（ｘ＋１）＋δＴ時刻としてＲＴＩ１０１に時刻進行要求を行う。
【００５９】
一方、目標シミュレータ１０２は、先読無効イベント検出部４０５が進路変更指示を受信したことを検出した後、先読で実行した目標情報［Ｔ（ｘ＋１）＋先読時間］を破棄する。また、先読時刻制御部４０４が先読時間を取得してδＴに設定する。
次に、目標模擬部４０３が、進路変更指示によって更新されたＴ（ｘ＋１）時刻の目標物の移動特性を基に、Ｔ（ｘ）＋δＴ模擬処理が実行する。そして、目標模擬部４０３が、Ｔ（ｘ＋１）＋δＴ時刻の目標物の移動状態が示される目標情報を生成し、目標情報＠Ｔ（ｘ＋１）＋δＴとしてＲＴＩ１０１に送信する。
なお、先読時刻制御部４０４に複数の先読時間が設定されている場合、目標模擬部４０３は、各先読時間についてＴ（ｘ）＋δＴ模擬処理を各々実行する。
また、目標模擬部４０３は、Ｔ（ｘ）＋δＴ模擬処理が完了した後、Ｔ（ｘ＋１）模擬処理及びＴ（ｘ＋１）時刻における先読であるＴ（ｘ＋１）＋先読時間模擬処理を実行し、最後にＲＴＩ１０１に対して次時刻であるＴ（ｘ＋２）時刻への時刻進行要求を行う。
【００６０】
次に、センサシミュレータは、ＲＴＩ１０１に対してＴ（ｘ＋１）＋δＴ時刻への時刻進行要求を行っていたため、目標シミュレータ１０２がＲＴＩ１０１に送信した目標情報＠Ｔ（ｘ＋１）＋δＴを受信する。なお、目標シミュレータ１０２がＲＴＩ１０１に送信した目標情報＠Ｔ（ｘ＋２）及び目標情報［Ｔ（ｘ＋２）＋先読時間］＠Ｔ（ｘ＋２）は、センサシミュレータがＴ（ｘ＋２）時刻に進行する際まで受信が保留される。
その後、他シミュレータがＲＴＩ１０１に対してＴ（ｘ＋１）＋δＴ時刻以上のＴ（ｘ＋２）時刻へ時刻進行要求を行った後で、センサシミュレータはＲＴＩ１０１よりＴ（ｘ＋１）＋δＴ時刻への時刻進行許可を得る。
センサシミュレータが受信した目標情報＠Ｔ（ｘ＋１）＋δＴは、先読によって生成されたデータではないため、センサシミュレータは目標情報＠Ｔ（ｘ＋１）＋δＴに基づき観測情報＠Ｔ（ｘ＋２）を生成し、ＲＴＩ１０１に対して送信する。
最後に、センサシミュレータは、ＲＴＩ１０１に対して次時刻であるＴ（ｘ＋２）時刻への時刻進行要求を行う。
【００６１】
次に図９及び図１０に、実施の形態２によるシミュレーション動作の例を示す。以下では、目標シミュレータ１０２及びセンサ１シミュレータ１０３の動作に絞って説明を行う。センサ２シミュレータ１０４の動作は、リカバリの対象となる時刻及びδＴが異なる以外は、センサ１シミュレータ１０３の動作と同じである。
【００６２】
まず、図９では、目標シミュレータ１０２及びセンサ１シミュレータ１０３が、Ｔ（ｘ＋１）時刻において指揮管制シミュレータ８０１から進路変更指示＠Ｔ（ｘ＋１）を受信する。
目標シミュレータ１０２は、進路変更指示＠Ｔ（ｘ＋１）の受信により、先読によって既に送信した目標情報［Ｔ（ｘ＋１）＋ＯＳ］＠Ｔ（ｘ＋１）が矛盾する可能性を検知してＴ（ｘ）時刻における先読を破棄する。
一方、センサ１シミュレータ１０３は、進路変更指示＠Ｔ（ｘ＋１）の受信により、先読によって受信した目標情報［Ｔ（ｘ＋１）＋ＯＳ］＠Ｔ（ｘ＋１）が矛盾する可能性を検知してＴ（ｘ）時刻における先読を破棄する。また、センサ１シミュレータ１０３は、Ｔ（ｘ＋１）＋ＯＳ５時刻の模擬のリカバリのため、ＯＳをδＴに設定し、Ｔ（ｘ＋１）＋δＴ時刻を次時刻としてＲＴＩ１０１に対して時刻進行要求を行う。
【００６３】
次に、図１０では、まず目標シミュレータ１０２がＴ（ｘ＋１）時刻の処理において、先読時間をδＴに設定し、先読ではない目標模擬の結果として目標情報＠Ｔ（ｘ＋１）＋δＴを送信する。また、目標シミュレータ１０２は、次のＴ（ｘ＋２）時刻における模擬及び先読の結果として、目標情報＠Ｔ（ｘ＋２）及び目標情報［Ｔ（ｘ＋２）＋ＯＳ５］＠Ｔ（ｘ＋２）を送信する。
一方、センサ１シミュレータ１０３は、図９の最後でＴ（ｘ＋１）＋δＴ時刻に時刻進行要求を行っており、Ｔ（ｘ＋１）＋δＴ時刻に時刻進行許可を得る際に目標シミュレータ１０２が送信した目標情報＠Ｔ（ｘ＋１）＋δＴを受信し、先読ではないＴ（ｘ＋１）＋δＴ時刻の模擬を実行して観測情報＠Ｔ（ｘ＋２）を送信する。この処理により、先読として実行される予定で進路変更指示＠Ｔ（ｘ＋１）の受信により破棄されたＴ（ｘ＋１）＋ＯＳ５時刻の模擬処理がリカバリされる。
なお、目標シミュレータ１０２がＴ（ｘ＋１）時刻において送信した目標情報＠Ｔ（ｘ＋２）及び目標情報［Ｔ（ｘ＋２）＋ＯＳ５］＠Ｔ（ｘ＋２）は、センサ１シミュレータ１０３がＴ（ｘ＋２）時刻に時刻進行要求を行った際に、センサ１シミュレータ１０３に受信される。
【００６４】
＊＊＊実施の形態の効果の説明＊＊＊
このように、目標シミュレータ１０２及びセンサシミュレータが、先読を無効化する可能性のあるイベントを検出し、検出した場合のみ先読時刻の模擬をΔＴより小さいδＴ（オフセット時間に基づく）により通常のＲＴＩ１０１による時刻進行制御に基づいて実行する。これにより、先読のリカバリを行うことができ、先読による矛盾の解消を確実に実行すると共にδＴによる細かい時刻進行制御を極小化することで、処理負荷の増加を抑え、効率的なリカバリを実現することができる。
【００６５】
＊＊＊ハードウェア構成の説明＊＊＊
最後に、シミュレーション装置１００のハードウェア構成の補足説明を行う。
図１１に示すプロセッサ９０１は、プロセッシングを行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である。
プロセッサ９０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）等である。
図１１に示す主記憶装置９０３は、例えばＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
また、補助記憶装置９０２は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等である。
図１１に示す通信装置９０３は、データを受信するレシーバー及びデータを送信するトランスミッターを含む。
通信装置９０３は、例えば、通信チップ又はＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）である。
【００６６】
また、補助記憶装置９０２には、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）も記憶されている。
そして、ＯＳの少なくとも一部がプロセッサ９０１により実行される。
プロセッサ９０１はＯＳの少なくとも一部を実行しながら、ＲＴＩ１０１、目標シミュレータ１０２、センサ１シミュレータ１０３、センサ２シミュレータ１０４、データ融合シミュレータ１０５及び指揮管制シミュレータ８０１の機能を実現するプログラムを実行する。
図１１では、１つのプロセッサが図示されているが、シミュレーション装置１００が複数のプロセッサを備えていてもよい。
また、ＲＴＩ１０１、目標シミュレータ１０２、センサ１シミュレータ１０３、センサ２シミュレータ１０４、データ融合シミュレータ１０５及び指揮管制シミュレータ８０１の処理の結果を示す情報やデータや信号値や変数値が、補助記憶装置９０２、主記憶装置９０３又は、プロセッサ９０１内のレジスタ又はキャッシュメモリに記憶される。
また、ＲＴＩ１０１、目標シミュレータ１０２、センサ１シミュレータ１０３、センサ２シミュレータ１０４、データ融合シミュレータ１０５及び指揮管制シミュレータ８０１の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤ等の可搬記憶媒体に記憶されてもよい。
【００６７】
シミュレーション装置１００は、ロジックＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＧＡ（Ｇａｔｅ  Ａｒｒａｙ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）といった電子回路により実現されてもよい。
なお、プロセッサ９０１及び上記の電子回路を総称してプロセッシングサーキットリーともいう。
【符号の説明】
【００６８】
１００  シミュレーション装置、１０１  ＲＴＩ、１０２  目標シミュレータ、１０３  センサ１シミュレータ、１０４  センサ２シミュレータ、１０５  データ融合シミュレータ、４０１  ＲＴＩインタフェース部、４０２  模擬時刻通知部、４０３  目標模擬部、４０４  先読時刻制御部、４０５  先読無効イベント検出部、４０６  センサ模擬部、４０７  オフセット時間設定・通知部、４０８  データ融合模擬部、８０１  指揮管制シミュレータ。
【図１】
2017215096.tif 000003
【図２】
2017215096.tif 000004
【図３】
2017215096.tif 000005
【図４】
2017215096.tif 000006
【図５】
2017215096.tif 000007
【図６】
2017215096.tif 000008
【図７】
2017215096.tif 000009
【図８】
2017215096.tif 000010
【図９】
2017215096.tif 000011
【図１０】
2017215096.tif 000012
【図１１】
2017215096.tif 000013
【図１２】
2017215096.tif 000014
【図１３】
2017215096.tif 000015
【図１４】
2017215096.tif 000016