(57)【特許請求の範囲】
【請求項１】
ネットワークを介して互いに通信可能に接続され、実装されているアプリケーションプログラムによりそれぞれ個別シミュレーションを行い、当該個別シミュレーションにより生成した信号データを互いに送受信可能とする複数のシミュレータと、
これらシミュレータ間の信号データの送受信を制御することにより統合シミュレーションを行うシミュレーション統合制御部と、を備え、
前記ネットワークがローカルエリアネットワークであり、
前記シミュレーション統合制御部は、前記シミュレータが参照可能なファイルとして、
前記統合シミュレーションに用いられる全ての信号データを定義する、データベース定義ファイルと、
個々の前記シミュレータ別に信号様式を定義したファイルである、シミュレータ用信号ファイルと、を保有し、
全ての前記シミュレータには、前記信号データの送受信を、共通様式かつ共通手順で行うための信号通信パッケージが実装され、
前記信号通信パッケージに基づいて、前記シミュレータは、自らのシミュレータに対応する前記シミュレータ用信号ファイルを前記シミュレーション統合制御部から取得するとともに、自らのシミュレータの個別シミュレーションに用いられる信号データファイルを、前記シミュレーション統合制御部の前記データベース定義ファイルから取得して、前記シミュレータ用信号ファイルおよび前記信号データファイルから信号データベースを生成し、
前記個別シミュレーションを行っている間では、前記アプリケーションプログラムからの指令を受けて前記信号データベースの信号値を参照または更新し、
他の前記シミュレータとの間で前記信号データを送受信するときには、前記信号データベースの信号値から送受信用の信号データを生成することを特徴とする、
分散シミュレーション装置。
【請求項２】
前記シミュレータは、
前記ネットワークを介して信号データを送受信する通信部と、
前記個別シミュレーションを実行するシミュレーション実行部と、
少なくとも前記アプリケーションプログラムおよび信号通信パッケージが記憶されている記憶部と、を備え、
前記シミュレーション実行部は、
前記アプリケーションプログラムおよび信号通信パッケージを起動して、前記シミュレーション統合制御部から取得した前記シミュレータ用信号ファイル、および、前記シミュレーション統合制御部の前記データベース定義ファイルから取得した前記信号データファイルから前記信号データベースを生成して前記記憶部に記憶し、
前記個別シミュレーションを実行する際には、前記記憶部に記憶した前記信号データベースの信号値を参照または更新することを特徴とする、
請求項１に記載の分散シミュレーション装置。
【請求項３】
前記シミュレータの前記記憶部には、前記ネットワーク上で共有される共有記憶領域が含まれ、
当該共有記憶領域は、前記ネットワーク上で仮想的な単一の記憶空間が構成されるように、前記シミュレータ毎に異なる部分領域として割り当てられ、
前記シミュレータの前記シミュレーション実行部は、
前記個別シミュレーションにより生成した前記信号データが、他のシミュレータに割り当てられている前記部分領域に入力すべきデータであれば、当該信号データを他の前記シミュレータに送信するよう前記通信部を制御するとともに、
他の前記シミュレータから受信した前記信号データが、自らのシミュレータに割り当てられている前記部分領域に出力すべきデータであれば、当該信号データを前記共有記憶領域に記憶することを特徴とする、
請求項２に記載の分散シミュレーション装置。
【請求項４】
前記ローカルエリアネットワークがイーサネット（登録商標）により構成されていることを特徴とする、
請求項１ないし３のいずれか１項に記載の分散シミュレーション装置。
【請求項５】
さらに、前記ネットワークを介して前記シミュレータと通信可能に接続され、当該ネットワーク外にデータを入出力可能な入出力部を備え、
前記シミュレーション統合制御部は、前記シミュレータおよび前記入出力部の間での前記信号データの送受信を制御することにより前記統合シミュレーションを行うことを特徴とする、
請求項１ないし４のいずれか１項に記載の分散シミュレーション装置。
【請求項６】
航空機シミュレーション装置として用いられることを特徴とする、
請求項１ないし５のいずれか１項に記載の分散シミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のシミュレータの間で信号データを送受信して統合的なシミュレーションを行う分散シミュレーション装置に関し、特に、取り扱われる信号データの種類が多くデータ容量も大きい大規模シミュレーションシステムに適用することができる分散シミュレーション装置に関する。
【背景技術】
【０００２】
近年のコンピュータシステムにおいては、ハードウェアである計算機の高性能化に伴って処理可能な情報量も顕著に増加しているため、コンピュータシステムそのものの規模が拡大し、そのシステム構成も複雑化している。そこで、このようなシステムの大規模化および複雑化に対応すべく分散型システムが提案されている。分散型システムは、一般的には、ネットワークで接続された複数台の計算機で並列処理を行う構成となっている。
【０００３】
例えば、シミュレーション装置の分野では、計算機の処理能力が十分でなければ、実際に起こり得る事象について、極端に簡略化またはデフォルメしたモデルを採用して模擬を行うことになるが、分散型システムを採用したシミュレーション装置（分散シミュレーション装置）では、大規模化および複雑化に対応できるため、より現実に近いモデルを構築して模擬を行うことが可能となっている。
【０００４】
ここで、分散シミュレーション装置においては、リアルタイム性の向上も重要となっている。例えば、航空機、自動車、鉄道車両等の移動物体であれば、周囲環境に対する移動物体の応答性能を評価する観点から高いリアルタイム性の確保が求められる。ただし、リアルタイム性の追求が結果的にリアルタイム性を損なうという矛盾した状況を導き出すおそれがある。例えば、前記移動物体のシミュレーションでは、地表面等の模擬環境と模擬移動物体との間で相互に関連するデータを計算機の間で交換するため、それぞれの計算機の間では、大量のデータを高頻度かつ高速で交換（送受信）する必要がある。それゆえ、分散型システムであっても、ネットワークに処理負荷が集中するおそれがあり、結果的にリアルタイム性を保証することが困難になる。
【０００５】
そこで、従来から、分散シミュレーション装置のさらなる性能向上を図るために様々な技術が提案されている。例えば、特許文献１および特許文献２には、シミュレーション制御機能が一極集中することによる性能低下を回避するために、シミュレーション制御機能部と分散共有メモリとを分散配置する構成が開示されている。この分散シミュレーション装置では、例えば、ある分散共有メモリの内容が変更となったときには、当該分散共有メモリに対応するシミュレーション制御機能部が、ネットワークを介して他の全てのシミュレーション制御機能部に対して変更があったことを知らせるメッセージを送信し、これにより全ての分散共有メモリの内容を同一に保持している。
【０００６】
また、分散シミュレーション装置の分野に限定されないが、大容量のデータをより高速で通信する手法としては、例えば、リフレクティブメモリまたはダイレクトメモリアクセス（ＤＭＡ）の採用、あるいは通信バスの好適化等が挙げられる。
【０００７】
リフレクティブメモリは、複数の計算機の間でメモリを共有可能とする手法であり、ある計算機のメモリにデータが書き込まれると、当該データはネットワークを介して他の計算機に送信され、当該計算機のメモリに直ちにコピーされる。このデータの送信からメモリへのコピーまでの一連のステップは、最初にデータが書き込まれた計算機に戻るまで順次繰り返される。
【０００８】
ダイレクトメモリアクセスは、各計算機の演算器（ＣＰＵ等）を介さずにメモリ同士で直接データを転送する手法であり、演算器とは別にデータ転送を制御する手段、例えばＤＭＡコントローラが設けられる。演算器はＤＭＡコントローラにデータ転送開始を指令するだけで、データの転送はＤＭＡコントローラにより制御されるので、データ転送中であっても演算器はデータ転送制御以外の演算処理を行うことができる。
【０００９】
通信バスに関しては、複数の計算機を通信バスで接続し、適切なプログラミングを行うことにより大容量のデータを高速で送受信可能とすることができる。一般的なモジュール同士を接続する場合には、これらの制御を簡素化することで汎用的な通信バスを用いることができ、通信バス接続に伴うプログラミングも比較的簡単なものとすることができるが、シミュレータ等として用いることが可能な計算機同士を接続する場合には、通常、専用の通信バス装置を用いて計算機の構成に応じた特別なプログラミングが行われる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平１１−２７２６２１号公報
【特許文献２】特開２０００−２１５１９１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、前述した技術や手法では、コストの増加を回避してリアルタイム性に優れた分散シミュレーション装置を製造することが困難となっている。
【００１２】
例えば、特許文献１または２の技術では、それぞれのシミュレータがシミュレーション制御機能部と分散共有メモリとを有しているので、単一のシミュレーション制御機能部に処理負荷が集中することを回避できるものの、シミュレーション制御機能部という構成が複数存在することから、製造コストを十分に削減することができない。
【００１３】
また、分散シミュレーション装置にリフレクティブメモリを適用する場合には、専用のハードウェアが必要となるだけでなく、それぞれの計算機で個別に信号データを物理量に変換する必要が生じる。あるいはダイレクトメモリアクセスを適用する場合には、演算器を介さずにメモリ同士で直接データを転送するため、各計算機の相互関係が複雑となる上に、データそのものが分散してしまう。そのため、事象解析に時間を要することになり、リアルタイム性も含めたシミュレーション性能の向上にはつながらない。
【００１４】
また、分散シミュレーション装置の通信バスを好適化する場合でも、個々の計算機がそれぞれ個別シミュレーションを行うことから、これら計算機に対応し得る専用の通信バス装置が必要となる。しかも、バス装置に応じた特別なプログラミングも必要となるので、ハードウェア面からもソフトウェア面からもコストの増加を招くおそれがある。
【００１５】
本発明はこのような課題を解決するためになされたものであって、大規模シミュレーションシステムに適用することが可能な分散シミュレーション装置を、リアルタイム性を損なわずに、コストの増大を抑えて実現することを目的とする。
【課題を解決するための手段】
【００１６】
本発明に係る分散シミュレーション装置は、前記の課題を解決するために、ネットワークを介して互いに通信可能に接続され、実装されているアプリケーションプログラムによりそれぞれ個別シミュレーションを行い、当該個別シミュレーションにより生成した信号データを互いに送受信可能とする複数のシミュレータと、これらシミュレータ間の信号データの送受信を制御することにより統合シミュレーションを行うシミュレーション統合制御部と、を備え、前記ネットワークがローカルエリアネットワークであり、前記シミュレーション統合制御部は、前記シミュレータが参照可能なファイルとして、前記統合シミュレーションに用いられる全ての信号データを定義する、データベース定義ファイルと、個々の前記シミュレータ別に信号様式を定義したファイルである、シミュレータ用信号ファイルと、を保有し、全ての前記シミュレータには、前記信号データの送受信を、共通様式かつ共通手順で行うための信号通信パッケージが実装され、前記信号通信パッケージに基づいて、前記シミュレータは、自らのシミュレータに対応する前記シミュレータ用信号ファイルを前記シミュレーション統合制御部から取得するとともに、自らのシミュレータの個別シミュレーションに用いられる信号データファイルを、前記シミュレーション統合制御部の前記データベース定義ファイルから取得して、前記シミュレータ用信号ファイルおよび前記信号データファイルから信号データベースを生成し、前記個別シミュレーションを行っている間では、前記アプリケーションプログラムからの指令を受けて前記信号データベースの信号値を参照または更新し、他の前記シミュレータとの間で前記信号データを送受信するときには、前記信号データベースの信号値から送受信用の信号データを生成する構成である。
【００１７】
前記構成によれば、信号データベースを参照する信号通信パッケージにより、複数のシミュレータ間で信号データを送受信することができる。したがって、信号データとしては、特別な様式のものを用いる必要がないので、信号データを送受信するために特別なソフトウェアや専用のハードウェアを準備する必要がない。しかも、それぞれのシミュレータで信号データを物理量に変換する必要がなく、シミュレータ同士の相互関係も簡素化することができる。これにより、通信上での送受信関係を掌握する必要のない簡素なシステム構成を実現できるとともに、信号データの送受信時間および信号検索時間が必要以上に長くなるおそれを回避することができる。それゆえ、リアルタイム性に優れた分散シミュレーション装置を低コストで製造することができる。
【００１８】
また、各シミュレータは、不要な信号データの定義も信号様式の定義も保有しなくてよいため、記憶容量の増大も抑制することができる。それゆえ、この観点からも低コスト化が可能となる。
【００１９】
さらに、各シミュレータは、全信号データの定義を保有していないため、シミュレーション統合制御部が保有する信号データファイルを更新するだけで、統合シミュレーションに必要な信号データに追加、変更、または削除が可能となる。これにより、信号データの追加等に際して各シミュレータに実装されるアプリケーションプログラムを変更する必要がない。
【００２０】
しかも、信号データはシミュレーション統合制御部で一元管理することができ、変更等もシミュレーション統合制御部において容易かつ迅速に行うことができる。さらに、信号データの送受信の様式および手順が共通化されていることから、統合シミュレーションにおいて何らかの問題が発生したとしても、問題箇所の特定が容易となる。それゆえ、分散シミュレーション装置の保守管理性を向上することができる。
【００２１】
前記分散シミュレーション装置においては、前記シミュレータは、前記ネットワークを介して信号データを送受信する通信部と、前記個別シミュレーションを実行するシミュレーション実行部と、少なくとも前記アプリケーションプログラムおよび信号通信パッケージが記憶されている記憶部と、を備え、前記シミュレーション実行部は、前記アプリケーションプログラムおよび信号通信パッケージを起動して、前記シミュレーション統合制御部から取得した前記シミュレータ用信号ファイル、および、前記シミュレーション統合制御部の前記データベース定義ファイルから取得した前記信号データファイルから前記信号データベースを生成して前記記憶部に記憶し、前記個別シミュレーションを実行する際には、前記記憶部に記憶した前記信号データベースの信号値を参照または更新する構成であってもよい。
【００２２】
また、前記分散シミュレーション装置においては、前記シミュレータの前記記憶部には、前記ネットワーク上で共有される共有記憶領域が含まれ、当該共有記憶領域は、前記ネットワーク上で仮想的な単一の記憶空間が構成されるように、前記シミュレータ毎に異なる部分領域として割り当てられ、前記シミュレータの前記シミュレーション実行部は、前記個別シミュレーションにより生成した前記信号データが、他のシミュレータに割り当てられている前記部分領域に入力すべきデータであれば、当該信号データを他の前記シミュレータに送信するよう前記通信部を制御するとともに、他の前記シミュレータから受信した前記信号データが、自らのシミュレータに割り当てられている前記部分領域に出力すべきデータであれば、当該信号データを前記共有記憶領域に記憶する構成であってもよい。
【００２３】
また、前記分散シミュレーション装置においては、前記ローカルエリアネットワークがイーサネット（登録商標）により構成されてもよい。
【００２４】
また、前記分散シミュレーション装置においては、さらに、前記ネットワークを介して前記シミュレータと通信可能に接続され、当該ネットワーク外にデータを入出力可能な入出力部を備え、前記シミュレーション統合制御部は、前記シミュレータおよび前記入出力部の間での前記信号データの送受信を制御することにより前記統合シミュレーションを行う構成であってもよい。
【００２５】
また、前記分散シミュレーション装置の具体的な用途は特に限定されないが、代表的な一例としては、航空機シミュレーション装置を挙げることができる。
【発明の効果】
【００２６】
以上のように、本発明では、大規模シミュレーションシステムに適用することが可能な分散シミュレーション装置を、リアルタイム性を損なわずに、コストの増大を抑えて実現することができる、という効果を奏する。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施の形態に係る分散シミュレーション装置の構成の一例を示す概略ブロック図である。
【図２】図１に示す分散シミュレーション装置に適用されるメモリ通信の構成を説明する模式図である。
【図３】図１に示す分散シミュレーション装置において信号データベースの生成を説明する模式図である。
【図４】図１に示す分散シミュレーション装置における信号通信パッケージの動作を説明する模式図である。
【図５】図１に示す分散シミュレーション装置の具体的な一例である航空機シミュレーション装置の全体構成を示す概略斜視図である。
【発明を実施するための形態】
【００２８】
以下、本発明の好ましい実施の形態を、図面を参照しながら説明する。なお、以下では全ての図を通じて同一又は相当する要素には同一の参照符号を付して、その重複する説明を省略する。
【００２９】
［分散シミュレーション装置の構成］
まず、本実施の形態に係る分散シミュレーション装置の構成の一例について、図１を参照して具体的に説明する。
【００３０】
図１に示すように、本実施の形態に係る分散シミュレーション装置１００は、少なくとも１つのシミュレーション統合制御部１０と、複数のシミュレータ２０Ａ〜２０Ｎと、少なくとも１つの入出力部３０と、を備えており、これらがネットワーク４０を介して通信可能に接続されている。
【００３１】
シミュレーション統合制御部１０は、シミュレータ２０Ａ〜２０Ｎ間の信号データの送受信を制御することにより統合シミュレーションを行うものであり、統合制御機能部１１、統合制御記憶部１２、および統合制御通信部１３を備えている。統合制御機能部１１は、シミュレーション統合制御部１０による統合シミュレーションをつかさどり、ネットワーク４０を介してシミュレータ２０Ａ〜２０Ｎ間での信号データの送受信を制御する。統合制御記憶部１２は、統合制御機能部１１による制御動作に必要な各種プログラムおよび各種データと、後述するデータベース定義ファイル１２１およびシミュレータ用信号ファイル１２２Ａ〜１２２Ｎとを記憶している。統合制御通信部１３は、ネットワーク４０を介してシミュレータ２０Ａ〜２０Ｎ等との間で各種通信を行う。
【００３２】
シミュレーション統合制御部１０の具体的な構成は特に限定されず、公知の計算機を好適に用いることができる。この計算機としては、ネットワーク４０に接続可能なワークステーションまたはパーソナルコンピュータ等の端末であってもよいし、サーバとして機能するものであってもよいし、その他の公知の計算機であってもよい。
【００３３】
統合制御機能部１１は、シミュレーション統合制御部１０を構成する計算機の機能構成となる。すなわち、統合制御機能部１１は、計算機が備えるＣＰＵ等の演算器の動作によって実現される構成であって、統合制御記憶部１２に演算器を統合制御機能部１１として動作させるプログラムを格納しておき、演算器は当該プログラムにしたがって動作することにより、統合制御機能部１１を実現するよう構成されている。
【００３４】
統合制御記憶部１２は、計算機が備える種々の記憶装置であり、例えば、演算器の内部メモリとして設けられる主記憶装置と、補助記憶装置として用いられる内蔵型ハードディスクドライブ等の記憶装置、あるいは、外付け型のハードディスクドライブ等の外部記憶装置等から構成されている。これら記憶装置は単独で統合制御記憶部１２を構成してもよいが、後述するように、データベース定義ファイル１２１およびシミュレータ用信号ファイル１２２Ａ〜１２２Ｎという大容量のデータファイルを記憶する必要があることから、主記憶装置だけでなく補助記憶装置および／または外部記憶装置から構成されることが好ましい。
【００３５】
統合制御通信部１３は、計算機が備える通信器であり、ネットワーク４０の種類に応じたものが用いられる。本実施の形態では、ネットワーク４０は後述するようにＬＡＮで構成されているため、統合制御通信部１３はＬＡＮカードやＬＡＮボード等のＬＡＮアダプタであればよい。
【００３６】
シミュレータ２０Ａ〜２０Ｎは、分散シミュレーション装置１００を構成する複数のシミュレータであり、ネットワーク４０を介して互いに通信可能に接続され、実装されているアプリケーションプログラム２１１Ａによりそれぞれ個別シミュレーションを行い、当該個別シミュレーションにより生成した信号データを互いに送受信可能となっている。図１では、アルファベット順でＡシミュレータ２０Ａ、Ｂシミュレータ２０Ｂ、Ｃシミュレータ２０Ｃ、およびＤシミュレータ２０Ｄの４台と、任意の台数目を示すＮシミュレータ２０Ｎを図示している。
【００３７】
Ａシミュレータ２０Ａを例に挙げて、その構成を具体的に説明すると、Ａシミュレータ２０Ａは、シミュレーション実行部２１、シミュレータ記憶部２２、およびシミュレータ通信部２３を備えている。シミュレーション実行部２１は、Ａシミュレータ２０Ａが担当する個別シミュレーションを実行するものである。シミュレータ記憶部２２は、個別シミュレーションを実行するためのアプリケーションプログラム２１１Ａ、後述する信号通信パッケージ２１２等を記憶する。シミュレータ通信部２３は、ネットワーク４０を介して他のシミュレータ２０Ｂ〜２０Ｎとの間で信号データ等の送受信を行う。
【００３８】
Ａシミュレータ２０Ａの具体的な構成は特に限定されず、公知の計算機を好適に用いることができる。この計算機としては、ネットワーク４０に接続可能であり、シミュレーション専用に開発されたものであってもよいし、ワークステーションあるいはパーソナルコンピュータ等の端末であってもよいし、その他の公知の計算機であってもよい。他のシミュレータ２０Ｂ〜２０Ｎも同様である。
【００３９】
シミュレータ２０Ａ〜２０Ｎが備えるシミュレーション実行部２１は、当該シミュレータ２０Ａ〜２０Ｎを構成する計算機の機能構成となる。すなわち、前述したようにシミュレータ記憶部２２には、個別シミュレーションを実行するためのアプリケーションプログラム２１１Ａを記憶しているので、計算機が備えるＣＰＵ等の演算器は、当該アプリケーションプログラム２１１Ａにしたがって動作することによって、個別シミュレーションを行うシミュレーション実行部２１を実現するよう構成されている。
【００４０】
シミュレータ記憶部２２は、計算機が備える種々の記憶装置であり、統合制御記憶部１２と同様に、主記憶装置、補助記憶装置、外部記憶装置等で構成される。シミュレータ記憶部２２には、アプリケーションプログラム２１１Ａに加えて信号通信パッケージ２１２も記憶されており、さらに、信号通信パッケージ２１２は、シミュレーション統合制御部１０から事前に取得したファイルから信号データベース２１３Ａを生成するが、この信号データベース２１３Ａもシミュレータ記憶部２２に記憶可能となっている。シミュレータ通信部２３は、計算機が備える通信器であり、統合制御通信部１３と同様に、ネットワーク４０の種類に応じたもの、具体的には、ＬＡＮカードやＬＡＮボード等のＬＡＮアダプタ等で構成される。
【００４１】
なお、図１においては、説明の便宜上、統合制御記憶部１２およびシミュレータ記憶部２２を示すブロックは、それぞれ「記憶部」と略記し、統合制御通信部１３およびシミュレータ通信部２３を示すブロックも、それぞれ「通信部」と略記している。また、分散シミュレーション装置１００で行われる統合シミュレーションの内容、あるいは個別シミュレーションの内容等に応じて、シミュレーション統合制御部１０は、統合制御機能部１１、統合制御記憶部１２、統合制御通信部１３以外の構成を備えていてもよく、同様に、シミュレータ２０Ａ〜２０Ｎは、シミュレーション実行部２１、シミュレータ記憶部２２、シミュレータ通信部２３以外の構成を備えていてもよい。
【００４２】
入出力部３０は、ネットワーク４０を介してシミュレータ２０Ａ〜２０Ｎと通信可能に接続され、当該ネットワーク４０外にデータを入出力可能なものである。シミュレーション統合制御部１０は、シミュレータ２０Ａ〜２０Ｎの間だけでなく、シミュレータ２０Ａ〜２０Ｎおよび入出力部３０の間でも信号データの送受信を制御するよう構成されている。
【００４３】
入出力部３０の具体的な構成は特に限定されず、分散シミュレーション装置１００で実行される統合シミュレーションの種類または内容等に応じて、適切な入力装置または出力装置が用いられる。本実施の形態では、後述するように、航空機操縦シミュレーション装置を具体的実施例として挙げており、当該航空機シミュレーション装置は操縦室模擬部を備えているので、当該操縦室模擬部に設けられている模擬操縦桿、模擬計器類、モニタ等が入出力部３０に相当する。
【００４４】
ネットワーク４０は、シミュレーション統合制御部１０およびシミュレータ２０Ａ〜２０Ｎ、並びに入出力部３０をそれぞれ通信可能に接続するものである。本実施の形態では、ネットワーク４０は、一般的なローカルエリアネットワーク（ＬＡＮ）で構成されており、より好ましくは、イーサネット（登録商標）により構成されている。
【００４５】
ネットワーク４０がＬＡＮであれば、ネットワーク４０に接続される全てのシミュレータ２０Ａ〜２０Ｎでネットワーク４０を共有していることになる。それゆえ、各シミュレータ２０Ａ〜２０Ｎは、いずれも信号データを送信する権限を対等に保有しているため、通信上での送受信間の関係を掌握する必要がない。その結果、シミュレータ２０Ａ〜２０Ｎ同士の相互関係を簡素化することができ、リアルタイム性を有する並列処理の分散シミュレーション装置１００を容易に構築することができる。
【００４６】
ネットワーク４０の具体的な構成は特に限定されず、１本の回線をシミュレータ２０Ａ〜２０Ｎで共有するバス型であってもよいし、ハブを介してシミュレータ２０Ａ〜２０Ｎを共有するスター型であってもよいし、シミュレータ２０Ａ〜２０Ｎをメッシュ状に接続するファブリック型であってもよい。
【００４７】
［シミュレータ記憶部の共有構成］
次に、本実施の形態におけるシミュレータ記憶部２２のより好ましい構成について、図２を参照して具体的に説明する。
【００４８】
各シミュレータ２０Ａ〜２０Ｎ同士は、ネットワーク４０で相互に通信可能に接続されているが、本実施の形態では、シミュレータ記憶部２２には、図２に模式的に示すように、ネットワーク４０上で共有される共有記憶領域２３３Ａ〜２３３Ｎが含まれている。これら共有記憶領域２３３Ａ〜２３３Ｎは、ネットワーク４０上で仮想的な単一の記憶空間４３３が構成されるように、シミュレータ２０Ａ〜２０Ｎ毎に異なる部分領域として割り当てられている。
【００４９】
共有記憶領域２３３Ａ〜２３３Ｎは、データを入力するための入力領域とデータを出力するための出力領域とに区分されている。入力領域に入力された信号データは、必要に応じてシミュレータ通信部２３を介して他の共有記憶領域２３３Ａ〜２３３Ｎに送信される。また、他の共有記憶領域２３３Ａ〜２３３Ｎに入力された信号データでシミュレータ通信部２３を介して送信された信号データは、必要に応じて出力領域に記憶される。
【００５０】
図２では、共有記憶領域２３３Ａ〜２３３Ｎを入力領域および出力領域に区分し、入力領域を太線ブロックで例えば「Ｎin」として図示し、出力領域を二重線ブロックで例えば「Ｎout 」として図示している。また、図中上から順にＡシミュレータ２０Ａ、Ｂシミュレータ２０Ｂ・・・Ｎシミュレータ２０Ｎを図示し、これらシミュレータ２０Ａ〜２０Ｎに対応するシミュレータ記憶部２２Ａ〜２２Ｎも図示している。
【００５１】
図２に示すように、Ａシミュレータ２０Ａのシミュレータ記憶部２２Ａには共有記憶領域２３３Ａが割り当てられ、Ｂシミュレータ２０Ｂのシミュレータ記憶部２２Ｂには共有記憶領域２３３Ｂが割り当てられ、Ｃシミュレータ２０Ｃのシミュレータ記憶部２２Ｃに、共有記憶領域２３３Ｃが割り当てられ、Ｄシミュレータ２０Ｄのシミュレータ記憶部２２Ｄには共有記憶領域２３３Ｄが割り当てられ、Ｎシミュレータ２０Ｎのシミュレータ記憶部２２Ｎには共有記憶領域２３３Ｎが割り当てられている。これら共有記憶領域２３３Ａ〜２３３Ｎは、それぞれ図２の最上位に図示される仮想的な記憶空間４３３に対応しており、このような割り当てによってネットワーク４０上で単一の記憶空間４３３が構成される。
【００５２】
各シミュレータ２０Ａ〜２０Ｎのシミュレーション実行部２１（図２には図示せず）は、個別シミュレーションにより生成した信号データが、他局に割り当てられている部分領域に入力すべきデータであれば、当該信号データを他のシミュレータ２０Ａ〜２０Ｎに送信するようシミュレータ通信部２３を制御し、また、他のシミュレータ２０Ａ〜２０Ｎから受信した信号データが、自局に割り当てられている部分領域に出力すべきデータであれば、当該信号データを共有記憶領域２３３Ａ〜２３３Ｎに記憶する。
【００５３】
例えば、Ａシミュレータ２０Ａを例に説明すれば、Ａシミュレータ２０Ａのシミュレーション実行部２１がアプリケーションプログラム２１１Ａ（図１参照）により個別シミュレーションを実施して信号データを生成すれば、シミュレーション実行部２１は、この信号データが、図２に示す他局の共有記憶領域２３３Ｂ〜２３３Ｎに入力すべきデータか否かを判定する。入力すべきデータであれば、図２の「Ａin」ブロックから矢印で示すように、当該信号データを他のシミュレータ２０Ｂ〜２０Ｎに送信する。
【００５４】
一方、図２の「Ａout 」ブロックに対する記憶空間４３３からの矢印で図示するように、Ａシミュレータ２０Ａにおいては、他のシミュレータ２０Ｂ〜２０Ｎから信号データを受信すれば、シミュレーション実行部２１は、この信号データが自局の共有記憶領域２３３Ａに出力すべきデータであるか否かを判定する。出力すべきデータであれば共有記憶領域２３３Ａに記憶する。
【００５５】
より具体的には、Ａシミュレータ２０Ａにおいて個別シミュレーションの結果、ある信号データを更新した場合であって、当該信号データがＢシミュレータ２０Ｂでも用いられる場合には、Ａシミュレータ２０Ａは、共有記憶領域２３３Ａの入力領域に更新した信号データを入力し、シミュレータ通信部２３を介してＢシミュレータ２０Ｂに送信する。Ｂシミュレータ２０Ｂでは、共有記憶領域２３３Ｂにおいて受信した信号データを出力領域に出力して記憶することになる。
【００５６】
このように、本実施の形態では、シミュレータ２０Ａ〜２０Ｎは、ネットワーク４０で共有されるメモリ通信、すなわちサイクリック通信を実現するように、互いに接続されている。そして、ネットワーク４０がイーサネット（登録商標）等のＬＡＮであるため、サイクリック通信により各シミュレータ２０Ａ〜２０Ｎにおいて更新された信号データであって他のシミュレータ２０Ａ〜２０Ｎと共通するデータを容易に書き換えることになる。それゆえ、信号データをリアルタイムに送受信するシステム構成を容易に構築することができる。なお、シミュレータ２０Ａ〜２０Ｎ相互の信号データの通信手法は、サイクリック通信のみに限定されず、リアルタイム性を向上し得る手法であれば公知の他の手法を用いることができる。
【００５７】
［シミュレータ間での信号データの送受信］
次に、シミュレータ２０Ａ〜２０Ｎの間で信号データを送受信する具体的な構成について、図１に加えて図３および図４を参照して具体的に説明する。図３においては、分散シミュレーション装置１００を構成するシミュレータ２０Ａ〜２０Ｎのソフトウェア構成を模式的に図示しており、シミュレーション統合制御部１０（図中破線の枠内）については、統合制御記憶部１２に記憶されているファイルのみを模式的に図示している。また、図３においては、シミュレータ２０Ａ〜２０Ｎとして、Ａシミュレータ２０Ａ、Ｂシミュレータ２０ＢおよびＮシミュレータ２０Ｎを図示している。
【００５８】
まず、図３に示すように、全てのシミュレータ２０Ａ〜２０Ｎには、信号データの送受信を共通様式かつ共通手順で行うための信号通信パッケージ２１２が実装されている。つまり、各シミュレータ２０Ａ〜２０Ｎに実装されている信号通信パッケージ２１２は、いずれも同じものである（信号データベース２１３Ａ〜２１３Ｎを除く）。この信号通信パッケージ２１２は、シミュレータ２０Ａ〜２０Ｎのシミュレータ記憶部２２に記憶され、各シミュレータ２０Ａ〜２０Ｎ固有のアプリケーションプログラム２１１Ａ〜２１１Ｎとともにシミュレータ２０Ａ〜２０Ｎのソフトウェアを構成している。
【００５９】
また、信号通信パッケージ２１２は、信号データの送受信を行う際に、信号データベース２１３Ａ〜２１３Ｎを適宜参照する。この信号データベース２１３Ａ〜２１３Ｎは、各シミュレータ２０Ａ〜２０Ｎが必要に応じてシミュレーション統合制御部１０と通信することにより、統合制御記憶部１２に記憶されているファイルから、自局に該当するファイルまたはデータを取得し、各シミュレータ２０Ａ〜２０Ｎによりそれぞれ生成されるものである。
【００６０】
シミュレーション統合制御部１０の統合制御記憶部１２には、シミュレータ２０Ａ〜２０Ｎが参照可能なファイルとして、データベース定義ファイル１２１とシミュレータ用信号ファイル１２２Ａ〜１２２Ｎとが記憶されている。
【００６１】
データベース定義ファイル１２１は、信号データファイル２２１Ａ〜２２１Ｎを包括するファイルの集合体（データベース）であり、統合シミュレーションに用いられる全ての信号データを定義している。シミュレータ２０Ａ〜２０Ｎは、自局の信号データの定義を変更する場合には、シミュレーション統合制御部１０に接続し、データベース定義ファイル１２１から信号通信パッケージ２１２により自局の個別シミュレーションに用いられる信号データファイル２２１Ａ〜２２１Ｎを取得する。
【００６２】
したがって、例えば、Ａシミュレータ２０ＡおよびＢシミュレータ２０Ｂの双方において信号データの定義を変更する場合には、それぞれ信号データファイル２２１Ａおよび信号データファイル２２１Ｂを取得するが、Ａシミュレータ２０Ａが取得した信号データファイル２２１Ａと、Ｂシミュレータ２０Ｂが取得した信号データファイル２２１Ｂとは、定義される信号データ群の一部が共通している場合もあれば、それぞれ全く異なる信号データ群を定義している場合もあり、さらに、Ａシミュレータ２０ＡとＢシミュレータ２０Ｂとが互いに独立して同じ内容の個別シミュレーションを実行するのであれば、信号データファイル２２１Ａと信号データファイル２２１Ｂとは同じ信号データ群を定義している場合もあり得る。
【００６３】
あるいは、Ａシミュレータ２０Ａにおいて信号データの定義の変更が必要であるのに対して、Ｂシミュレータ２０Ｂの信号データの変更が不要であれば、Ａシミュレータ２０Ａのみがシミュレーション統合制御部１０に接続し、信号データファイル２２１Ａを取得するが、Ｂシミュレータ２０Ｂは、シミュレーション統合制御部１０には接続しない。
【００６４】
また、シミュレータ用信号ファイル１２２Ａ〜１２２Ｎは、各シミュレータ２０Ａ〜２０Ｎそれぞれに対応するよう個別に準備されており、個々のシミュレータ２０Ａ〜２０Ｎの信号様式をそれぞれ定義したファイルである。シミュレータ２０Ａ〜２０Ｎは、これらシミュレータ用信号ファイル１２２Ａ〜１２２Ｎから信号通信パッケージ２１２により自局に対応するものを選択して取得する。
【００６５】
そして、各シミュレータ２０Ａ〜２０Ｎにおいては、シミュレーション統合制御部１０から取得した信号データファイル２２１Ａ〜２２１Ｎと、シミュレータ用信号ファイル１２２Ａ〜１２２Ｎから信号通信パッケージ２１２により信号データベース２１３Ａ〜２１３Ｎを生成し、自局のシミュレータ記憶部２２Ａ〜２２Ｎに記憶する。
【００６６】
Ａシミュレータ２０Ａを例に挙げて、信号通信パッケージ２１２による信号データベース２１３Ａの生成と、信号データの送受信とについて具体的に説明する。Ａシミュレータ２０Ａのシミュレーション実行部２１（図１参照）は、シミュレータ記憶部２２Ａ（図１参照）に記憶されているアプリケーションプログラム２１１Ａを起動する。
【００６７】
次に、図４に示すように、アプリケーションプログラム２１１Ａは、信号通信パッケージ２１２を起動させるために、信号通信パッケージ２１２に対してデータベース生成指令を出力する（操作Ｓ０１の実線矢印）。信号通信パッケージ２１２は、この操作指令を受けてシミュレーション統合制御部１０（図１参照）にアクセスして統合制御記憶部１２を参照し（図４の実線矢印Ｒｆ）、Ａシミュレータ２０Ａに対応するＡシミュレータ用信号ファイル１２２Ａと、アプリケーションプログラム２１１Ａによる個別シミュレーションに用いられる信号データファイル２２１Ａを取得し（図４の点線矢印Ｄｆ）、信号データベース２１３Ａを生成してシミュレータ記憶部２２Ａに記憶する。
【００６８】
次に、アプリケーションプログラム２１１Ａは、起動時の固有パラメータを設定する操作指令を信号通信パッケージ２１２に出力する（操作Ｓ０２の実線矢印）とともに、当該固有パラメータを信号通信パッケージ２１２に出力する（操作Ｓ０２下の点線矢印ＰＭＴ）。次に、アプリケーションプログラム２１１Ａは、信号通信パッケージ２１２を初期化する操作指令を出力し（操作Ｓ０３の実線矢印）、その後、信号通信パッケージ２１２の実行開始の操作指令を出力する（操作Ｓ０４の実線矢印）。この状態で信号通信パッケージ２１２は、信号データを送受信可能な状態となっている。
【００６９】
ここで、分散シミュレーション装置１００は、シミュレーション統合制御部１０の制御にしたがって、速やかにＡシミュレータ２０Ａおよび他のシミュレータ２０Ｂ〜２０Ｎに個別シミュレーションを開始させてもよいが、その前に入出力部３０を診断するために、シミュレータ２０Ａ〜２０Ｎと入出力部３０との間で信号データを送受信させる診断制御を行ってもよい。この場合、アプリケーションプログラム２１１Ａは、シミュレーション統合制御部１０の制御を受けて、生成した信号データベース２１３Ａを、診断制御による信号データの送受信のためにも用いることになる。
【００７０】
具体的には、図４においてネットワーク４０を介して入出力部３０（図４には図示せず）との間で信号データの送受信が行われると（図４の点線矢印ＳｍおよびＲｍ）、信号通信パッケージ２１２は、受信メッセージを受けて信号値Ｖｓを信号データベース２１３Ａに入力し（点線矢印Ｒｖ）、あるいは、入出力部３０へ送信メッセージを送信するために、信号データベース２１３Ａの信号値Ｖｓを出力する（点線矢印Ｓｖ）。この信号値Ｖｓは、ネットワーク４０を介して送受信される共通様式のデータである。
【００７１】
一方、これら信号値Ｖｓの入出力（点線矢印ＳｖおよびＲｖ）とは独立して、図４に示すように、アプリケーションプログラム２１１Ａは、信号データの取得指令を信号通信パッケージ２１２に出力し（操作Ｓ０５の実線矢印）、また、信号データの設定指令を信号通信パッケージ２１２に出力する（操作Ｓ０６の実線矢印）。これを受けて信号通信パッケージ２１２は、信号データベース２１３Ａの信号値Ｖｓを参照し（実線矢印Ｒｆ）、あるいは、信号データベース２１３Ａの信号値Ｖｓを更新する（実線矢印Ｕｄ）。
【００７２】
信号値Ｖｓを参照する場合には、信号通信パッケージ２１２からアプリケーションプログラム２１１Ａに対して参照した信号値Ｖｓが、信号データベース２１３ＡのＡシミュレータ用信号ファイル１２２Ａに基づいてＡシミュレータ２０Ａ用の信号値ＶｓＡに変換されて出力される（操作Ｓ０５下の点線矢印）。一方、信号値Ｖｓを更新する場合には、アプリケーションプログラム２１１Ａから信号通信パッケージ２１２に対して更新する信号値ＶｓＡが出力される（操作Ｓ０６下の点線矢印）。この信号値ＶｓＡは信号データベース２１３ＡのＡシミュレータ用信号ファイル１２２Ａに基づいて共通様式のデータＶｓに変換されて、信号データベース２１Ａ上の該当データが更新される。
【００７３】
このような診断制御により入出力部３０が診断され、入出力部３０との間で信号データの送受信が可能であるか否かに基づいて入出力動作が点検されるとともに、各シミュレータ２０Ａ〜２０Ｎにおいては、入出力部３０との間で送受信された結果に基づいて、入出力動作による信号値Ｖｓが確認される。
【００７４】
そして診断制御が終了すれば、アプリケーションプログラム２１１Ａは、再び信号通信パッケージ２１２を初期化し（操作Ｓ０３）、その後、アプリケーションプログラム２１１Ａにより個別シミュレーションを開始されれば、Ａシミュレータ２０Ａと他のシミュレータ２０Ｂ〜２０Ｎとの間で信号データの送受信が行われる。そこで、アプリケーションプログラム２１１Ａは、適宜、信号データを取得する操作指令または信号データを設定する操作指令を信号通信パッケージ２１２に出力する（操作Ｓ０５またはＳ０６）。これを受けて信号通信パッケージ２１２は、信号データベース２１３Ａを参照または更新する（実線矢印ＲｆまたはＵｄ）。
【００７５】
このように、Ａシミュレータ２０Ａでは、個別シミュレーションを実行する際には、アプリケーションプログラム２１１Ａによりシミュレータ記憶部２２Ａ（図２参照）に記憶した信号データベース２１３Ａの信号値Ｖｓを参照または更新する。また、他のシミュレータ２０Ｂ〜２０Ｎとの間で信号データを送受信する際には、信号通信パッケージ２１２は信号データベース２１３Ａの信号値Ｖｓに基づいてメッセージを送受信する。
【００７６】
その後、アプリケーションプログラム２１１Ａは、必要に応じて実行されている信号通信パッケージ２１２を一次停止することができる。この場合、図４に示すように、アプリケーションプログラム２１１Ａは、一次停止指令を出力し（操作Ｓ０７の実線矢印）、信号通信パッケージ２１２はこれを受けて再開可能に一次停止する。また、信号通信パッケージ２１２の実行を再開したい場合には、再開指令を出力し（操作Ｓ０８の実線矢印）、信号通信パッケージ２１２はこれを受けて再開する。
【００７７】
なお、アプリケーションプログラム２１１Ａおよび信号通信パッケージ２１２の終了は、通常、Ａシミュレータ２０Ａのシャットダウンによる終了と判断されるので、終了時には信号通信パッケージ２１２に対して特に固有の操作指令は出力されない。
【００７８】
このように、本実施の形態によれば、信号データベース２１３Ａを参照する信号通信パッケージ２１２により、複数のシミュレータ２０Ａ〜２０Ｎ間で信号データを送受信することができる。したがって、信号データとしては、特別な様式のものを用いる必要がないので、信号データを送受信するために特別なソフトウェアや専用のハードウェアを準備する必要がない。しかも、それぞれのシミュレータ２０Ａ〜２０Ｎで信号データを物理量に変換する必要がなく、シミュレータ２０Ａ〜２０Ｎ同士の相互関係も簡素化することができる。
【００７９】
これにより、通信上での送受信関係を掌握する必要のない簡素なシステム構成を実現できるとともに、信号データの送受信時間および信号検索時間が必要以上に長くなるおそれを回避することができる。それゆえ、リアルタイム性に優れた分散シミュレーション装置１００を低コストで製造することができる。
【００８０】
また、各シミュレータ２０Ａ〜２０Ｎは、信号データの定義も信号様式の定義も保有しなくてよいため、記憶容量の増大も抑制することができる。それゆえ、この観点からも低コスト化が可能となる。
【００８１】
さらに、各シミュレータ２０Ａ〜２０Ｎは、信号データの定義を保有していないため、シミュレーション統合制御部１０が保有する信号データファイル２２１Ａ〜２２１Ｎのデータベース（データベース定義ファイル１２１）を更新するだけで、統合シミュレーションに必要な信号データの追加、変更、または削除が可能となる。これにより、信号データの追加等に際して各シミュレータ２０Ａ〜２０Ｎに実装されるアプリケーションプログラム２１１Ａ〜２１１Ｎを変更する必要がない。
【００８２】
しかも、信号データはシミュレーション統合制御部１０で一元管理することができるだけでなく、統合シミュレーションの条件または環境等の設定、変更等もシミュレーション統合制御部１０において容易かつ迅速に行うことができる。さらに、信号データの送受信の様式および手順が共通化されていることから、統合シミュレーションにおいて何らかの問題が発生したとしても、問題箇所の特定が容易となる。それゆえ、分散シミュレーション装置１００の保守管理性を向上することができる。
【００８３】
また、シミュレーション統合制御部１０は、入出力部３０を診断するために、シミュレータ２０Ａ〜２０Ｎおよび入出力部３０の間で前記信号データを送受信させる診断制御を行うよう構成され、シミュレータ２０Ａ〜２０Ｎの信号通信パッケージ２１２は、生成した信号データベース２１３Ａ〜２１３Ｎを、診断制御による前記信号データの送受信のためにも用いるよう構成されている。
【００８４】
この構成であれば、信号通信パッケージ２１２による信号データの送受信は、分散シミュレーション装置１００が備える入出力部３０を保守点検する等のメンテナンスにも利用することができる。この場合、メンテナンスのためにシミュレーション統合制御部１０が特別な制御を行う必要がなく、個別シミュレーションの場合と同様の信号データを送受信することで保守点検が可能となる。それゆえ、分散シミュレーション装置１００の保守管理性をさらに一層向上することができる。
【００８５】
さらに本実施の形態では、図２を参照して説明したように、各シミュレータ２０Ａ〜２０Ｎが備えるシミュレータ記憶部２２Ａ〜２２Ｎは、ネットワーク４０上で仮想的な単一の記憶空間４３３が構成されるように割り当てられた、共有記憶領域２３３Ａ〜２３３Ｎを有している。それゆえ、各シミュレータ２０Ａ〜２０Ｎで実行された個別シミュレーションにより信号データベース２１３Ａ〜２１３Ｎの信号データが更新された場合でも、サイクリック通信によって各シミュレータ２０Ａ〜２０Ｎのシミュレータ記憶部２２Ａ〜２２Ｎの間で迅速に信号データの送受信を行うことができる。
【００８６】
それゆえ、信号通信パッケージ２１２を介して信号データを共通様式および共通手順で送受信できるだけでなく、各シミュレータ２０Ａ〜２０Ｎ間での信号データの送受信そのものも、専用のハードウェア、特別なプログラム等を要することなくリアルタイムで効率的に行うことができる。その結果、分散シミュレーション装置１００における統合シミュレーションのリアルタイム性をより一層向上することができる。
【００８７】
［具体的適用例］
本実施の形態に係る分散シミュレーション装置１００は、どのようなシミュレーショにも適用することができるが、特に、航空機、自動車、鉄道車両等の移動物体のシミュレーションに好ましく適用することができる。移動物体のシミュレーションは、周囲環境に対する移動物体の応答性能を評価する必要があることから、シミュレーションが大規模化する（取り扱われる信号データの種類が多くなりデータ容量も大きくなる）だけでなく、しかも高いリアルタイム性の確保が求められるためである。より具体的な一例として、航空機シミュレーション装置を挙げて、図５を参照して説明する。
【００８８】
図５に示すように、航空機シミュレーション装置５００は、管制部５１０、シミュレーション計算部５２０，５３１、および画像等表示部５３２を備えている。
【００８９】
管制部５１０は、シミュレーション統合制御部１０に対応するものであり、管制計算機から構成され、管制用の各種ソフトウェアが実装され、また、航空機シミュレーション用のデータベース定義ファイル１２１およびシミュレータ用信号ファイル１２２Ａ〜１２２Ｎを保有している。シミュレーション計算部５２０は、複数のシミュレータ２０Ａ〜２０Ｎに対応するものであり、航空機およびその装備品、周囲環境等を模擬する複数の計算機から構成されている。
【００９０】
シミュレーション計算部５３１は、航空機の操縦室を模擬するものであり、実際の操縦室に設けられている操縦桿、計器、表示部等が再現され、航空機シミュレーションに応じてこれらを操作等することで、シミュレータ群であるシミュレーション計算部５２０との間で信号データの送受信を行うよう構成されている。したがって、シミュレーション計算部５３１は、入出力部３０に対応する。画像等表示部５３２は、航空機シミュレーションに応じて各種の画像を表示するシステム表示装置である。この画像等表示部５３２も入出力部３０に対応する。
【００９１】
航空機シミュレーションでは、取り扱われる信号データとして、気象情報、ジャイロ信号、速度情報、地表面等に対する相対的な位置情報、アビオニクス関連情報等のさまざまな種類が存在し、航空機の種類によっては１０万点以上の信号データを取り扱う場合がある。しかも、シミュレーションに際しては、例えば、飛行環境を模擬するシミュレータと航空機を模擬するシミュレータとの間で相互に関連する大量のデータを交換（送受信）することになる。ここで、航空機シミュレーションの需要、市場規模等を考慮すれば、このような大規模システムにおいて固有の通信ソフトウェアを製造することは非効率的である。
【００９２】
これに対して、本発明に係る分散シミュレーション装置１００では、複数のシミュレータ２０Ａ〜２０Ｎ間で、大容量の信号データを、一般的なＬＡＮを用いて大容量の信号データを双方向通信するために、各シミュレータ２０Ａ〜２０Ｎに信号通信パッケージ２１２を実装している。信号通信パッケージ２１２は、各シミュレータ２０Ａ〜２０Ｎを構成する計算機のシステムに固有の信号定義を、シミュレーション統合制御部１０から適宜読み込むため、固有の通信ソフトウェアを製造する必要がなく、低コストで高性能のリアルタイムシミュレーションを構築することが可能となっている。
【００９３】
［変形例］
本実施の形態では、分散シミュレーション装置１００は、シミュレーション統合制御部１０を１つのみ備えているが、本発明はこれに限定されず、製造コストの低減を妨げず、かつ、統合シミュレーションのリアルタイム性、正確性等の性能の向上に見合う限りにおいて、複数のシミュレーション統合制御部１０を備えていてもよい。
【００９４】
また、本実施の形態では、１台の計算機が１つのシミュレータを構成しているが、本発明はこれに限定されず、２台以上の計算機により１つのシミュレータが構築され、このようなシミュレータを複数備えていてもよい。
【００９５】
また、本実施の形態では、具体的な大規模シミュレーションの例として、航空機シミュレーションを例示したが、本発明はこれに限定されず、自動車、鉄道車両等の他の移動物体のシミュレーションであってもよいし、医療分野、プラント分野等、移動物体以外のシミュレーションにも好ましく適用することができる。
【００９６】
なお、本発明は前記実施の形態の記載に限定されるものではなく、特許請求の範囲に示した範囲内で種々の変更が可能であり、異なる実施の形態や複数の変形例にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施の形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【００９７】
本発明は、例えば航空機シミュレーション等の大規模な分散型システムのシミュレーション装置に広く好適に用いることができる。
【符号の説明】
【００９８】
１０    シミュレーション統合制御部
１１    統合制御機能部
１２    統合制御記憶部（記憶部）
１３    統合制御通信部（通信部）
２０Ａ〜２０Ｎ    シミュレータ
２１    シミュレーション実行部
２２，２２Ａ〜２２Ｎ    シミュレータ記憶部（記憶部）
２３    シミュレータ通信部（通信部）
３０    入出力部
４０    ネットワーク
１００    分散シミュレーション装置
１２２Ａ〜１２２Ｎ    シミュレータ用信号ファイル
２１１Ａ〜２１１Ｎ    アプリケーションプログラム
２１２    信号通信パッケージ
２１３Ａ〜２１３Ｎ    信号データベース
２２１Ａ〜２２１Ｎ    信号データファイル
２３３Ａ〜２３３Ｎ    共有記憶領域（部分領域）
４３３    （仮想的な）記憶空間
５００    航空機シミュレーション装置（分散シミュレーション装置）
５１０    管制部（シミュレーション統合制御部）
５２０    シミュレーション計算部（シミュレータ）
５３１    シミュレーション計算部（入出力部）
５３２    画像等表示部（入出力部）
【図１】
0005584678.tif 000002
【図２】
0005584678.tif 000003
【図３】
0005584678.tif 000004
【図４】
0005584678.tif 000005
【図５】
0005584678.tif 000006