(57)【要約】【課題】複数のフェデレートで構成される分散型シミュレーションシステムにおいて、実行中のシミュレーションにフェデレートが自由に参加および離脱することの可能な分散型シミュレーションシステムを提供すること。【解決手段】各フェデレートにおいて、あるフェデレートが途中参加／途中離脱する時に、インタラクションを使用して参加／離脱を通知する処理をフェデレートに追加した。他の既に参加しているフェデレートにおいては、「参加」を受信した時に、更新されたときのみ送信している種類の情報を全て再送信して、途中参加したフェデレートに不足している情報がないようにした。また、「離脱」を受信したときは、内部で管理しているテーブルから離脱するフェデレートに関連する情報を矛盾のないように削除するようにした。【選択図】      図１
2006075529.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して互いに接続される複数のコンピュータを用いた分散型シミュレーションシステムであって、
前記コンピュータは、
シミュレーションに参加するシミュレーションモデルのふるまいを既定するための管理テーブルを記憶する記憶手段と、
前記シミュレーションモデルごとにそのふるまいを前記管理テーブルの内容に基づいて自律的に判断させて前記シミュレーションを進行させるシミュレーション進行制御手段と、
前記シミュレーションの進行中に当該シミュレーションに参加を要請するシミュレーションモデルが生じた場合に、このシミュレーションモデルに前記管理テーブルの内容を更新するための情報を通知する通知手段と、
前記シミュレーションの進行中に当該シミュレーションからの離脱を要請するシミュレーションモデルが生じた場合に、このシミュレーションモデルに係わる情報を前記管理テーブルの内容から削除する削除手段とを具備することを特徴とする分散型シミュレーションシステム。
【請求項２】
前記シミュレーションは、ＨＬＡ（High Level Architecture）インタフェース仕様に規定された各サービスを実行するためのＲＴＩ（Run-Time Infrastructure）のもとで実現されることを特徴とする請求項１に記載の分散型シミュレーションシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散環境に存在する複数のオブジェクトが例えばＲＴＩ（Run-Time Infrastructure）などの共通基盤を介して情報を授受し合う分散型シミュレーションシステムに関する。
【背景技術】
【０００２】
近年、様々な分野でシミュレーションシステムの需要が高まってきている。このような背景から、過去に開発されたシミュレーションシステムの再利用性と相互運用性を高め、今後の開発・保守コストを低減することを目的として、ＨＬＡ（High Level Architecture）が策定されている。
【０００３】
ＨＬＡは、異なるシミュレーションシステム間を接続するための仕様であり、ルール、オブジェクトモデルテンプレート（ＯＭＴ）、及び、インターフェース仕様の要素を備える。これらの要素のうちインターフェース仕様はＲＴＩにより実装される。特に、ＲＴＩに接続可能なインタフェース仕様を有するシミュレーションオブジェクト（シミュレータ）はフェデレートと称され、その集合すなわちシミュレーション全体はフェデレーションと称される。ＲＴＩはシミュレーションを実現するためのミドルウェアとしての位置付けにある。
【０００４】
このような枠組みのもとでシミュレーションシステムを形成することにより、過去に開発された資源を有効に利用できると共に、分散型環境における大規模なシステムを構築することが可能になり、大きなメリットを得ることができる。下記特許文献１に、この種の技術を用いて構築されるゲームシステムが開示される。
【０００５】
ところで、この種のシミュレーションシステムは一般に複数のフェデレート（シミュレータ）により構成されるが、その構成要素（メンバ）はシミュレーションの進行中においては固定的である。すなわち、シミュレートするモデル（参加するフェデレート）はシミュレーションの実行前に決定され、シミュレーションの実行中にはその状態（参加フェデレート）を変更することができない。つまりフェデレーションを構成するフェデレートを、シミュレーションの開始から終了までに動的に変化させることができない。このため、シミュレーション途中にその構成メンバとなるフェデレートを変更したい場合にはシミュレーションを一時的に中断せざるを得ず、非常に不便であった。
【特許文献１】特開２０００−３５０８６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記述べたように既存の分散型シミュレーションシステムにおいては、実行中のシミュレーションにシミュレータが自由に参加したり離脱したりすることができない。このためより現実に近いかたちでのシミュレーションを実現するためには、シミュレーションの一時中断という極めて好ましく無い手順を要していた。  
本発明は上記事情によりなされたもので、その目的は、複数のフェデレートで構成される分散型シミュレーションシステムにおいて、実行中のシミュレーションにフェデレートが自由に参加および離脱することの可能な分散型シミュレーションシステムを提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために本発明の一態様によれば、ネットワークを介して互いに接続される複数のコンピュータを用いた分散型シミュレーションシステムであって、前記コンピュータは、シミュレーションに参加するシミュレーションモデルのふるまいを既定するための管理テーブルを記憶する記憶手段と、前記シミュレーションモデルごとにそのふるまいを前記管理テーブルの内容に基づいて自律的に判断させて前記シミュレーションを進行させるシミュレーション進行制御手段と、前記シミュレーションの進行中に当該シミュレーションに参加を要請するシミュレーションモデルが生じた場合に、このシミュレーションモデルに前記管理テーブルの内容を更新するための情報を通知する通知手段と、前記シミュレーションの進行中に当該シミュレーションからの離脱を要請するシミュレーションモデルが生じた場合に、このシミュレーションモデルに係わる情報を前記管理テーブルの内容から削除する削除手段とを具備することを特徴とする分散型シミュレーションシステムが提供される。
【０００８】
このような手段を講じることにより、シミュレーションシステムを構成する各フェデレートに、新たに参加するフェデレートに関する情報、および、シミュレーションから離脱するフェデレートに関する情報を、漏れなく持たせることができるようになる。よってシミュレーションの進行中においてもシナリオデータを容易に変更することができ、これによりフェデレートの途中参加／離脱を実現することが可能になる。ひいては現実に近い形でのシミュレーション検討、および実行が可能となる。
【発明の効果】
【０００９】
本発明によれば、複数のフェデレートで構成される分散型シミュレーションシステムにおいて、実行中のシミュレーションにフェデレートが自由に参加および離脱することの可能な分散型シミュレーションシステムを提供することができる。
【発明を実施するための最良の形態】
【００１０】
図１は、本発明に係わる分散型シミュレーションシステムの一実施の形態を示すシステム図である。本実施形態では、いわゆるシミュレーションをフェデレーションと称する。フェデレーションはＲＴＩをベースとして実現されるＨＬＡインタフェース仕様に規定される用語であり、またフェデレーション中に生成される各種オブジェクトはフェデレートと称される。
【００１１】
図１において、複数のコンピュータＰＣ１〜ＰＣ３がネットワーク１００を介して互いに接続され、分散処理環境が形成される。コンピュータＰＣ１〜ＰＣ３は、ネットワーク１００を介して他のコンピュータと情報を授受する仲立ちとなるインタフェース部（Ｉ／Ｆ）２１と、表示部２２と、記憶部２３と、制御部２４と、ユーザインタフェース部２５とを備える。記憶部２３は、各フェデレートのふるまいを既定するためのシナリオデータ２３ａを所定の記憶領域に記憶する。ユーザインタフェース部２５は、キーボードやマウス（図示せず）などを備え、表示部２２上のＧＵＩ（Graphical User Interface）環境を用いたユーザの操作を受け付ける。
【００１２】
ＰＣ１の制御部２４は、ＲＴＩ．ｅｘｅファイル（符号２４ａ）と、フェデレーション・アプリケーション２４ｂとを備える。ＲＴＩ．ｅｘｅファイル２４ａは、制御部２４を、ＲＴＩ環境を提供するための実行体として動作させるための制御プログラムである。フェデレーション・アプリケーション２４ｂは、ユーザの要求する様々な仕様に応じたフェデレーションを実現するための制御プログラムである。このうちフェデレーション・アプリケーション２４ｂはＰＣ２およびＰＣ３の制御部２４にもロードされる。
【００１３】
各ＰＣ１〜ＰＣ３におけるフェデレーション・アプリケーション２４ｂが、ネットワーク１００を介してＲＴＩ．ｅｘｅ２４ａの管理の下でオブジェクトのコール、生成、消滅などの処理を実施することによりフェデレーションが実現される。すなわち、フェデレーション・アプリケーション２４ｂおよびＲＴＩ．ｅｘｅ２４ａにより、シナリオデータ２３ａに基づくフェデレートの自律的な判断によりフェデレーションが進行される、という環境が形成される。
【００１４】
ところでＰＣ３の制御部２４は、フェデレーション・アプリケーション２４ｂに加え、本実施形態に係わるソフトウェア的な処理機能として通知処理部２４ｃと、削除処理部２４ｄとを備える。  
通知処理部２４ｃは、フェデレーションの進行中にこのフェデレーションに参加を要請するフェデレートが生じた場合に、このフェデレートに対してシナリオデータ２３ａの内容を更新するために必要な情報を通知する。すなわち通知処理部２４ｃは、或るフェデレートが途中参加／途中離脱を要請した場合に、インタラクションを使用して参加／離脱を他のフェデレートに通知する。これにより、進行中のフェデレーションに既に参加しているフェデレートは、「参加」を通知された場合に、更新されたときのみ送信する種類の情報を全て再送信する。これにより途中参加するフェデレートは、必要な情報を全て取得できる。
【００１５】
削除処理部２４ｄは、フェデレーションの進行中にこのフェデレーションからの離脱を要請するフェデレートが生じた場合に、このフェデレートに係わる情報をシナリオデータ２３ａの内容から削除する。これにより「離脱」を通知されたフェデレートは、離脱するフェデレートに関連する情報を、内部的に管理するシナリオデータ２３ａから矛盾のないように削除する。
【００１６】
図２は、ＲＴＩがフェデレーションにおける時間経過を管理する状態を示す模式図である。フェデレーションに参加するフェデレートをフェデレートＡ〜Ｃで示す。各フェデレートＡ〜ＣはＲＴＩに定期的に時刻を問い合わせる。ＲＴＩはこの問い合わせに対して許可を与え、各フェデレートＡ〜Ｃはこの許可を受け取ることによって初めて自己に係わる処理を進めることができる。
【００１７】
図３は、ＲＴＩの時間管理の概要を示す図である。フェデレーションへの途中参加、または途中離脱を要請するフェデレートは、ＲＴＩに対して途中参加、または、途中離脱を通知する。そしてＲＴＩからシミュレーション実行時間の情報をもらうことにより、途中参加、または途中離脱を実施することができる。このように、問い合わせとこれに対する許可とを対として実行することにより時間を管理するメカニズム（サービス）がＲＴＩには備えられている。この実施形態ではこのことを利用してフェデレートの途中参加／離脱を実現するようにしている。
【００１８】
図３においてフェデレートＡは、フェデレーション時間”１５ｓ”に進むことをＲＴＩに問い合わせる。これに応じてＲＴＩは、フェデレーション時間”１５ｓ”に進むことをフェデレートＡに対して許可する。フェデレートＢについても同様であり、また、各フェデレートの要求する時間が変わるごとに、逐一ＲＴＩに対する問い合わせが実行される。このように、ＲＴＩに対する問い合わせと許可とが対となって実施されることでフェデレーションにおける時間進行が管理される。
【００１９】
図４は、フェデレートのＲＴＩへの途中参加をより詳しく示す模式図である。図４においてフェデレートＤが途中参加を要請した場合、その旨がネットワークを介してフェデレートＡ〜Ｃに通知される（ステップＳ１）。そうすると、各フェデレートＡ〜Ｃは内部的に管理する情報テーブル（シナリオデータ２３ａ）にフェデレートＤに関する情報を追加する（ステップＳ２）。次に各フェデレートＡ〜Ｃは、自己に関する情報をフェデレートＤに対して再送信する（ステップＳ３）。ここでは特に、情報更新時に送信すべき情報のみが再送信される。
【００２０】
図５は、フェデレートのＲＴＩからの途中離脱をより詳しく示す模式図である。図５においてフェデレートＤが途中離脱を要請した場合、その旨がネットワークを介してフェデレートＡ〜Ｃに通知される（ステップＳ１１）。そうすると、各フェデレートＡ〜Ｃは内部的に管理する情報テーブル（シナリオデータ２３ａ）から、フェデレートＤに関する情報を削除する（ステップＳ１２）。
【００２１】
既存のシミュレーションシステムは、フェデレート間であまり更新されない情報も含めてさまざまな情報を送受信しあうように構築されていた。このためこれらの情報をオブジェクトの属性として常に公開することは、コスト（処理時間、通信帯域）が増加するとの観点から、インタラクションにて更新された時のみ送受信するようになっていた。
【００２２】
このため、或るフェデレートがシミュレーション途中で参加する場合、途中参加したフェデレートは途中参加時点のこれらの情報を知りえないことになり、結局のところ、フェデレート途中参加を実現することが不可能であった。また、あるフェデレートがシミュレーション途中で離脱する場合、シミュレーションシステムを構成している他のフェデレートは途中離脱のフェデレート情報を知りえない。よってフェデレートの途中離脱を実現することもできない。
【００２３】
これに対しこの実施形態では、各フェデレートにおいて、あるフェデレートが途中参加／途中離脱する時に、インタラクションを使用して参加／離脱を通知する処理をフェデレートに追加するようにした。他の既に参加しているフェデレートにおいては、「参加」を受信した時に、更新されたときのみ送信している種類の情報を全て再送信して、途中参加したフェデレートに不足している情報がないようにした。また、「離脱」を受信したときは、内部で管理しているテーブルから離脱するフェデレートに関連する情報を矛盾のないように削除するようにした。
【００２４】
このようにしたので、参加及び離脱するフェデレートが実行中のシミュレーション時間を認識することで、シミュレーション実行中であってもフェデレートが途中参加、途中離脱が可能な機能を持つ、分散型シミュレーションシステムを構築することができる。さらには、必要となる部分でのフェデレートの参加が可能となるため、ミドルウェアにおける通信データ、参加フェデレートの管理等の負荷が軽減できる。よってシミュレーションシステムにおける処理能力の向上が図れるとともに、ユーザにおける運用時間の短縮、作業時間の低減を実現することもできる。
【００２５】
すなわち、シミュレーションの実行中であっても、実行中のシミュレーションを終了、または、一時停止することなく、ユーザが追加、変更したいフェデレートを自由に途中参加したり途中離脱できる。よって既存のシステムよりも柔軟で、より現実に近いシミュレーションの実行が可能となる。これらのことから、複数のフェデレートで構成される分散型シミュレーションシステムにおいて、実行中のシミュレーションにフェデレートが自由に参加および離脱することの可能な分散型シミュレーションシステムを提供することが可能となる。
【００２６】
なお本発明は上記実施の形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【図面の簡単な説明】
【００２７】
【図１】本発明に係わる分散型シミュレーションシステムの一実施の形態を示すシステム図。
【図２】ＲＴＩがフェデレーションにおける時間経過を管理する状態を示す模式図。
【図３】ＲＴＩの時間管理の概要を示す図。
【図４】フェデレートのＲＴＩへの途中参加をより詳しく示す模式図。
【図５】フェデレートのＲＴＩからの途中離脱をより詳しく示す模式図。
【符号の説明】
【００２８】
Ａ〜Ｄ…フェデレート、ＰＣ１〜ＰＣ３…コンピュータ、２１…インタフェース部、２２…表示部、２３…記憶部、２３ａ…シナリオデータ、２４…制御部、２４ｂ…フェデレーション・アプリケーション、２４ａ…ＲＴＩ．ｅｘｅファイル、２４ｃ…通知処理部、２４ｄ…削除処理部、２５…ユーザインタフェース部、１００…ネットワーク
【図１】
2006075529.tif 000003
【図２】
2006075529.tif 000004
【図３】
2006075529.tif 000005
【図４】
2006075529.tif 000006
【図５】
2006075529.tif 000007