分散シミュレーションシステム
【課題】フェデレートが模擬する模擬対象物とRTIに登録されるオブジェクトインスタンスの関係が1対複数の関係となるようなシステムにおいて、高速化を実現することのできる分散シミュレーションシステムを得る。
【解決手段】オブジェクトインスタンスの属性値をRTI3とのインタフェースであるUpdate Attribute Valuesを用いて更新を行うフェデレート(1)2aおよび2bは、Update Attribute Valuesの引数であるUser SuppliedTagにオブジェクトインスタンスと模擬対象物との対応をとるための識別子を格納する。
【解決手段】オブジェクトインスタンスの属性値をRTI3とのインタフェースであるUpdate Attribute Valuesを用いて更新を行うフェデレート(1)2aおよび2bは、Update Attribute Valuesの引数であるUser SuppliedTagにオブジェクトインスタンスと模擬対象物との対応をとるための識別子を格納する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、HLAに基づいた分散シミュレーションシステムに関し、特に、模擬対象物とオブジェクトインスタンスの関係が1対複数となるような分散シミュレーションシステムに関するものである。
【背景技術】
【0002】
HLA(High Level Architecture)は、IEEEによって標準化された分散シミュレーションシステムのソフトウェアアーキテクチャである。図1は、HLAによって規定される分散シミュレーションシステムの例を示している。図において、フェデレーション101は、HLAに準拠したシステム全体を示し、フェデレート(1)102a〜フェデレート(n)102nは、システムを構成する個々のシミュレータ等のサブシステムを示す。RTI(Run−Time Infrastructure)103は、複数のフェデレート(1)102a〜フェデレート(n)102nに対する共通機能を提供する基盤ソフトウェアである。FOM(Federation Object Model)104は、フェデレーション101で模擬される航空機などの模擬対象物や、通信などのイベントについてのデータ仕様を定義し、フェデレート(1)102a〜フェデレート(n)102nやRTI103が参照する定義情報である。
【0003】
これらのHLAの機能的側面は非特許文献1〜非特許文献3のドキュメントに規定されており、非特許文献1ではフェデレーションを構築するためのフェデレートとRTIによるフレームワークとルールが、非特許文献2ではフェデレートとRTIの間のインタフェース仕様が、非特許文献3ではFOMの定義方法が規定されている。
【0004】
HLAの特徴の一つは、フェデレーション101が模擬する模擬対象物やイベントのデータの仕様であるFOM104と、そのデータをフェデレート(1)102a〜フェデレート(n)102n間で通信する際に使用するRTI103のインタフェースの仕様が切り離されており、さらにFOM104をフェデレーション101の仕様に合わせてフェデレーション構築者や利用者が自由に定義することができる点であり、このことによってHLAは多種多様な分散シミュレーションシステムに汎用的に適用可能なアーキテクチャとなっていることである。
【0005】
なお、FOM104は自由に定義することが可能であるが、ある種の共通のドメインに属するようなシステムではFOM104を共通化することによって、あるフェデレーション101のために作成したフェデレート(1)102a〜フェデレート(n)102nを別のフェデレーション101で再利用することが容易となる。このような共通化されたFOM104としては、非特許文献4に挙げるRPR−FOMが有名である。RPR−FOMは、軍事作戦や戦闘状況を模擬するシミュレーションシステムで共通的に利用されることを目的に標準化されたFOMであり、模擬対象物としては車両、艦船、航空機などのリアルタイムプラットフォームや、イベントとしては指令通信などが定義されている。RPR−FOMは広く一般的に利用されており、市販されているシミュレータやシミュレーションツールの他、新規に作成されるシミュレーションシステムでもRPR−FOMやその派生FOMが利用されている。
【0006】
次に、図2〜図6を用いて、RPR−FOM104を利用したフェデレーション101の例を説明する。図2はRPR−FOM104における模擬対象物のデータ定義例を示し、図3〜図6はRPR−FOM104を用いたフェデレーション101の動作例を示す。なお、FOMでは、静的に設定された模擬対象物のデータ定義をオブジェクトクラスと呼び、シミュレーション実行中にデータ交換の対象となる具体的な模擬対象物に対応してフェデレート102およびRTI103において動的に作成される対象をオブジェクトインスタンスと呼ぶ。
【0007】
図2は、RPR−FOM104におけるオブジェクトクラスの、BaseEntityクラスからAircraftクラスまでの継承関係を、UML(Unified Model Language)記法のクラス図形式で表した説明図である。Aircraftクラスは、フェデレーション101における模擬対象物として航空機のデータを定義したクラスであり、Platformクラスを継承したクラスである。PlatformクラスはPhysicalEntityクラスを継承し、またPhysicalEntityクラスはBaseEntityクラスを継承しているため、Aircraftクラスは、Platformクラス、PhysicalEntityクラス、BaseEntityクラスの属性を全て含んだクラスとなる。
【0008】
図3〜図6は、フェデレーション101において模擬対象物として航空機を模擬するフェデレート(1)(2)102a,102bと、その航空機の情報を参照する監視システムを模擬するフェデレート(3)102cが、RPR−FOM104のAircraftクラスと、そのクラスを具象化したAircraftインスタンスをどの様に扱うのかを論理的に示した図である。
【0009】
まず、図3は、フェデレーション101の初期化時などにおいて、フェデレート(1)102a〜フェデレート(3)102cがこれから模擬対象物やイベントのデータ交換を行うことをRTI103に通知する状況を示している。図において、航空機を模擬するフェデレート(1)102aおよびフェデレート(2)102bは、RTI103に対し、航空機に対応するAircraftクラスを公開することを宣言し、航空機の情報を参照する監視システムを模擬するフェデレート(3)102cは、RTI103に対し、Aircraftクラスを購読することを宣言する。このように、Aircraftクラスの公開と購読宣言によって、RTI103において、どのデータをどのフェデレート同士でデータ交換行うのかといった関連付けが行われる。
【0010】
次に、図4は、図3の処理が行われた後に、具体的にフェデレート(1)102a〜フェデレート(3)102c間でデータ交換される模擬対象物に対応したオブジェクトインスタンスをRTI103に登録する状況を示している。図4において、航空機クラスを公開宣言したフェデレート(1)102aは、自身が模擬する模擬対象物である航空機Aに対応するAircraftインスタンスのRTI103への登録処理を行う。同様にフェデレート(2)102bも、AircraftインスタンスのRTI103への登録処理を行う。RTI103は、Aircraftインスタンスが登録されると、それぞれのインスタンスに対して識別するためのIDを割り振ると共に、Aircraftクラスの購読宣言を行ったフェデレート(3)102bに対して、Aircraftインスタンスの発見通知を行ってIDを通知する。図4の状況では、フェデレート(1)(2)102a,102bが登録したAircraftインスタンスであるAircraft−AおよびAircraft−Bについての発見通知が行われる。このように、Aircraftインスタンスの登録と発見通知によって、フェデレート(1)102a〜フェデレート(3)102c間でデータ交換される具体的な模擬対象物がRTI103およびフェデレート(1)102a〜フェデレート(3)102cにおいて特定される。
【0011】
次に、図5は、図4の処理が行われた後に、フェデレート(1)102−1とフェデレート(3)102−3の間で模擬対象物である航空機Aのデータ交換がRTI103を介して行われる状況を示している。図5において、フェデレート(1)102−1は自身が模擬している航空機Aの位置情報や状態情報などの属性値を時々刻々と更新すると共に、RTI103に対して登録したAircraftインスタンスであるAircraft−Aの属性値(図の例では、Entity Identifier、World Location、Afterburner On)を更新する。RTI103は、Aircraft−Aの属性値更新が行われると、Aircraft−Aの発見通知を受けていたフェデレート(3)102cに対して属性反映通知を行い、新たな属性値を通知する。
【0012】
図6は、図5の状況をUMLのシーケンス図形式で示した図である。図6では、フェデレート(1)102aとフェデレート(3)102cが、航空機の属性値更新、属性値反映通知に使用するRTI103のAPI(Application Programming Interface)とその代表的な引数を示している。フェデレート(1)102aは、RTI103のUAV(Update Attribute Values)というAPIを使用して属性値更新を行う。UAVの代表的な引数は、属性値更新の対象となるオブジェクトインスタンスのID(Aircraft−A)と、更新される1つ以上の属性値を属性IDをキーとしたデータ構造にまとめたAttributeHandleValueMapである。なお、AttributeHandleValueMapの具体的実装方法についてHLA規約において定められており、プログラミング言語としてC++を使用する場合はstd::map型を使用することが定められている。
【0013】
RTI103はUAVを受けると、その属性値反映通知先となるフェデレート(3)102cに対して、RAV(Reflect Attribute Values)というAPIを使用して属性値反映通知を行う。RAVの引数は、UAVと同じく属性値更新の対象となるオブジェクトインスタンスのID(Aircraft−A)と、更新される1つ以上の属性値を属性IDをキーとしたデータ構造にまとめたAttributeHandleValueMapである。フェデレート(3)102cは、RAVを受け取ると、その引数で渡されたオブジェクトインスタンスのID(Aircraft−A)を基に対応する模擬対象物を特定し、次に、同じく引数で渡されたAttributeHandleValueMapを紐解き、属性IDを基に必要な更新された属性値を取り込む。
【0014】
このように、Aircraftインスタンスの属性値更新と属性値更新反映通知によって、模擬対象物のデータ交換が行われる。
RPR−FOM104では、フェデレート(1)102a〜フェデレート(3)102cが模擬する模擬対象物(図3〜図5では航空機A、航空機B)と、RTI103に登録されるオブジェクトインスタンス(図3〜図5ではAircraft−A、Aircraft−B)が、基本的に1対1の関係となる。
【先行技術文献】
【非特許文献】
【0015】
【非特許文献1】IEEE 1516-2010-Standard for Modeling and Simulation High Level Architecture(HLA)-Framework and Rules.
【非特許文献2】IEEE 1516.1-2010-Standard for Modeling and Simulation High Level Architecture(HLA)-Federate Interface Specification.
【非特許文献3】IEEE 1516.2-2010-Standard for Modeling and Simulation High Level Architecture(HLA)-Object Model Template(OMT) Specification.
【非特許文献4】SISO-STD-001-1999, Guidance,Rationale, and Interoperability Modalities for the Real-time Platform Reference Federation Object Model (RPR FOM)
【発明の概要】
【発明が解決しようとする課題】
【0016】
HLAおよびRPR−FOMに準拠した分散シミュレーションシステムは、フェデレートが模擬する模擬対象物と、RTIに登録されるオブジェクトインスタンスが基本的に1対1の関係となるが、システムの構成によっては1対複数の関係になるシステムも多く存在する。
【0017】
図7は、このような1対複数の関係になる従来のシステムの例として、航空機の移動模擬と状態模擬とをフェデレート(1)102aとフェデレート(2)102bとで分散処理するシステムを示している。図7の例では、1つの模擬対象物である航空機Aに対し、フェデレート(1)102aが移動模擬のデータ交換用にオブジェクトインスタンスAircraft−A−1を登録し、フェデレート(2)102bが状態模擬のデータ交換用にオブジェクトインスタンスAircraft−A−2を登録することにより、フェデレートが模擬する模擬対象物と、RTI103に登録されるオブジェクトインスタンスの関係が1対2になっている。このようなケースでは、属性値を更新するフェデレートは自身が関係する属性値のみを更新するため、フェデレート(1)102aは移動模擬に関係するWorld Locationの属性値を更新し、フェデレート(2)102bは状態模擬に関係するAfterbuner Onの属性値を更新する。しかし、これだけでは属性値が更新されたオブジェクトインスタンスがどの模擬対象物に対応するのかが分からないため、模擬対象物を示す識別子が必要である。図6の例では、属性のEntity Identifierの属性値を識別子として利用し、フェデレート(1)102aとフェデレート(2)102bが同じ値をそれぞれ格納して属性値更新を行う。
【0018】
図8は、図7の状況をUMLのシーケンス図形式で示した図である。図8では、図6に示した1対1の関係になるシステムのシーケンスが、オブジェクトインスタンスが2つになったことによりフェデレート(1)102aとフェデレート(2)102bによって2回行われるようになったことを示している。
【0019】
ここで、フェデレーション101中の全ての模擬対象物について、属性値反映通知を受けるフェデレート(フェデレート(3)102c)が通知されたオブジェクトインスタンスがどの模擬対象物に対応するのかを決定する処理の計算量を、フェデレート(フェデレート(1)(2)102a,102b)が模擬する模擬対象物とRTI103に登録されるオブジェクトインスタンスの関係が、1対1の関係になるシステムと、1対複数の関係になる従来システムとで比較する。
【0020】
まず、1対1の関係になるシステムでは、オブジェクトインスタンスの数をnとすると、属性値反映通知はオブジェクトインスタンス毎に行われ(n回)、さらに模擬対象物とオブジェクトインスタンスの対応が1対1のため、例えばハッシュテーブルなどの対応表を用意すればO(1)の計算量で対応を調べることができる。そのため、全体としての計算量はO(n×1)すなわちO(n)の計算量となる。
【0021】
これに対し、1対複数の関係となる従来システムでは、オブジェクトインスタンスの数をn、属性の数をmとすると、属性値反映通知はオブジェクトインスタンス毎に行われ(n回)、さらに模擬対象物とオブジェクトインスタンスの対応を調べるために、m個の属性の中から識別子を探索する処理が必要となる。例えばプログラミング言語としてC++を利用するシステムでは、前述の通りAttributeHandleValueMapはstd::mapを使用して実装されているため、探索処理の計算量はO(log m)である。そのため、全体としての計算量はO(n×1×log m)すなわちO(n log m)の計算量となる。
【0022】
以上のように、フェデレートが模擬する模擬対象物とRTIに登録されるオブジェクトインスタンスの関係が1対複数の関係となる従来のシステムでは、1対1の関係になるシステムに比べ、属性値反映通知を受けた際の計算量が大きくなる。通常、1対複数の関係となるシステムは、模擬対象物の処理負荷を分散化する目的でフェデレートを分割するが、分割すればするほどオブジェクトインスタンス数が増え、その結果属性値反映通知を受けた際の計算量が増えるような従来のシステムは、分散化によってボトルネックが大きくなり高速化が難しいという課題があった。
【0023】
この発明は上記のような課題を解決するためになされたもので、フェデレートが模擬する模擬対象物とRTIに登録されるオブジェクトインスタンスの関係が1対複数の関係となるようなシステムにおいて、高速化を実現することのできる分散シミュレーションシステムを得ることを目的とする。
【課題を解決するための手段】
【0024】
この発明に係る分散シミュレーションシステムは、HLAに基づいた分散シミュレーションシステムで、分散シミュレーションシステムにおけるフェデレートが模擬する模擬対象物とオブジェクトインスタンスとの関係が1対複数となる分散シミュレーションシステムにおいて、オブジェクトインスタンスの属性値をRTIとのインタフェースであるUpdate Attribute Valuesを用いて更新を行うフェデレートは、Update Attribute Valuesの引数であるUser SuppliedTagにオブジェクトインスタンスと模擬対象物との対応をとるための識別子を格納するようにしたものである。
【発明の効果】
【0025】
この発明の分散シミュレーションシステムは、オブジェクトインスタンスの属性値を更新するフェデレートは、Update Attribute Valuesの引数であるUser SuppliedTagにオブジェクトインスタンスと模擬対象物との対応をとるための識別子を格納するようにしたので、高速化を実現することができる。
【図面の簡単な説明】
【0026】
【図1】HLAによって規定される分散シミュレーションシステムを示す構成図である。
【図2】RPR−FOMにおけるオブジェクトクラスの、BaseEntityクラスからAircraftクラスまでの継承関係を、UML記法のクラス図形式で表した説明図である。
【図3】フェデレートが模擬対象物やイベントのデータ交換を行うことをRTIに通知する状況を示す説明図である。
【図4】フェデレート間でデータ交換される模擬対象物に対応したオブジェクトインスタンスをRTIに登録する状況を示す説明図である。
【図5】フェデレート(1)とフェデレート(3)の間で航空機Aのデータ交換がRTIを介して行われる状況を示す説明図である。
【図6】図5の状況をUMLのシーケンス図形式で示した説明図である。
【図7】RTIに登録されるオブジェクトインスタンスが1対複数の関係となるシステムを示す説明図である。
【図8】図7の状況をUMLのシーケンス図形式で示した説明図である。
【図9】この発明の実施の形態1による分散シミュレーションシステムの説明図である。
【図10】図9の状況をUMLのシーケンス図形式で示した説明図である。
【図11】HLA規約におけるC++言語によるUser Supplied Tagの変数形であるVariable Length Dataクラスの仕様を、UMLのクラス図形式で示す説明図である。
【図12】時刻値と、オブジェクトインスタンスと模擬対象物との対応をとるための識別子として8バイトの整数値をセットする例を示す説明図である。
【発明を実施するための形態】
【0027】
実施の形態1.
フェデレートが模擬する模擬対象物とRTIに登録されるオブジェクトインスタンスの関係が1対複数の関係となるようなシステムにおける従来の問題点は、オブジェクトインスタンスと模擬対象物との対応をとるための識別子を、探索処理が必要なデータ構造であるAttributeHandleValueMapに格納したことである。そのため、オブジェクトインスタンスと模擬対象物との対応をとるための識別子を探索不要な形でUAVとRAVの各APIで扱えれば良い。
【0028】
図9は、フェデレーション1におけるフェデレート(1)2aおよびフェデレート(2)2bの属性値更新において“航空機A”という模擬対象物の識別子を直接渡している状況を示している。ここで、フェデレーション1は、HLAに準拠したシステム全体を示しており、フェデレート(1)2aおよびフェデレート(2)2bは、図7に示したフェデレート(1)102aおよびフェデレート(2)102bと同様に、1つの模擬対象物である航空機Aに対し、フェデレート(1)2aが移動模擬のデータ交換用にオブジェクトインスタンスAircraft−A−1を登録し、フェデレート(2)2bが状態模擬のデータ交換用にオブジェクトインスタンスAircraft−A−2を登録することにより、フェデレートが模擬する模擬対象物と、RTI3に登録されるオブジェクトインスタンスの関係が1対2になっているものである。また、フェデレート(3)2cは、図7のフェデレート(3)102cと同様に、航空機Aの情報を参照する監視システムを模擬するフェデレートである。さらに、RTI3およびRPR−FOM4は、図7のRTI103およびRPR−FOM104と同様である。
【0029】
図10は、図9の状況をUMLのシーケンス図形式で示した図である。このようにUAVとRAVの各APIで識別子が直接参照できれば、属性のEntity Identifierに格納された属性値を探索しなくとも、更新されたオブジェクトインスタンスと模擬対象物を対応付けることが可能である。HLAの規約に反しない形でUAVとRAVの各APIで識別子を直接参照するために、本発明では、UAVおよびRAVのオプション引数であるUser Supplied Tagを使用する。User Supplied Tagは、UAVの呼び出し時に属性値更新を行うフェデレート(フェデレート(1)2a,(2)2b)が任意のデータをセットすると、その属性値の属性値反映通知先のフェデレート(フェデレート(3)2c)でRAVが実行された際に、同じデータがRAVの引数として送信されるものである。User Supplied Tagの利用方法は、HLA規約では特に規定は行われていないが、RPR−FOM4ではUAVの呼び出し時刻を設定することが規定されている。本発明では、このUser Supplied Tagにセットするデータを拡張し、オブジェクトインスタンスと模擬対象物との対応をとるための識別子を格納するものとする。
【0030】
図11に、HLA規約におけるC++言語によるUser Supplied Tagの変数形であるVariable Length Dataクラスの仕様を、UMLのクラス図形式で示す。図11のメソッドのうち、このクラスが保持するデータを参照するdataメソッドやsizeメソッドの仕様と、このクラスが保持するデータをセットするsetDataメソッドの仕様を見て解る通り、このクラスは、データの実体を示すメモリ上の先頭ポインタをvoid*型で、データのメモリ上の長さをsize_t形でアクセスする形式である。つまり、User Supplied Tagは、可変長の任意のバイト列を設定することができる。
【0031】
図12に、RPR−FOM4で規定されたUser Supplied Tagへの時刻値設定を拡張し、時刻値と、オブジェクトインスタンスと模擬対象物との対応をとるための識別子として8バイトの整数値をセットする例を示す。RPR−FOM4では、User Supplied Tagの先頭0バイト目から8バイト分の領域にDIS time stamp型による時刻値を格納することが決められており、その後にどのようなデータを格納するか、もしくはしないかは規定されていない。そこで、先頭9バイト目から8バイト分の領域に、時刻値とオブジェクトインスタンスと模擬対象物との対応をとるための識別子(図12ではEntityID)を格納する。
【0032】
以上のように、UAVおよびRAVのオプション引数であるUser Supplied Tagを利用することで、オブジェクトインスタンスと模擬対象物との対応をとるための識別子を、探索不要な形式でUAVおよびRAVで扱えることになる。このことによって、フェデレート(フェデレート(1)2a,(2)2b)が模擬する模擬対象物とRTI3に登録されるオブジェクトインスタンスの関係が1対複数の関係となるようなシステムにおいて、フェデレート(1)2a中の全ての模擬対象物について属性値反映通知を受けるフェデレート(フェデレート(3)2c)が、通知されたオブジェクトインスタンスがどの模擬対象物に対応するのかを決定する処理の計算量は、オブジェクトインスタンスの数をnとした際にO(n)となり、フェデレート(フェデレート(1)2a,(2)2b)が模擬する模擬対象物とRTI3に登録されるオブジェクトインスタンスの関係が1対1の関係になるシステムと同じ計算量にすることが可能となる。そのため、分散化によるボトルネックを減らすことが可能となり、高速化を実現することができる。
【0033】
以上説明したように、実施の形態1の分散シミュレーションシステムによれば、HLAに基づいた分散シミュレーションシステムで、分散シミュレーションシステムにおけるフェデレートが模擬する模擬対象物とオブジェクトインスタンスとの関係が1対複数となる分散シミュレーションシステムにおいて、オブジェクトインスタンスの属性値をRTIとのインタフェースであるUpdate Attribute Valuesを用いて更新を行うフェデレートは、Update Attribute Valuesの引数であるUser Supplied Tagにオブジェクトインスタンスと模擬対象物との対応をとるための識別子を格納するようにしたので、分散化によるボトルネックを減らすことが可能となり、高速化を実現することができる。
【0034】
また、実施の形態1の分散シミュレーションシステムによれば、HLAに基づいた分散シミュレーションシステムで、分散シミュレーションシステムにおけるフェデレートが模擬する模擬対象物とオブジェクトインスタンスとの関係が1対複数となる分散シミュレーションシステムにおいて、オブジェクトインスタンスの属性値をRTIとのインタフェースであるReflect Attribute Valuesを用いて更新反映通知を受けるフェデレートは、Reflect Attribute Valuesの引数であるUser Supplied Tagに格納されているオブジェクトインスタンスと模擬対象物との対応をとるための識別子を用いるようにしたので、分散化によるボトルネックを減らすことが可能となり、高速化を実現することができる。
【0035】
また、実施の形態1の分散シミュレーションシステムによれば、RPR−FOMを利用するHLAに基づいた分散シミュレーションシステムであって、フェデレートは、User Supplied Tagに、時刻値に続いてオブジェクトインスタンスと模擬対象物との対応をとるための識別子を格納するようにしたので、RPR−FOMで規定されたUser Supplied Tagへの時刻値設定を利用して容易に高速化を実現することができる。
【0036】
また、実施の形態1の分散シミュレーションシステムによれば、RPR−FOMを利用するHLAに基づいた分散シミュレーションシステムであって、フェデレートは、User SuppliedTagに、時刻値に続いて格納されているオブジェクトインスタンスと模擬対象物との対応をとるための識別子を用いるようにしたので、RPR−FOMで規定されたUser SuppliedTagへの時刻値設定を利用して容易に高速化を実現することができる。
【0037】
なお、本願発明はその発明の範囲内において、実施の形態の任意の構成要素の変形、もしくは実施の形態の任意の構成要素の省略が可能である。
【符号の説明】
【0038】
1 フェデレーション、2a,2b,2c フェデレート、3 RTI、4 RPR−FOM。
【技術分野】
【0001】
本発明は、HLAに基づいた分散シミュレーションシステムに関し、特に、模擬対象物とオブジェクトインスタンスの関係が1対複数となるような分散シミュレーションシステムに関するものである。
【背景技術】
【0002】
HLA(High Level Architecture)は、IEEEによって標準化された分散シミュレーションシステムのソフトウェアアーキテクチャである。図1は、HLAによって規定される分散シミュレーションシステムの例を示している。図において、フェデレーション101は、HLAに準拠したシステム全体を示し、フェデレート(1)102a〜フェデレート(n)102nは、システムを構成する個々のシミュレータ等のサブシステムを示す。RTI(Run−Time Infrastructure)103は、複数のフェデレート(1)102a〜フェデレート(n)102nに対する共通機能を提供する基盤ソフトウェアである。FOM(Federation Object Model)104は、フェデレーション101で模擬される航空機などの模擬対象物や、通信などのイベントについてのデータ仕様を定義し、フェデレート(1)102a〜フェデレート(n)102nやRTI103が参照する定義情報である。
【0003】
これらのHLAの機能的側面は非特許文献1〜非特許文献3のドキュメントに規定されており、非特許文献1ではフェデレーションを構築するためのフェデレートとRTIによるフレームワークとルールが、非特許文献2ではフェデレートとRTIの間のインタフェース仕様が、非特許文献3ではFOMの定義方法が規定されている。
【0004】
HLAの特徴の一つは、フェデレーション101が模擬する模擬対象物やイベントのデータの仕様であるFOM104と、そのデータをフェデレート(1)102a〜フェデレート(n)102n間で通信する際に使用するRTI103のインタフェースの仕様が切り離されており、さらにFOM104をフェデレーション101の仕様に合わせてフェデレーション構築者や利用者が自由に定義することができる点であり、このことによってHLAは多種多様な分散シミュレーションシステムに汎用的に適用可能なアーキテクチャとなっていることである。
【0005】
なお、FOM104は自由に定義することが可能であるが、ある種の共通のドメインに属するようなシステムではFOM104を共通化することによって、あるフェデレーション101のために作成したフェデレート(1)102a〜フェデレート(n)102nを別のフェデレーション101で再利用することが容易となる。このような共通化されたFOM104としては、非特許文献4に挙げるRPR−FOMが有名である。RPR−FOMは、軍事作戦や戦闘状況を模擬するシミュレーションシステムで共通的に利用されることを目的に標準化されたFOMであり、模擬対象物としては車両、艦船、航空機などのリアルタイムプラットフォームや、イベントとしては指令通信などが定義されている。RPR−FOMは広く一般的に利用されており、市販されているシミュレータやシミュレーションツールの他、新規に作成されるシミュレーションシステムでもRPR−FOMやその派生FOMが利用されている。
【0006】
次に、図2〜図6を用いて、RPR−FOM104を利用したフェデレーション101の例を説明する。図2はRPR−FOM104における模擬対象物のデータ定義例を示し、図3〜図6はRPR−FOM104を用いたフェデレーション101の動作例を示す。なお、FOMでは、静的に設定された模擬対象物のデータ定義をオブジェクトクラスと呼び、シミュレーション実行中にデータ交換の対象となる具体的な模擬対象物に対応してフェデレート102およびRTI103において動的に作成される対象をオブジェクトインスタンスと呼ぶ。
【0007】
図2は、RPR−FOM104におけるオブジェクトクラスの、BaseEntityクラスからAircraftクラスまでの継承関係を、UML(Unified Model Language)記法のクラス図形式で表した説明図である。Aircraftクラスは、フェデレーション101における模擬対象物として航空機のデータを定義したクラスであり、Platformクラスを継承したクラスである。PlatformクラスはPhysicalEntityクラスを継承し、またPhysicalEntityクラスはBaseEntityクラスを継承しているため、Aircraftクラスは、Platformクラス、PhysicalEntityクラス、BaseEntityクラスの属性を全て含んだクラスとなる。
【0008】
図3〜図6は、フェデレーション101において模擬対象物として航空機を模擬するフェデレート(1)(2)102a,102bと、その航空機の情報を参照する監視システムを模擬するフェデレート(3)102cが、RPR−FOM104のAircraftクラスと、そのクラスを具象化したAircraftインスタンスをどの様に扱うのかを論理的に示した図である。
【0009】
まず、図3は、フェデレーション101の初期化時などにおいて、フェデレート(1)102a〜フェデレート(3)102cがこれから模擬対象物やイベントのデータ交換を行うことをRTI103に通知する状況を示している。図において、航空機を模擬するフェデレート(1)102aおよびフェデレート(2)102bは、RTI103に対し、航空機に対応するAircraftクラスを公開することを宣言し、航空機の情報を参照する監視システムを模擬するフェデレート(3)102cは、RTI103に対し、Aircraftクラスを購読することを宣言する。このように、Aircraftクラスの公開と購読宣言によって、RTI103において、どのデータをどのフェデレート同士でデータ交換行うのかといった関連付けが行われる。
【0010】
次に、図4は、図3の処理が行われた後に、具体的にフェデレート(1)102a〜フェデレート(3)102c間でデータ交換される模擬対象物に対応したオブジェクトインスタンスをRTI103に登録する状況を示している。図4において、航空機クラスを公開宣言したフェデレート(1)102aは、自身が模擬する模擬対象物である航空機Aに対応するAircraftインスタンスのRTI103への登録処理を行う。同様にフェデレート(2)102bも、AircraftインスタンスのRTI103への登録処理を行う。RTI103は、Aircraftインスタンスが登録されると、それぞれのインスタンスに対して識別するためのIDを割り振ると共に、Aircraftクラスの購読宣言を行ったフェデレート(3)102bに対して、Aircraftインスタンスの発見通知を行ってIDを通知する。図4の状況では、フェデレート(1)(2)102a,102bが登録したAircraftインスタンスであるAircraft−AおよびAircraft−Bについての発見通知が行われる。このように、Aircraftインスタンスの登録と発見通知によって、フェデレート(1)102a〜フェデレート(3)102c間でデータ交換される具体的な模擬対象物がRTI103およびフェデレート(1)102a〜フェデレート(3)102cにおいて特定される。
【0011】
次に、図5は、図4の処理が行われた後に、フェデレート(1)102−1とフェデレート(3)102−3の間で模擬対象物である航空機Aのデータ交換がRTI103を介して行われる状況を示している。図5において、フェデレート(1)102−1は自身が模擬している航空機Aの位置情報や状態情報などの属性値を時々刻々と更新すると共に、RTI103に対して登録したAircraftインスタンスであるAircraft−Aの属性値(図の例では、Entity Identifier、World Location、Afterburner On)を更新する。RTI103は、Aircraft−Aの属性値更新が行われると、Aircraft−Aの発見通知を受けていたフェデレート(3)102cに対して属性反映通知を行い、新たな属性値を通知する。
【0012】
図6は、図5の状況をUMLのシーケンス図形式で示した図である。図6では、フェデレート(1)102aとフェデレート(3)102cが、航空機の属性値更新、属性値反映通知に使用するRTI103のAPI(Application Programming Interface)とその代表的な引数を示している。フェデレート(1)102aは、RTI103のUAV(Update Attribute Values)というAPIを使用して属性値更新を行う。UAVの代表的な引数は、属性値更新の対象となるオブジェクトインスタンスのID(Aircraft−A)と、更新される1つ以上の属性値を属性IDをキーとしたデータ構造にまとめたAttributeHandleValueMapである。なお、AttributeHandleValueMapの具体的実装方法についてHLA規約において定められており、プログラミング言語としてC++を使用する場合はstd::map型を使用することが定められている。
【0013】
RTI103はUAVを受けると、その属性値反映通知先となるフェデレート(3)102cに対して、RAV(Reflect Attribute Values)というAPIを使用して属性値反映通知を行う。RAVの引数は、UAVと同じく属性値更新の対象となるオブジェクトインスタンスのID(Aircraft−A)と、更新される1つ以上の属性値を属性IDをキーとしたデータ構造にまとめたAttributeHandleValueMapである。フェデレート(3)102cは、RAVを受け取ると、その引数で渡されたオブジェクトインスタンスのID(Aircraft−A)を基に対応する模擬対象物を特定し、次に、同じく引数で渡されたAttributeHandleValueMapを紐解き、属性IDを基に必要な更新された属性値を取り込む。
【0014】
このように、Aircraftインスタンスの属性値更新と属性値更新反映通知によって、模擬対象物のデータ交換が行われる。
RPR−FOM104では、フェデレート(1)102a〜フェデレート(3)102cが模擬する模擬対象物(図3〜図5では航空機A、航空機B)と、RTI103に登録されるオブジェクトインスタンス(図3〜図5ではAircraft−A、Aircraft−B)が、基本的に1対1の関係となる。
【先行技術文献】
【非特許文献】
【0015】
【非特許文献1】IEEE 1516-2010-Standard for Modeling and Simulation High Level Architecture(HLA)-Framework and Rules.
【非特許文献2】IEEE 1516.1-2010-Standard for Modeling and Simulation High Level Architecture(HLA)-Federate Interface Specification.
【非特許文献3】IEEE 1516.2-2010-Standard for Modeling and Simulation High Level Architecture(HLA)-Object Model Template(OMT) Specification.
【非特許文献4】SISO-STD-001-1999, Guidance,Rationale, and Interoperability Modalities for the Real-time Platform Reference Federation Object Model (RPR FOM)
【発明の概要】
【発明が解決しようとする課題】
【0016】
HLAおよびRPR−FOMに準拠した分散シミュレーションシステムは、フェデレートが模擬する模擬対象物と、RTIに登録されるオブジェクトインスタンスが基本的に1対1の関係となるが、システムの構成によっては1対複数の関係になるシステムも多く存在する。
【0017】
図7は、このような1対複数の関係になる従来のシステムの例として、航空機の移動模擬と状態模擬とをフェデレート(1)102aとフェデレート(2)102bとで分散処理するシステムを示している。図7の例では、1つの模擬対象物である航空機Aに対し、フェデレート(1)102aが移動模擬のデータ交換用にオブジェクトインスタンスAircraft−A−1を登録し、フェデレート(2)102bが状態模擬のデータ交換用にオブジェクトインスタンスAircraft−A−2を登録することにより、フェデレートが模擬する模擬対象物と、RTI103に登録されるオブジェクトインスタンスの関係が1対2になっている。このようなケースでは、属性値を更新するフェデレートは自身が関係する属性値のみを更新するため、フェデレート(1)102aは移動模擬に関係するWorld Locationの属性値を更新し、フェデレート(2)102bは状態模擬に関係するAfterbuner Onの属性値を更新する。しかし、これだけでは属性値が更新されたオブジェクトインスタンスがどの模擬対象物に対応するのかが分からないため、模擬対象物を示す識別子が必要である。図6の例では、属性のEntity Identifierの属性値を識別子として利用し、フェデレート(1)102aとフェデレート(2)102bが同じ値をそれぞれ格納して属性値更新を行う。
【0018】
図8は、図7の状況をUMLのシーケンス図形式で示した図である。図8では、図6に示した1対1の関係になるシステムのシーケンスが、オブジェクトインスタンスが2つになったことによりフェデレート(1)102aとフェデレート(2)102bによって2回行われるようになったことを示している。
【0019】
ここで、フェデレーション101中の全ての模擬対象物について、属性値反映通知を受けるフェデレート(フェデレート(3)102c)が通知されたオブジェクトインスタンスがどの模擬対象物に対応するのかを決定する処理の計算量を、フェデレート(フェデレート(1)(2)102a,102b)が模擬する模擬対象物とRTI103に登録されるオブジェクトインスタンスの関係が、1対1の関係になるシステムと、1対複数の関係になる従来システムとで比較する。
【0020】
まず、1対1の関係になるシステムでは、オブジェクトインスタンスの数をnとすると、属性値反映通知はオブジェクトインスタンス毎に行われ(n回)、さらに模擬対象物とオブジェクトインスタンスの対応が1対1のため、例えばハッシュテーブルなどの対応表を用意すればO(1)の計算量で対応を調べることができる。そのため、全体としての計算量はO(n×1)すなわちO(n)の計算量となる。
【0021】
これに対し、1対複数の関係となる従来システムでは、オブジェクトインスタンスの数をn、属性の数をmとすると、属性値反映通知はオブジェクトインスタンス毎に行われ(n回)、さらに模擬対象物とオブジェクトインスタンスの対応を調べるために、m個の属性の中から識別子を探索する処理が必要となる。例えばプログラミング言語としてC++を利用するシステムでは、前述の通りAttributeHandleValueMapはstd::mapを使用して実装されているため、探索処理の計算量はO(log m)である。そのため、全体としての計算量はO(n×1×log m)すなわちO(n log m)の計算量となる。
【0022】
以上のように、フェデレートが模擬する模擬対象物とRTIに登録されるオブジェクトインスタンスの関係が1対複数の関係となる従来のシステムでは、1対1の関係になるシステムに比べ、属性値反映通知を受けた際の計算量が大きくなる。通常、1対複数の関係となるシステムは、模擬対象物の処理負荷を分散化する目的でフェデレートを分割するが、分割すればするほどオブジェクトインスタンス数が増え、その結果属性値反映通知を受けた際の計算量が増えるような従来のシステムは、分散化によってボトルネックが大きくなり高速化が難しいという課題があった。
【0023】
この発明は上記のような課題を解決するためになされたもので、フェデレートが模擬する模擬対象物とRTIに登録されるオブジェクトインスタンスの関係が1対複数の関係となるようなシステムにおいて、高速化を実現することのできる分散シミュレーションシステムを得ることを目的とする。
【課題を解決するための手段】
【0024】
この発明に係る分散シミュレーションシステムは、HLAに基づいた分散シミュレーションシステムで、分散シミュレーションシステムにおけるフェデレートが模擬する模擬対象物とオブジェクトインスタンスとの関係が1対複数となる分散シミュレーションシステムにおいて、オブジェクトインスタンスの属性値をRTIとのインタフェースであるUpdate Attribute Valuesを用いて更新を行うフェデレートは、Update Attribute Valuesの引数であるUser SuppliedTagにオブジェクトインスタンスと模擬対象物との対応をとるための識別子を格納するようにしたものである。
【発明の効果】
【0025】
この発明の分散シミュレーションシステムは、オブジェクトインスタンスの属性値を更新するフェデレートは、Update Attribute Valuesの引数であるUser SuppliedTagにオブジェクトインスタンスと模擬対象物との対応をとるための識別子を格納するようにしたので、高速化を実現することができる。
【図面の簡単な説明】
【0026】
【図1】HLAによって規定される分散シミュレーションシステムを示す構成図である。
【図2】RPR−FOMにおけるオブジェクトクラスの、BaseEntityクラスからAircraftクラスまでの継承関係を、UML記法のクラス図形式で表した説明図である。
【図3】フェデレートが模擬対象物やイベントのデータ交換を行うことをRTIに通知する状況を示す説明図である。
【図4】フェデレート間でデータ交換される模擬対象物に対応したオブジェクトインスタンスをRTIに登録する状況を示す説明図である。
【図5】フェデレート(1)とフェデレート(3)の間で航空機Aのデータ交換がRTIを介して行われる状況を示す説明図である。
【図6】図5の状況をUMLのシーケンス図形式で示した説明図である。
【図7】RTIに登録されるオブジェクトインスタンスが1対複数の関係となるシステムを示す説明図である。
【図8】図7の状況をUMLのシーケンス図形式で示した説明図である。
【図9】この発明の実施の形態1による分散シミュレーションシステムの説明図である。
【図10】図9の状況をUMLのシーケンス図形式で示した説明図である。
【図11】HLA規約におけるC++言語によるUser Supplied Tagの変数形であるVariable Length Dataクラスの仕様を、UMLのクラス図形式で示す説明図である。
【図12】時刻値と、オブジェクトインスタンスと模擬対象物との対応をとるための識別子として8バイトの整数値をセットする例を示す説明図である。
【発明を実施するための形態】
【0027】
実施の形態1.
フェデレートが模擬する模擬対象物とRTIに登録されるオブジェクトインスタンスの関係が1対複数の関係となるようなシステムにおける従来の問題点は、オブジェクトインスタンスと模擬対象物との対応をとるための識別子を、探索処理が必要なデータ構造であるAttributeHandleValueMapに格納したことである。そのため、オブジェクトインスタンスと模擬対象物との対応をとるための識別子を探索不要な形でUAVとRAVの各APIで扱えれば良い。
【0028】
図9は、フェデレーション1におけるフェデレート(1)2aおよびフェデレート(2)2bの属性値更新において“航空機A”という模擬対象物の識別子を直接渡している状況を示している。ここで、フェデレーション1は、HLAに準拠したシステム全体を示しており、フェデレート(1)2aおよびフェデレート(2)2bは、図7に示したフェデレート(1)102aおよびフェデレート(2)102bと同様に、1つの模擬対象物である航空機Aに対し、フェデレート(1)2aが移動模擬のデータ交換用にオブジェクトインスタンスAircraft−A−1を登録し、フェデレート(2)2bが状態模擬のデータ交換用にオブジェクトインスタンスAircraft−A−2を登録することにより、フェデレートが模擬する模擬対象物と、RTI3に登録されるオブジェクトインスタンスの関係が1対2になっているものである。また、フェデレート(3)2cは、図7のフェデレート(3)102cと同様に、航空機Aの情報を参照する監視システムを模擬するフェデレートである。さらに、RTI3およびRPR−FOM4は、図7のRTI103およびRPR−FOM104と同様である。
【0029】
図10は、図9の状況をUMLのシーケンス図形式で示した図である。このようにUAVとRAVの各APIで識別子が直接参照できれば、属性のEntity Identifierに格納された属性値を探索しなくとも、更新されたオブジェクトインスタンスと模擬対象物を対応付けることが可能である。HLAの規約に反しない形でUAVとRAVの各APIで識別子を直接参照するために、本発明では、UAVおよびRAVのオプション引数であるUser Supplied Tagを使用する。User Supplied Tagは、UAVの呼び出し時に属性値更新を行うフェデレート(フェデレート(1)2a,(2)2b)が任意のデータをセットすると、その属性値の属性値反映通知先のフェデレート(フェデレート(3)2c)でRAVが実行された際に、同じデータがRAVの引数として送信されるものである。User Supplied Tagの利用方法は、HLA規約では特に規定は行われていないが、RPR−FOM4ではUAVの呼び出し時刻を設定することが規定されている。本発明では、このUser Supplied Tagにセットするデータを拡張し、オブジェクトインスタンスと模擬対象物との対応をとるための識別子を格納するものとする。
【0030】
図11に、HLA規約におけるC++言語によるUser Supplied Tagの変数形であるVariable Length Dataクラスの仕様を、UMLのクラス図形式で示す。図11のメソッドのうち、このクラスが保持するデータを参照するdataメソッドやsizeメソッドの仕様と、このクラスが保持するデータをセットするsetDataメソッドの仕様を見て解る通り、このクラスは、データの実体を示すメモリ上の先頭ポインタをvoid*型で、データのメモリ上の長さをsize_t形でアクセスする形式である。つまり、User Supplied Tagは、可変長の任意のバイト列を設定することができる。
【0031】
図12に、RPR−FOM4で規定されたUser Supplied Tagへの時刻値設定を拡張し、時刻値と、オブジェクトインスタンスと模擬対象物との対応をとるための識別子として8バイトの整数値をセットする例を示す。RPR−FOM4では、User Supplied Tagの先頭0バイト目から8バイト分の領域にDIS time stamp型による時刻値を格納することが決められており、その後にどのようなデータを格納するか、もしくはしないかは規定されていない。そこで、先頭9バイト目から8バイト分の領域に、時刻値とオブジェクトインスタンスと模擬対象物との対応をとるための識別子(図12ではEntityID)を格納する。
【0032】
以上のように、UAVおよびRAVのオプション引数であるUser Supplied Tagを利用することで、オブジェクトインスタンスと模擬対象物との対応をとるための識別子を、探索不要な形式でUAVおよびRAVで扱えることになる。このことによって、フェデレート(フェデレート(1)2a,(2)2b)が模擬する模擬対象物とRTI3に登録されるオブジェクトインスタンスの関係が1対複数の関係となるようなシステムにおいて、フェデレート(1)2a中の全ての模擬対象物について属性値反映通知を受けるフェデレート(フェデレート(3)2c)が、通知されたオブジェクトインスタンスがどの模擬対象物に対応するのかを決定する処理の計算量は、オブジェクトインスタンスの数をnとした際にO(n)となり、フェデレート(フェデレート(1)2a,(2)2b)が模擬する模擬対象物とRTI3に登録されるオブジェクトインスタンスの関係が1対1の関係になるシステムと同じ計算量にすることが可能となる。そのため、分散化によるボトルネックを減らすことが可能となり、高速化を実現することができる。
【0033】
以上説明したように、実施の形態1の分散シミュレーションシステムによれば、HLAに基づいた分散シミュレーションシステムで、分散シミュレーションシステムにおけるフェデレートが模擬する模擬対象物とオブジェクトインスタンスとの関係が1対複数となる分散シミュレーションシステムにおいて、オブジェクトインスタンスの属性値をRTIとのインタフェースであるUpdate Attribute Valuesを用いて更新を行うフェデレートは、Update Attribute Valuesの引数であるUser Supplied Tagにオブジェクトインスタンスと模擬対象物との対応をとるための識別子を格納するようにしたので、分散化によるボトルネックを減らすことが可能となり、高速化を実現することができる。
【0034】
また、実施の形態1の分散シミュレーションシステムによれば、HLAに基づいた分散シミュレーションシステムで、分散シミュレーションシステムにおけるフェデレートが模擬する模擬対象物とオブジェクトインスタンスとの関係が1対複数となる分散シミュレーションシステムにおいて、オブジェクトインスタンスの属性値をRTIとのインタフェースであるReflect Attribute Valuesを用いて更新反映通知を受けるフェデレートは、Reflect Attribute Valuesの引数であるUser Supplied Tagに格納されているオブジェクトインスタンスと模擬対象物との対応をとるための識別子を用いるようにしたので、分散化によるボトルネックを減らすことが可能となり、高速化を実現することができる。
【0035】
また、実施の形態1の分散シミュレーションシステムによれば、RPR−FOMを利用するHLAに基づいた分散シミュレーションシステムであって、フェデレートは、User Supplied Tagに、時刻値に続いてオブジェクトインスタンスと模擬対象物との対応をとるための識別子を格納するようにしたので、RPR−FOMで規定されたUser Supplied Tagへの時刻値設定を利用して容易に高速化を実現することができる。
【0036】
また、実施の形態1の分散シミュレーションシステムによれば、RPR−FOMを利用するHLAに基づいた分散シミュレーションシステムであって、フェデレートは、User SuppliedTagに、時刻値に続いて格納されているオブジェクトインスタンスと模擬対象物との対応をとるための識別子を用いるようにしたので、RPR−FOMで規定されたUser SuppliedTagへの時刻値設定を利用して容易に高速化を実現することができる。
【0037】
なお、本願発明はその発明の範囲内において、実施の形態の任意の構成要素の変形、もしくは実施の形態の任意の構成要素の省略が可能である。
【符号の説明】
【0038】
1 フェデレーション、2a,2b,2c フェデレート、3 RTI、4 RPR−FOM。
【特許請求の範囲】
【請求項1】
HLAに基づいた分散シミュレーションシステムで、当該分散シミュレーションシステムにおけるフェデレートが模擬する模擬対象物とオブジェクトインスタンスとの関係が1対複数となる分散シミュレーションシステムにおいて、
前記オブジェクトインスタンスの属性値をRTIとのインタフェースであるUpdate Attribute Valuesを用いて更新を行うフェデレートは、
前記Update Attribute Valuesの引数であるUser Supplied Tagに前記オブジェクトインスタンスと前記模擬対象物との対応をとるための識別子を格納することを特徴とする分散シミュレーションシステム。
【請求項2】
HLAに基づいた分散シミュレーションシステムで、当該分散シミュレーションシステムにおけるフェデレートが模擬する模擬対象物とオブジェクトインスタンスとの関係が1対複数となる分散シミュレーションシステムにおいて、
前記オブジェクトインスタンスの属性値をRTIとのインタフェースであるReflect Attribute Valuesを用いて更新反映通知を受けるフェデレートは、
前記Reflect Attribute Valuesの引数であるUser Supplied Tagに格納されている前記オブジェクトインスタンスと前記模擬対象物との対応をとるための識別子を用いることを特徴とする分散シミュレーションシステム。
【請求項3】
RPR−FOMを利用するHLAに基づいた分散シミュレーションシステムであって、
フェデレートは、User Supplied Tagに、時刻値に続いてオブジェクトインスタンスと模擬対象物との対応をとるための識別子を格納することを特徴とする請求項1記載の分散シミュレーションシステム。
【請求項4】
RPR−FOMを利用するHLAに基づいた分散シミュレーションシステムであって、
フェデレートは、User Supplied Tagに、時刻値に続いて格納されているオブジェクトインスタンスと模擬対象物との対応をとるための識別子を用いることを特徴とする請求項2記載の分散シミュレーションシステム。
【請求項1】
HLAに基づいた分散シミュレーションシステムで、当該分散シミュレーションシステムにおけるフェデレートが模擬する模擬対象物とオブジェクトインスタンスとの関係が1対複数となる分散シミュレーションシステムにおいて、
前記オブジェクトインスタンスの属性値をRTIとのインタフェースであるUpdate Attribute Valuesを用いて更新を行うフェデレートは、
前記Update Attribute Valuesの引数であるUser Supplied Tagに前記オブジェクトインスタンスと前記模擬対象物との対応をとるための識別子を格納することを特徴とする分散シミュレーションシステム。
【請求項2】
HLAに基づいた分散シミュレーションシステムで、当該分散シミュレーションシステムにおけるフェデレートが模擬する模擬対象物とオブジェクトインスタンスとの関係が1対複数となる分散シミュレーションシステムにおいて、
前記オブジェクトインスタンスの属性値をRTIとのインタフェースであるReflect Attribute Valuesを用いて更新反映通知を受けるフェデレートは、
前記Reflect Attribute Valuesの引数であるUser Supplied Tagに格納されている前記オブジェクトインスタンスと前記模擬対象物との対応をとるための識別子を用いることを特徴とする分散シミュレーションシステム。
【請求項3】
RPR−FOMを利用するHLAに基づいた分散シミュレーションシステムであって、
フェデレートは、User Supplied Tagに、時刻値に続いてオブジェクトインスタンスと模擬対象物との対応をとるための識別子を格納することを特徴とする請求項1記載の分散シミュレーションシステム。
【請求項4】
RPR−FOMを利用するHLAに基づいた分散シミュレーションシステムであって、
フェデレートは、User Supplied Tagに、時刻値に続いて格納されているオブジェクトインスタンスと模擬対象物との対応をとるための識別子を用いることを特徴とする請求項2記載の分散シミュレーションシステム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2013−109716(P2013−109716A)
【公開日】平成25年6月6日(2013.6.6)
【国際特許分類】
【出願番号】特願2011−256317(P2011−256317)
【出願日】平成23年11月24日(2011.11.24)
【出願人】(000006013)三菱電機株式会社 (33,312)
【公開日】平成25年6月6日(2013.6.6)
【国際特許分類】
【出願日】平成23年11月24日(2011.11.24)
【出願人】(000006013)三菱電機株式会社 (33,312)
[ Back to top ]