"HLAに基づいた分散シミュレーションシステムで、当該分散シミュレーションシステムにおけるフェデレートが模擬する模擬対象物とオブジェクトインスタンスとの関係が1対複数となる分散シミュレーションシステムにおいて、前記オブジェクトインスタンスの属性値をRTIとのインタフェースであるUpdateAttributeValuesを用いて更新を行うフェデレートは、前記UpdateAttributeValuesの引数であるUserSuppliedTagに前記オブジェクトインスタンスと前記模擬対象物との対応をとるための識別子を格納することを特徴とする分散シミュレーションシステム。HLAに基づいた分散シミュレーションシステムで、当該分散シミュレーションシステムにおけるフェデレートが模擬する模擬対象物とオブジェクトインスタンスとの関係が1対複数となる分散シミュレーションシステムにおいて、前記オブジェクトインスタンスの属性値をRTIとのインタフェースであるReflectAttributeValuesを用いて更新反映通知を受けるフェデレートは、前記ReflectAttributeValuesの引数であるUserSuppliedTagに格納されている前記オブジェクトインスタンスと前記模擬対象物との対応をとるための識別子を用いることを特徴とする分散シミュレーションシステム。RPR-FOMを利用するHLAに基づいた分散シミュレーションシステムであって、フェデレートは、UserSuppliedTagに、時刻値に続いてオブジェクトインスタンスと模擬対象物との対応をとるための識別子を格納することを特徴とする請求項1記載の分散シミュレーションシステム。RPR-FOMを利用するHLAに基づいた分散シミュレーションシステムであって、フェデレートは、UserSuppliedTagに、時刻値に続いて格納されているオブジェクトインスタンスと模擬対象物との対応をとるための識別子を用いることを特徴とする請求項2記載の分散シミュレーションシステム。HLAおよびRPR-FOMに準拠した分散シミュレーションシステムは、フェデレートが模擬する模擬対象物と、RTIに登録されるオブジェクトインスタンスが基本的に1対1の関係となるが、システムの構成によっては1対複数の関係になるシステムも多く存在する。図7は、このような1対複数の関係になる従来のシステムの例として、航空機の移動模擬と状態模擬とをフェデレート1102aとフェデレート2102bとで分散処理するシステムを示している。図7の例では、1つの模擬対象物である航空機Aに対し、フェデレート1102aが移動模擬のデータ交換用にオブジェクトインスタンスAircraft-A-1を登録し、フェデレート2102bが状態模擬のデータ交換用にオブジェクトインスタンスAircraft-A-2を登録することにより、フェデレートが模擬する模擬対象物と、RTI103に登録されるオブジェクトインスタンスの関係が1対2になっている。このようなケースでは、属性値を更新するフェデレートは自身が関係する属性値のみを更新するため、フェデレート1102aは移動模擬に関係するWorldLocationの属性値を更新し、フェデレート2102bは状態模擬に関係するAfterbunerOnの属性値を更新する。しかし、これだけでは属性値が更新されたオブジェクトインスタンスがどの模擬対象物に対応するのかが分からないため、模擬対象物を示す識別子が必要である。図6の例では、属性のEntityIdentifierの属性値を識別子として利用し、フェデレート1102aとフェデレート2102bが同じ値をそれぞれ格納して属性値更新を行う。図8は、図7の状況をUMLのシーケンス図形式で示した図である。図8では、図6に示した1対1の関係になるシステムのシーケンスが、オブジェクトインスタンスが2つになったことによりフェデレート1102aとフェデレート2102bによって2回行われるようになったことを示している。ここで、フェデレーション101中の全ての模擬対象物について、属性値反映通知を受けるフェデレートフェデレート3102cが通知されたオブジェクトインスタンスがどの模擬対象物に対応するのかを決定する処理の計算量を、フェデレートフェデレート12102a,102bが模擬する模擬対象物とRTI103に登録されるオブジェクトインスタンスの関係が、1対1の関係になるシステムと、1対複数の関係になる従来システムとで比較する。まず、1対1の関係になるシステムでは、オブジェクトインスタンスの数をnとすると、属性値反映通知はオブジェクトインスタンス毎に行われn回、さらに模擬対象物とオブジェクトインスタンスの対応が1対1のため、例えばハッシュテーブルなどの対応表を用意すればO1の計算量で対応を調べることができる。そのため、全体としての計算量はOn×1すなわちOnの計算量となる。これに対し、1対複数の関係となる従来システムでは、オブジェクトインスタンスの数をn、属性の数をmとすると、属性値反映通知はオブジェクトインスタンス毎に行われn回、さらに模擬対象物とオブジェクトインスタンスの対応を調べるために、m個の属性の中から識別子を探索する処理が必要となる。例えばプログラミング言語としてCを利用するシステムでは、前述の通りAttributeHandleValueMapはstd::mapを使用して実装されているため、探索処理の計算量はOlogmである。そのため、全体としての計算量はOn×1×logmすなわちOnlogmの計算量となる。以上のように、フェデレートが模擬する模擬対象物とRTIに登録されるオブジェクトインスタンスの関係が1対複数の関係となる従来のシステムでは、1対1の関係になるシステムに比べ、属性値反映通知を受けた際の計算量が大きくなる。通常、1対複数の関係となるシステムは、模擬対象物の処理負荷を分散化する目的でフェデレートを分割するが、分割すればするほどオブジェクトインスタンス数が増え、その結果属性値反映通知を受けた際の計算量が増えるような従来のシステムは、分散化によってボトルネックが大きくなり高速化が難しいという課題があった。この発明は上記のような課題を解決するためになされたもので、フェデレートが模擬する模擬対象物とRTIに登録されるオブジェクトインスタンスの関係が1対複数の関係となるようなシステムにおいて、高速化を実現することのできる分散シミュレーションシステムを得ることを目的とする。この発明に係る分散シミュレーションシステムは、HLAに基づいた分散シミュレーションシステムで、分散シミュレーションシステムにおけるフェデレートが模擬する模擬対象物とオブジェクトインスタンスとの関係が1対複数となる分散シミュレーションシステムにおいて、オブジェクトインスタンスの属性値をRTIとのインタフェースであるUpdateAttributeValuesを用いて更新を行うフェデレートは、UpdateAttributeValuesの引数であるUserSuppliedTagにオブジェクトインスタンスと模擬対象物との対応をとるための識別子を格納するようにしたものである。この発明の分散シミュレーションシステムは、オブジェクトインスタンスの属性値を更新するフェデレートは、UpdateAttributeValuesの引数であるUserSuppliedTagにオブジェクトインスタンスと模擬対象物との対応をとるための識別子を格納するようにしたので、高速化を実現することができる。実施の形態1.フェデレートが模擬する模擬対象物とRTIに登録されるオブジェクトインスタンスの関係が1対複数の関係となるようなシステムにおける従来の問題点は、オブジェクトインスタンスと模擬対象物との対応をとるための識別子を、探索処理が必要なデータ構造であるAttributeHandleValueMapに格納したことである。そのため、オブジェクトインスタンスと模擬対象物との対応をとるための識別子を探索不要な形でUAVとRAVの各APIで扱えれば良い。図9は、フェデレーション1におけるフェデレート12aおよびフェデレート22bの属性値更新において航空機Aという模擬対象物の識別子を直接渡している状況を示している。ここで、フェデレーション1は、HLAに準拠したシステム全体を示しており、フェデレート12aおよびフェデレート22bは、図7に示したフェデレート1102aおよびフェデレート2102bと同様に、1つの模擬対象物である航空機Aに対し、フェデレート12aが移動模擬のデータ交換用にオブジェクトインスタンスAircraft-A-1を登録し、フェデレート22bが状態模擬のデータ交換用にオブジェクトインスタンスAircraft-A-2を登録することにより、フェデレートが模擬する模擬対象物と、RTI3に登録されるオブジェクトインスタンスの関係が1対2になっているものである。また、フェデレート32cは、図7のフェデレート3102cと同様に、航空機Aの情報を参照する監視システムを模擬するフェデレートである。さらに、RTI3およびRPR-FOM4は、図7のRTI103およびRPR-FOM104と同様である。図10は、図9の状況をUMLのシーケンス図形式で示した図である。このようにUAVとRAVの各APIで識別子が直接参照できれば、属性のEntityIdentifierに格納された属性値を探索しなくとも、更新されたオブジェクトインスタンスと模擬対象物を対応付けることが可能である。HLAの規約に反しない形でUAVとRAVの各APIで識別子を直接参照するために、本発明では、UAVおよびRAVのオプション引数であるUserSuppliedTagを使用する。UserSuppliedTagは、UAVの呼び出し時に属性値更新を行うフェデレートフェデレート12a,22bが任意のデータをセットすると、その属性値の属性値反映通知先のフェデレートフェデレート32cでRAVが実行された際に、同じデータがRAVの引数として送信されるものである。UserSuppliedTagの利用方法は、HLA規約では特に規定は行われていないが、RPR-FOM4ではUAVの呼び出し時刻を設定することが規定されている。本発明では、このUserSuppliedTagにセットするデータを拡張し、オブジェクトインスタンスと模擬対象物との対応をとるための識別子を格納するものとする。図11に、HLA規約におけるC言語によるUserSuppliedTagの変数形であるVariableLengthDataクラスの仕様を、UMLのクラス図形式で示す。図11のメソッドのうち、このクラスが保持するデータを参照するdataメソッドやsizeメソッドの仕様と、このクラスが保持するデータをセットするsetDataメソッドの仕様を見て解る通り、このクラスは、データの実体を示すメモリ上の先頭ポインタをvoid型で、データのメモリ上の長さをsize_t形でアクセスする形式である。つまり、UserSuppliedTagは、可変長の任意のバイト列を設定することができる。図12に、RPR-FOM4で規定されたUserSuppliedTagへの時刻値設定を拡張し、時刻値と、オブジェクトインスタンスと模擬対象物との対応をとるための識別子として8バイトの整数値をセットする例を示す。RPR-FOM4では、UserSuppliedTagの先頭0バイト目から8バイト分の領域にDIStimestamp型による時刻値を格納することが決められており、その後にどのようなデータを格納するか、もしくはしないかは規定されていない。そこで、先頭9バイト目から8バイト分の領域に、時刻値とオブジェクトインスタンスと模擬対象物との対応をとるための識別子図12ではEntityIDを格納する。以上のように、UAVおよびRAVのオプション引数であるUserSuppliedTagを利用することで、オブジェクトインスタンスと模擬対象物との対応をとるための識別子を、探索不要な形式でUAVおよびRAVで扱えることになる。このことによって、フェデレートフェデレート12a,22bが模擬する模擬対象物とRTI3に登録されるオブジェクトインスタンスの関係が1対複数の関係となるようなシステムにおいて、フェデレート12a中の全ての模擬対象物について属性値反映通知を受けるフェデレートフェデレート32cが、通知されたオブジェクトインスタンスがどの模擬対象物に対応するのかを決定する処理の計算量は、オブジェクトインスタンスの数をnとした際にOnとなり、フェデレートフェデレート12a,22bが模擬する模擬対象物とRTI3に登録されるオブジェクトインスタンスの関係が1対1の関係になるシステムと同じ計算量にすることが可能となる。そのため、分散化によるボトルネックを減らすことが可能となり、高速化を実現することができる。以上説明したように、実施の形態1の分散シミュレーションシステムによれば、HLAに基づいた分散シミュレーションシステムで、分散シミュレーションシステムにおけるフェデレートが模擬する模擬対象物とオブジェクトインスタンスとの関係が1対複数となる分散シミュレーションシステムにおいて、オブジェクトインスタンスの属性値をRTIとのインタフェースであるUpdateAttributeValuesを用いて更新を行うフェデレートは、UpdateAttributeValuesの引数であるUserSuppliedTagにオブジェクトインスタンスと模擬対象物との対応をとるための識別子を格納するようにしたので、分散化によるボトルネックを減らすことが可能となり、高速化を実現することができる。また、実施の形態1の分散シミュレーションシステムによれば、HLAに基づいた分散シミュレーションシステムで、分散シミュレーションシステムにおけるフェデレートが模擬する模擬対象物とオブジェクトインスタンスとの関係が1対複数となる分散シミュレーションシステムにおいて、オブジェクトインスタンスの属性値をRTIとのインタフェースであるReflectAttributeValuesを用いて更新反映通知を受けるフェデレートは、ReflectAttributeValuesの引数であるUserSuppliedTagに格納されているオブジェクトインスタンスと模擬対象物との対応をとるための識別子を用いるようにしたので、分散化によるボトルネックを減らすことが可能となり、高速化を実現することができる。また、実施の形態1の分散シミュレーションシステムによれば、RPR-FOMを利用するHLAに基づいた分散シミュレーションシステムであって、フェデレートは、UserSuppliedTagに、時刻値に続いてオブジェクトインスタンスと模擬対象物との対応をとるための識別子を格納するようにしたので、RPR-FOMで規定されたUserSuppliedTagへの時刻値設定を利用して容易に高速化を実現することができる。また、実施の形態1の分散シミュレーションシステムによれば、RPR-FOMを利用するHLAに基づいた分散シミュレーションシステムであって、フェデレートは、UserSuppliedTagに、時刻値に続いて格納されているオブジェクトインスタンスと模擬対象物との対応をとるための識別子を用いるようにしたので、RPR-FOMで規定されたUserSuppliedTagへの時刻値設定を利用して容易に高速化を実現することができる。なお、本願発明はその発明の範囲内において、実施の形態の任意の構成要素の変形、もしくは実施の形態の任意の構成要素の省略が可能である。"