(57)【要約】【課題】モデルの表現方法が異なる複数のシミュレーションを連携可能にした情報処理装置を提供する。【解決手段】同一内容のモデルに対して相互に異なる表現で規定されたシミュレーションをそれぞれ実行する複数のシミュレーション装置に接続され、複数のシミュレーションの時間進行ならびにモデルの生成および削除を管理する情報処理装置であって、複数のシミュレーション間でモデルの表現を変換するための連携設定情報が格納された記憶部と、複数のシミュレーションのいずれかにおいてモデルの生成または削除の処理が実行されると、処理対象のモデルを他のシミュレーションに対応する表現に連携設定情報に基づいて変換し、表現変換後のモデルについて生成または削除があった旨の情報を他のシミュレーションに対応するシミュレーション装置に送信する制御部とを有する。【選択図】図１
2009020801.tif 000002
【特許請求の範囲】
【請求項１】
同一内容のモデルに対して相互に異なる表現で規定されたシミュレーションをそれぞれ実行する複数のシミュレーション装置と、
前記複数のシミュレーション装置と接続され、複数の前記シミュレーションの時間進行ならびに前記モデルの生成および削除を管理する情報処理装置と、
前記複数のシミュレーション装置および前記情報処理装置と接続され、複数の前記シミュレーション間で前記モデルの表現を変換するための連携設定情報が格納された記憶部、および、複数の前記シミュレーションのいずれかにおいて前記モデルの生成または削除の処理が実行されると、処理対象のモデルを他のシミュレーションに対応する表現に前記連携設定情報に基づいて変換し、表現変換後の前記モデルについて前記生成または削除があった旨の情報を前記他のシミュレーションに対応するシミュレーション装置および前記情報処理装置に送信する制御部を含むシミュレーション連携装置と、
を有するシミュレーションシステム。
【請求項２】
同一内容のモデルに対して相互に異なる表現で規定されたシミュレーションをそれぞれ実行する複数のシミュレーション装置に接続され、複数の前記シミュレーションの時間進行ならびに前記モデルの生成および削除を管理する情報処理装置であって、
前記複数のシミュレーション間で前記モデルの表現を変換するための連携設定情報が格納された記憶部と、
前記複数のシミュレーションのいずれかにおいて前記モデルの生成または削除の処理が実行されると、処理対象のモデルを他のシミュレーションに対応する表現に前記連携設定情報に基づいて変換し、表現変換後の前記モデルについて前記生成または削除があった旨の情報を前記他のシミュレーションに対応するシミュレーション装置に送信する制御部と、
を有する情報処理装置。
【請求項３】
前記連携設定情報は、同一内容のモデルに対して前記複数のシミュレーションのそれぞれに対応する表現が記述されたマッピングファイルを含み、
前記制御部は、前記生成または削除の対象になったモデルについて、前記マッピングファイルを参照して前記他のシミュレーションに対応する表現を特定する、請求項２記載の情報処理装置。
【請求項４】
前記制御部が、ハイレベル・アーキテクチャー仕様に基づいて、複数の前記シミュレーションの時間進行ならびに前記モデルの生成および削除を管理する請求項２または３記載の情報処理装置。
【請求項５】
同一内容のモデルに対して相互に異なる表現で規定された複数のシミュレーションの時間進行ならびに前記モデルの生成および削除を管理する情報処理装置によるシミュレーション連携方法であって、
前記複数のシミュレーション間で前記モデルの表現を変換するための連携設定情報を格納し、
前記複数のシミュレーションのいずれかにおいて前記モデルの生成または削除の処理が実行されると、処理対象のモデルを他のシミュレーションに対応する表現に前記連携設定情報に基づいて変換し、
表現変換後の前記モデルについて前記生成または削除の情報を前記他のシミュレーションに入力する、情報処理方法。
【請求項６】
前記連携設定情報は、同一内容のモデルに対して前記複数のシミュレーションのそれぞれに対応する表現が記述されたマッピングファイルを含み、
前記生成または削除の対象になったモデルについて、前記マッピングファイルを参照して前記他のシミュレーションに対応する表現を特定する、請求項５記載のシミュレーション連携方法。
【請求項７】
ハイレベル・アーキテクチャー仕様に基づいて、複数の前記シミュレーションの時間進行ならびに前記モデルの生成および削除を管理する請求項５または６記載のシミュレーション連携方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のシミュレーションを連携するための情報処理装置およびシミュレーション連携方法に関する。
【背景技術】
【０００２】
分散型シミュレーションの相互運用性と再利用性を高めるために、シミュレーションに共通的に必要となる各種サービスを提供するフレームワークとして、分散型シミュレーション基盤がある。分散型シミュレーション基盤が共通的に提供するサービスとして、シミュレーション全体管理、オブジェクト管理および時間管理等がある。これらのサービスの仕様を共通化（標準化）することで、各種シミュレーション間の相互運用性を高めることができるようになる。
【０００３】
シミュレーション基盤の考え方は、シミュレーションの相互運用性と再利用性を高めるための基本的な考えであることから、海外でも検討が進んでおり、例えば、防衛分野においては、米軍およびＮＡＴＯで、共通のシミュレーション基盤として、ＨＬＡ(ハイレベル・アーキテクチャー)を採用することを決めている。
【０００４】
このＨＬＡは、西暦２０００年にＩＥＥＥ−１５１６として認定され、米軍だけではなく米国産業界の標準規格となっている。ＨＬＡは、分散した異なるシミュレーションシステムを接続するための仕様であり、ＲＴＩ(ランタイムインフラストラクチャー)はＨＬＡを実現する実行基盤である。このような分散型シミュレーション基盤を利用することで、複数のシミュレータを接続して相互運用が可能な分散型シミュレーションシステムを構築することが可能である（特許文献１参照）。
【０００５】
ＨＬＡでは、個々のシミュレーションをフェデレートと称している。また、フェデレートの集合で構成されるシミュレーション全体をフェデレーションと称している。
【０００６】
ＨＬＡなどの共通のシミュレーション基盤を介して送受信される伝播データは、個々のフェデレートで表現されるシミュレーションオブジェクトモデルの表現の標準化の必要性から、ＯＭＴ(オブジェクトモデルテンプレート)と呼ばれる記述書式が定められている。シミュレーションオブジェクトモデルには、戦車や航空機などがある。
【０００７】
ＯＭＴの記述書式にしたがって、フェデレーションで表現される全てのオブジェクトのクラスとその属性（アトリビュート）を明確化したものをＦＯＭ(フェデレーションオブジェクトモデル)と称している。フェデレーションにおいて送受信される全てのシミュレーションデータは、ＦＯＭにより定められている。ＦＯＭはＯＭＴの記述書式にしたがっていればフェデレーション毎に自由に記述することができる。
【０００８】
上記ＨＬＡ以外にも、集中管理同期式の分散シミュレーションの一例が開示されている(特許文献２参照）。
【特許文献１】特開２００６−２０２０３５号公報
【特許文献２】特開平８−１９４６８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ＯＭＴの記述書式にしたがってフェデレーション毎に自由にＦＯＭを記述すると、ＦＯＭの異なる２つのフェデレーションを連携して動作させようとしても、そのシミュレーション結果を得ることは困難であることが多い。それは、異なるＦＯＭで動作するフェデレーション間で、シミュレーションデータのやり取りがそのままではできないためである。フェデレーション相互の影響を考慮したシミュレーションを行うことができない。
【００１０】
この問題の解決策として、個々のフェデレートを相互連携先のＦＯＭに対応可能なように改造する方法もあるが、それには多くの時間と費用がかかるという問題がある。
【００１１】
本発明は上述したような従来の技術が有する問題点を解決するためになされたものであり、モデルの表現方法が異なる複数のシミュレーションを連携可能にした情報処理装置およびシミュレーション連携方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するための本発明の情報処理装置は、同一内容のモデルに対して相互に異なる表現で規定されたシミュレーションをそれぞれ実行する複数のシミュレーション装置に接続され、複数の前記シミュレーションの時間進行ならびに前記モデルの生成および削除を管理する情報処理装置であって、
前記複数のシミュレーション間で前記モデルの表現を変換するための連携設定情報が格納された記憶部と、
前記複数のシミュレーションのいずれかにおいて前記モデルの生成または削除の処理が実行されると、処理対象のモデルを他のシミュレーションに対応する表現に前記連携設定情報に基づいて変換し、表現変換後の前記モデルについて前記生成または削除があった旨の情報を前記他のシミュレーションに対応するシミュレーション装置に送信する制御部と、
を有する構成である。
【発明の効果】
【００１３】
本発明によれば、モデルの表現方法が異なる複数のシミュレーションが連携して実行可能となり、互いのシミュレーションに影響を及ぼし合った、統一的なシミュレーション結果を得ることができる。
【発明を実施するための最良の形態】
【００１４】
本発明の情報処理装置は、分散型シミュレーション基盤を共用し、相互に異なるＦＯＭを使用する複数のシミュレーションに対して、データ変換のための設定情報を予め格納し、１つのシミュレーションから受信するデータを設定情報で変換し、変換後のデータを他のシミュレーションに分散型シミュレーション基盤を介して入力することを特徴とする。
【００１５】
本実施例のシミュレーションシステムの構成を説明する。
【００１６】
図１は本実施例のシミュレーションシステムを説明するための図である。図１では、本実施例の分散シミュレーション連携装置１００の一構成例を示すブロック図と、連携対象となる２つのフェデレーションを模式的に示している。
【００１７】
フェデレーションＡ（以下では、符号２００で示す）およびフェデレーションＢ（以下では、符号３００で示す）のそれぞれが分散シミュレーション基盤を利用して実行される。フェデレーション２００ではオブジェクトがＦＯＭ−Ａで規定され、フェデレーション３００はオブジェクトがＦＯＭ−Ｂで規定されている。このように、フェデレーション２００とフェデレーション３００はＦＯＭが異なる。
【００１８】
本実施例では、分散シミュレーション連携装置１００が、フェデレーション２００，３００のそれぞれで実行されるシミュレーションのデータについて、一方のフェデレーションから受信したデータを他方のフェデレーションで実行可能なデータに変換する。
【００１９】
図２は図１に示したシミュレーションシステムの一構成例を示す図である。
【００２０】
図２に示すように、本実施例のシミュレーションシステムは、フェデレーション２００を実行するシミュレーション装置２５０と、フェデレーション３００を実行するシミュレーション装置３５０と、分散シミュレーション基盤を提供する情報処理装置４００と、フェデレーション２００およびフェデレーション３００を連携する分散シミュレーション連携装置１００とを有する。これらの装置は、ネットワーク５００を介して接続されている。シミュレーション装置２５０，３５０は、パーソナルコンピュータおよびワークステーションなどの情報処理装置である。
【００２１】
ここで、シミュレーションデータについて説明する。シミュレーションデータには主にオブジェクトデータとインタラクションデータの２種類がある。オブジェクトデータはシミュレーションで模擬される戦車や航空機等のオブジェクトを表す。インタラクションデータはシミュレーションで発生するイベント等の事象を表す。
【００２２】
次に、シミュレーション装置２５０の構成を説明する。図３は図２に示したシミュレーション装置の一構成例を示すブロック図である。以下では、フェデレーション２００，３００が、防空戦闘についてのシミュレーションの場合とする。
【００２３】
図３に示すように、シミュレーション装置２５０は、分散シミュレーション連携装置１００および情報処理装置４００とネットワーク５００を介して通信するためのインタフェース部２５１と、記憶部２５２と、制御部２５３と、操作者が指示を入力するための操作部２５４と、シミュレーションデータおよびシミュレーション結果を表示する表示部２５５とを有する。
【００２４】
フェデレーション２００は、ＨＬＡの仕様に基づいて、ＦＯＭ−Ａのシミュレーションデータを用いてシミュレーションを行うフェデレートＡ２１０を含んでいる。フェデレーション２００のプログラムとＦＯＭ−Ａの情報が記憶部２５２に格納される。
【００２５】
ＦＯＭ−Ａの一例を説明する。ＦＯＭ−Ａでは、戦車というオブジェクトが「戦車筐体」と表現されている。この「戦車筐体」というオブジェクトクラスが「彼我」および「損耗レベル」という属性を持つと定義されている。また、「爆発」というインタラクションクラスが「座標」および「結果」というパラメータを持つと定義されている。
【００２６】
制御部２５３は、プログラムを実行するためのＣＰＵ（Central Processing Unit）（不図示）と、プログラムを一時的に格納するためのメモリ（不図示）とを有している。制御部２５３は、操作者によりオブジェクトが生成されると、生成されたオブジェクトの情報を記憶部２５２に格納し、そのオブジェクトの情報を含むオブジェクトインスタンス生成データを分散シミュレーション連携装置１００に送信する。オブジェクトの情報には、オブジェクトクラスだけでなく、属性の情報も含まれる。
【００２７】
操作部２５４を介してシミュレーション実行の指示が入力されると、制御部２５３は、フェデレーション２００を起動する旨を情報処理装置４００に通知し、各フェデレートＡ２１０を実行する。その際、フェデレーション２００においてフェデレートＡ２１０を実行することを意味する「参加」を情報処理装置４００に通知する。フェデレーション２００における各フェデレートＡ２１０の時間進行は情報処理装置４００からの指示にしたがう。各フェデレートＡ２１０を実行することで、フェデレーション２００が実行される。制御部２５３は、各フェデレートＡ２１０の実行結果を表示部２５５に表示させる。
【００２８】
また、制御部２５３は、フェデレーション２００の実行中にインタフェース部２５１を介して、オブジェクトの属性の変化の情報を含むオブジェクトデータ、または、発生したインタラクションの情報を含むインタラクションデータを受信すると、受信したデータを記憶部２５２に格納する。操作部２５４を介してオブジェクトを削除する旨の指示が入力されると、対象のオブジェクトの情報を記憶部２５２から削除し、削除対象のオブジェクトとそのオブジェクトを削除する旨の情報を含むオブジェクトインスタンス削除データを分散シミュレーション連携装置１００に送信する。
【００２９】
制御部２５３は、複数のフェデレートＡ２１０のうち処理の終了したフェデレートがあると、フェデレートの処理が終了したことを意味する「離脱」を情報処理装置４００に通知する。操作部２５４を介してシミュレーション終了の指示が入力されると、制御部２５３は、フェデレーション２００を終了する旨を情報処理装置４００に通知する。
【００３０】
次に、シミュレーション装置３５０の構成を説明する。シミュレーション装置３５０は、図３に示すシミュレーション装置２５０と同様な構成であり、その詳細な説明を省略する。以下では、シミュレーション装置２５０と異なる点について説明する。
【００３１】
フェデレーション３００は、ＨＬＡの仕様に基づいて、ＦＯＭ−Ｂのシミュレーションデータを用いてシミュレーションを行うフェデレートＢ３１０を含んでいる。フェデレーション３００のプログラムとＦＯＭ−Ｂの情報が記憶部２５２に格納される。
【００３２】
ＦＯＭ−Ｂの一例を説明する。ＦＯＭ−Ｂでは、戦車というオブジェクトが「戦車車両」と表現されている。この「戦車車両」というオブジェクトクラスが「敵味方」および「損耗状態」という属性を持つと定義されている。また、「着弾」というインタラクションクラスが「位置」および「着弾箇所」というパラメータを持つと定義されている。
【００３３】
次に、情報処理装置４００の構成を説明する。図４は情報処理装置の一構成例を示すブロック図である。情報処理装置４００は、パーソナルコンピュータおよびワークステーション等の装置である。
【００３４】
図４に示すように、情報処理装置４００は、分散シミュレーション連携装置１００および２つのシミュレーション装置２５０，３５０とネットワーク５００を介して通信するためのインタフェース部４１０と、記憶部４３０と、制御部４２０とを有する構成である。制御部４２０は、フェデレーション２００，３００が実行される際に、フェデレーション管理、オブジェクト管理および時間管理を行う。
【００３５】
フェデレーション管理とは、フェデレーション実行プログラムの起動、動作変更、終了およびフェデレートのフェデレーションへの参加／離脱など、フェデレーションの実行状況を管理することである。オブジェクト管理とは、各フェデレートで生成されるオブジェクトの識別子（ＩＤ：identification）の割り付けおよび削除などを行うとともに、各オブジェクト間のデータ転送を行うことである。時間管理とは、フェデレート間のイベントの順序立てた交換を取り扱うこと、フェデレーション実行の時間進行を管理することである。
【００３６】
次に、分散シミュレーション連携装置１００の構成を説明する。
【００３７】
分散シミュレーション連携装置１００は、パーソナルコンピュータおよびワークステーション等の情報処理装置である。図１に示すように、分散シミュレーション連携装置１００は、フェデレーション２００，３００を連携するための情報が格納される記憶部１７０と、シミュレーション装置２５０，３５０および情報処理装置４００とデータを送受信するインタフェース部１１０と、フェデレーション２００，３００間でやり取りされるデータを変換する制御部１８０とを有する。
【００３８】
記憶部１７０には、シミュレーションデータを変換するためのマッピングファイルを含む連携設定情報が格納される。マッピングファイルとは、１つのＦＯＭで規定されたオブジェクトおよびインタラクションなどの情報を他のＦＯＭに規定された情報に変換するための対応表である。本実施例では、異なるＦＯＭ間でシミュレーションデータをやり取りする際にデータ変換の対象となる情報を、オブジェクトクラスおよびその属性、ならびにインタラクションクラスおよびそのパラメータの情報とする。
【００３９】
図５はマッピングファイルの一例を示す表である。図５（ａ）はオブジェクトのマッピングファイルの一例を示し、図５（ｂ）はインタラクションのマッピングファイルの一例を示す。
【００４０】
図５（ａ）に示すように、ＦＯＭ−Ａで「戦車筐体」としているオブジェクトが、同じ対象物でも、ＦＯＭ−Ｂでは「戦車車両」としている。表現方法が異なるが、「戦車筐体」も「戦車車両」も同じ「戦車」というオブジェクトを表している。同様に、属性１で比較すると、表現方法が異なるが、「彼我」と「敵味方」は同じ彼我情報を表している。マッピングファイルには、オブジェクトクラス「戦車筐体」とオブジェクトクラス「戦車車両」が対応して記述されている。そして、それぞれのクラスの属性１「彼我」と属性１「敵味方」が対応して記述され、属性２「損耗レベル」と属性２「損耗状態」が対応して記述されている。
【００４１】
図５（ｂ）に示すように、ＦＯＭ−Ａで「爆発」としているインタラクションが、ＦＯＭ−Ｂでは「着弾」としている。「爆発」も「着弾」も同じ事象を表している。同様に、パラメータ１で比較すると、表現方法が異なるが、「座標」と「位置」は同じ位置情報を表している。マッピングファイルには、インタラクションクラス「爆発」とインタラクションクラス「着弾」が対応して記述されている。そして、それぞれのクラスのパラメータ１「座標」とパラメータ１「位置」が対応して記述され、パラメータ２「結果」とパラメータ２「着弾箇所」が対応して記述されている。このように、インタラクションクラスも、オブジェクトクラスと同様に、インタラクションクラスの対応とパラメータの対応がマッピングファイルに記述されている。
【００４２】
制御部１８０は、フェデレーション参加／離脱部１２０と、オブジェクトインスタンス交換部１３０と、アトリビュート交換部１４０と、インタラクション交換部１５０と、連携設定情報読込部１６０とを有する。制御部１８０には、プログラムにしたがって処理を実行するＣＰＵ（不図示）と、プログラムを格納するためのメモリ（不図示）とが設けられている。ＣＰＵがプログラムを実行することで、フェデレーション参加／離脱部１２０、オブジェクトインスタンス交換部１３０、アトリビュート交換部１４０、インタラクション交換部１５０および連携設定情報読込部１６０が分散シミュレーション連携装置内に仮想的に構成される。
【００４３】
連携設定情報読込部１６０は、連携設定情報が入力されると、連携設定情報を記憶部１７０に格納する。フェデレーション参加／離脱部１２０は、２つのフェデレーション２００，３００の分散シミュレーションへの参加、または、それらの分散シミュレーションからの離脱を行う。
【００４４】
分散シミュレーションへの参加とは、シミュレーション装置２５０，３５０および情報処理装置４００に自装置の識別子の登録を要求することである。これにより、シミュレーション装置２５０，３５０のそれぞれは、シミュレーションデータを情報処理装置４００に送信する際、その宛先を分散シミュレーション連携装置１００にする。
【００４５】
分散シミュレーションからの離脱とは、シミュレーション装置２５０，３５０および情報処理装置４００に対して、自装置の識別子の削除を要求することである。分散シミュレーション連携装置１００が離脱した後は、フェデレーション２００，３００間でシミュレーションデータのやり取りはできなくなる。
【００４６】
オブジェクトインスタンス交換部１３０は、一方のシミュレーションで生成されたオブジェクトのデータを他方のシミュレーションの規格に対応してデータを変換し、一方のシミュレーションで削除対象になったオブジェクトのデータを他方のシミュレーションの規格に対応してデータを変換する。アトリビュート交換部１４０は、一方のシミュレーションで発生したオブジェクトの属性の変化を、マッピングファイルを参照して他方のシミュレーションのＦＯＭに変換する。インタラクション交換部１５０は、一方のシミュレーションで発生したインタラクションを、マッピングファイルを参照して他方のシミュレーションのＦＯＭに変換する。
【００４７】
次に、図１に示した分散シミュレーション連携装置の動作を説明する。図６は本実施例の分散シミュレーション連携装置の動作手順を示すフローチャートである。
【００４８】
フェデレーション２００では、ＦＯＭ−Ａで規定されるシミュレーションデータを用いてシミュレーション装置２５０がシミュレーションを行う。フェデレーション３００では、ＦＯＭ−Ｂで規定されるシミュレーションデータを用いてシミュレーション装置３５０がシミュレーションを行う。シミュレーション装置２５０，３５０のそれぞれがネットワーク５００を介して情報処理装置４００と接続されることで、各フェデレーションは同一の分散シミュレーション基盤で実行されることになる。
【００４９】
分散シミュレーション連携装置１００は、連携設定情報が入力されると、連携設定情報読込部１６０が連携設定情報を読み込んで記憶部１７０に格納する（ステップ１００１）。続いて、フェデレーション２００およびフェデレーション３００に参加するために、フェデレーション参加／離脱部１２０が、自装置の識別子をシミュレーション装置２５０，３５０および情報処理装置４００に送信し、自装置の識別子の登録を要求する（ステップ１００２、１００３）。
【００５０】
シミュレーション装置２５０，３５０および情報処理装置４００は分散シミュレーション連携装置１００から受信した識別子をそれぞれの記憶部２５２に登録する。フェデレーションへの参加が登録された後は、ＦＯＭが異なるため分散シミュレーション基盤上で送受信できなかった、各フェデレーションのシミュレーションデータは、以下に説明するように、分散シミュレーション連携装置１００を介して送受信されることになる。
【００５１】
フェデレーション２００，３００を実行する際、初めに、模擬するオブジェクトを分散シミュレーション基盤に登録する必要がある。そのため、各シミュレーション装置２５０，３５０では、模擬するオブジェクトが操作者により生成されると、オブジェクトとその属性の情報を含むオブジェクトインスタンス生成データを分散シミュレーション連携装置１００に送信する。
【００５２】
分散シミュレーション連携装置１００は、シミュレーション装置２５０からオブジェクトインスタンス生成データを受信すると（ステップ１００４）、オブジェクトインスタンス交換部１３０は、マッピングファイルに基づいて、ＦＯＭ−Ａで規定されたデータをＦＯＭ−Ｂで規定されたデータに変換する（ステップ１０１１）。そして、変換前と変換後の両方のオブジェクトインスタンス生成データを情報処理装置４００に送信する（ステップ１０１２）。
【００５３】
情報処理装置４００は、２種類のオブジェクトインスタンス生成データを分散シミュレーション連携装置１００から受信すると、それらのデータを記憶部４３０に格納し、変換後のオブジェクトインスタンス生成データのみをシミュレーション装置３５０に送信する。シミュレーション装置３５０は、情報処理装置４００から受信したオブジェクトインスタンス生成データを記憶部２５２に格納する。
【００５４】
また、分散シミュレーション連携装置１００が、シミュレーション装置３５０からオブジェクトインスタンス生成データを受信すると（ステップ１００４）、マッピングファイルに基づいてＦＯＭ−Ｂで規定されたデータをＦＯＭ−Ａで規定されたデータに変換する(ステップ１０１１)。その後、分散シミュレーション連携装置１００および情報処理装置４００は、上述の場合と同様に動作するので、詳細な説明を省略する。
【００５５】
このようにして、フェデレーション２００，３００のうちいずれか一方で生成されたオブジェクトの情報は、情報処理装置４００に登録されるとともに、他方のフェデレーションでも実行可能にデータの変換が行われる。
【００５６】
次に、オブジェクトの属性に変化があった場合の動作について説明する。
【００５７】
分散シミュレーション連携装置１００は、オブジェクトの属性の変化の情報を含むオブジェクトデータをシミュレーション装置２５０から受信すると（ステップ１０３１）、受信したオブジェクトデータを記憶部１７０に保存する（ステップ１０３２）。そして、アトリビュート交換部１４０は、オブジェクトデータに含まれるオブジェクトに対応する、ＦＯＭ−Ｂのオブジェクトをマッピングファイルで探す。該当するオブジェクトを見つけると、オブジェクトデータに含まれる属性に対応する、ＦＯＭ−Ｂの属性をマッピングファイルから読み出し、その属性が変化したことを示すデータを生成する（ステップ１０３３）。このようにして、データが変換される。
【００５８】
分散シミュレーション連携装置１００は、ステップ１０３３で変換したデータを情報処理装置４００に送信する（ステップ１０３４）。属性の変化とは、例えば、図４（ａ）に示したマッピングファイルにおいて、ＦＯＭ−Ａの属性２の損耗レベルが１から２になったような場合である。
【００５９】
情報処理装置４００は、分散シミュレーション連携装置１００からオブジェクトデータを受信すると、オブジェクトデータを登録し、オブジェクトデータをシミュレーション装置３５０に送信する。シミュレーション装置３５０は、情報処理装置４００からオブジェクトデータを受信すると、オブジェクトデータにしたがって、対象のオブジェクトの属性を変化させる。なお、シミュレーション装置３５０がオブジェクトデータを分散シミュレーション装置１００に送出した場合も同様である。
【００６０】
このようにして、フェデレーション２００，３００のうちいずれか一方で発生したオブジェクトの属性の変化は、情報処理装置４００に登録されるとともに、他方のフェデレーションにも反映される。
【００６１】
次に、インタラクションが発生した場合の動作を説明する。
【００６２】
分散シミュレーション連携装置１００は、新たに発生したインタラクションの情報を含むインタラクションデータをシミュレーション装置２５０から受信すると（ステップ１０４１）、受信したインタラクションデータを記憶部１７０に保存する（ステップ１０４２）。そして、インタラクション交換部１５０は、発生したインタラクションに対応する、ＦＯＭ−Ｂのインタラクションをマッピングファイルで探す。該当するインタラクションを見つけると、そのインタラクションの情報を含むデータを生成する（ステップ１０４３）。このようにして、データが変換される。
【００６３】
分散シミュレーション連携装置１００は、ステップ１０４３で変換したデータを情報処理装置４００に送信する（ステップ１０４４）。情報処理装置４００は、分散シミュレーション連携装置１００からインタラクションデータを受信すると、インタラクションデータを登録し、インタラクションデータをシミュレーション装置３５０に送信する。シミュレーション装置３５０は、情報処理装置４００からインタラクションデータを受信すると、インタラクションデータが示すインタラクションを発生させる。なお、シミュレーション装置３５０がインタラクションデータを分散シミュレーション装置１００に送出した場合も同様である。
【００６４】
このようにして、フェデレーション２００，３００のうちいずれか一方でインタラクションが発生すると、そのインタラクションが情報処理装置４００に登録されるとともに、インタラクションの発生が他方のフェデレーションにも反映される。
【００６５】
次に、オブジェクトを削除する場合の動作を説明する。
【００６６】
各シミュレーション装置では、操作者によりオブジェクトを削除する旨の指示が入力されると、削除対象のオブジェクトとそのオブジェクトを削除する旨の情報を含むオブジェクトインスタンス削除データを分散シミュレーション連携装置１００に送信する。
【００６７】
分散シミュレーション連携装置１００は、シミュレーション装置２５０からオブジェクトインスタンス削除データを受信すると（ステップ１００４）、オブジェクトインスタンス交換部１３０が、マッピングファイルに基づいて、ＦＯＭ−Ａで規定されたデータをＦＯＭ−Ｂで規定されたデータに変換する（ステップ１０２１）。そして、変換前と変換後の両方のオブジェクトインスタンス削除データを情報処理装置４００に送信する（ステップ１０２２）。
【００６８】
情報処理装置４００は、２種類のオブジェクトインスタンス削除データを分散シミュレーション連携装置１００から受信すると、それらのデータに含まれるオブジェクトの情報を記憶部４３０から削除し、変換後のオブジェクトインスタンス削除データのみをシミュレーション装置３５０に送信する。シミュレーション装置３５０は、情報処理装置４００からオブジェクトインスタンス削除データを受信すると、削除対象のオブジェクトを記憶部２５２で探し、そのオブジェクトの情報を記憶部２５２から削除する。
【００６９】
シミュレーション装置３５０がオブジェクトインスタンス削除データを分散シミュレーション連携装置１００に送出した場合も同様である。また、削除対象のオブジェクトを通知する際に、オブジェクトのＩＤを用いてもよい。
【００７０】
このようにして、フェデレーション２００，３００のうちいずれか一方でオブジェクトが削除されると、そのオブジェクトが情報処理装置４００でも削除されるとともに、オブジェクトの削除が他方のフェデレーションにも反映される。
【００７１】
なお、上述の手順では説明を省略したが、情報処理装置４００は、各フェデレーションのシミュレーションの時間進行速度が異なる場合があるため、データ変換の際に、シミュレーションデータに付与するシミュレーション時間を正しく設定する。
【００７２】
また、双方のシミュレーションデータの表現レベルが異なる場合が考えられる。例えば、一方は戦車１台を１つのオブジェクトデータで表現し、他方は戦車１台を筐体、砲塔、センサー、通信および機動の５つのオブジェクトデータの集まりで表現するような場合である。この場合、一方のシミュレーションのオブジェクトデータを他方のシミュレーションのオブジェクトデータに変換しようとすると、情報の欠落が生じ、正しいシミュレーションを行うことができない。そのため、双方のシミュレーションデータの表現レベルが異なる場合はシミュレーションデータの変換を行わない。
【００７３】
上述のようにして、分散シミュレーション連携装置１００により変換されたシミュレーションデータは、インタフェース部１１０を介して、情報処理装置４００が実行する分散シミュレーション基盤に入力される。そして、分散シミュレーション基盤から送出されるシミュレーションデータは、各シミュレーション装置にそれぞれのシミュレーションに対応する表現で受信され、オブジェクトインスタンスの生成やアトリビュート／パラメータの更新を行うことにより、相互に連携したシミュレーションが行われる。
【００７４】
本実施例では、フェデレーション２００とフェデレーション３００のそれぞれはＦＯＭが異なるが、分散シミュレーション連携装置１００が相互にデータを変換することで、分散シミュレーション基盤上でデータをやり取りすることが可能となる。
【００７５】
分散シミュレーション連携装置１００がシミュレーションデータの変換を行うことにより、シミュレーション装置２５０，３５０および情報処理装置４００からなる分散型シミュレーションシステムの改造を行う必要がなく、相互に連携して動作させることが可能となる。
【００７６】
本発明では、複数のシミュレーションの時間進行とオブジェクトモデルの生成または削除とを管理するシミュレーション基盤を共用するシステムにおいて、オブジェクトモデルの表現を変換するための連携設定情報を予め格納している。そして、複数のシミュレーションのうちいずれかのシミュレーションでオブジェクトモデルの生成または削除があると、対象となるオブジェクトモデルの表現が連携設定情報にしたがって他のシミュレーション用の表現に変換され、そのオブジェクトモデルに生成または削除があったことが他のシミュレーション装置に通知される。使用されるオブジェクトモデルの表現方法が異なる複数のシミュレーションを連携して実行することが可能となる。
【００７７】
分散型シミュレーション基盤を共用し、相互に表現方法の異なるオブジェクトモデルを使用する複数の分散型シミュレーションシステムを、分散シミュレーション連携装置で接続することにより、いずれかの分散型シミュレーションシステムで登録または更新されたシミュレーションデータを自動的に他の分散型シミュレーションシステムに適用することが可能となる。その結果、複数の分散シミュレーションシステムが連携して実行可能となり、互いのシミュレーションに影響を及ぼし合った、統一的なシミュレーション結果を得ることができる。
【００７８】
また、双方のシミュレーション間でやり取りされるシミュレーションデータの変換を、マッピングファイルを参照して行っている。連携対象となるシミュレーションが変更になれば、それに対応して必要なオブジェクトモデルやインタラクションの情報をマッピングファイルに登録すればよい。連携対象のシミュレーションに対応してマッピングファイルを更新することで、マッピングファイルの再利用が図れ、システムの大幅な変更を必要とせず、変更にかかる時間と費用を抑制できる。
【００７９】
なお、上記実施例では、フェデレーション２００，３００のようにシミュレーションが２つの場合で説明したが、ＦＯＭの異なる、３つ以上のシミュレーションに上記方法を適用してもよい。この場合、各シミュレーションに対応してシミュレーション装置がネットワーク５００に接続される。マッピングファイルには、同一内容のモデルについての、シミュレーション毎に異なる表現が登録される。
【００８０】
また、分散シミュレーション連携装置１００の機能を情報処理装置４００が備えるようにしてもよい。図７は本実施例のシミュレーションシステムの別の構成例を示すブロック図である。図７に示す情報処理装置７００は、情報処理装置４００の機能を備えるだけでなく、上述の分散シミュレーション連携装置１００の機能を備えている。
【図面の簡単な説明】
【００８１】
【図１】本実施例のシミュレーションシステムを説明するための図である。
【図２】図１に示したシミュレーションシステムの一構成例を示す図である。
【図３】図２に示したシミュレーション装置の一構成例を示すブロック図である。
【図４】図２に示した情報処理装置の一構成例を示すブロック図である。
【図５】マッピングファイルの一例を示す表である。
【図６】図１に示した分散シミュレーション連携装置の動作手順を示すフローチャートである。
【図７】本実施例のシミュレーションシステムの別の構成例を示すブロック図である。
【符号の説明】
【００８２】
１００    分散シミュレーション連携装置
１７０    記憶部
１８０    制御部
２５０、３５０    シミュレーション装置
４００    情報処理装置
【図１】
2009020801.tif 000003
【図２】
2009020801.tif 000004
【図３】
2009020801.tif 000005
【図４】
2009020801.tif 000006
【図５】
2009020801.tif 000007
【図６】
2009020801.tif 000008
【図７】
2009020801.tif 000009