(57)【要約】【課題】要求されるゲーム率を確保しながら結果の信憑性を損なわないようにシミュレーションを実行する。【解決手段】ゲーム率管理部１２２は、要求されるゲーム率よりも実際のゲーム率が低いと判定すると、ゲーム率向上要求を実行忠実度決定部１２１に指示する。実行忠実度決定部１２１は、優先順位が最も低く設定されていたタスク２に対して、低い実行忠実度を指示するが、優先順位がタスク２の優先順位よりも高く設定されていたタスク１、タスク３〜ｎに対しては、依然として高い実行忠実度の指示を継続する。それでも要求されるゲーム率よりも実際のゲーム率が低い場合は、次に優先順位が低く設定されているタスクに対して、低い実行忠実度の処理ロジックに切り替える。要求されるゲーム率よりも低い実行忠実度の処理ロジックが選択されている場合、要求されるゲーム率よりも実際のゲーム率が高くなった時点で、高い実行忠実度の処理ロジックに切り替える。【選択図】図１
2013210686.tif 000002
【特許請求の範囲】
【請求項１】
シミュレーションの時間進行間隔と現実世界での模擬処理に要した経過時間との比率として定義されるゲーム率を動的に計測すると共に該計測したゲーム率に基づいたゲーム率情報を作成するゲーム率管理手段と、
前記シミュレーションを実行する複数のタスクの実行忠実度を前記ゲーム率情報に基づいて各々決定するタスク実行忠実度決定手段と、
前記複数のタスク毎に決定された実行忠実度を該複数のタスク毎に指定して前記実行忠実度に適合した論理ロジックを呼び出し、該呼び出しの応答として得られた論理ロジックを各々対応するタスクに登録すると共に、該登録された複数のタスクの実行をそれぞれ制御する複数のタスク実行手段と、
前記呼び出しを受け、前記実行忠実度に適合したタスク対応の論理ロジックを選択すると共に、該選択した前記タスク対応の論理ロジックを前記複数のタスク実行手段への応答として各々送出するタスク管理手段と、
実行忠実度が各々示された、前記タスク対応の複数の論理ロジックと
を備えるシミュレーションシステム。
【請求項２】
前記ゲーム率管理手段は、前記タスク毎に、要求されるゲーム率と実際のゲーム率の推移とからゲーム率の悪化を判定すると共に、その判定結果をゲーム率情報として前記タスク実行忠実度決定手段に送出する
請求項１に記載のシミュレーションシステム。
【請求項３】
前記タスク実行忠実度決定手段は、要求されるゲーム率よりも実際のゲーム率が低い場合、優先順位が低いタスクの順で、タスクの実行忠実度を低い実行忠実度として決定する
請求項１又は２に記載のシミュレーションシステム。
【請求項４】
前記タスク実行忠実度決定手段は、要求されるゲーム率よりも実際のゲーム率が高い場合、優先順位が高いタスクの順で実行忠実度が低いタスクを選出すると共に、該タスクの実行忠実度を高い実行忠実度として決定する
請求項１又は２に記載のシミュレーションシステム。
【請求項５】
シミュレーションの時間進行間隔と現実世界での模擬処理に要した経過時間との比率として定義されるゲーム率を動的に計測すると共に該計測したゲーム率に基づいたゲーム率情報を作成するゲーム率管理ステップと、
前記シミュレーションを実行する複数のタスクの実行忠実度を前記ゲーム率情報に基づいて各々決定するタスク実行忠実度決定ステップと、
前記複数のタスク毎に決定された実行忠実度を該複数のタスク毎に指定して前記実行忠実度に適合した論理ロジックを呼び出し、該呼び出しの応答として得られた論理ロジックを各々対応するタスクに登録すると共に、該登録された複数のタスクの実行をそれぞれ制御する複数のタスク実行ステップと、
前記呼び出しを受け、前記実行忠実度に適合したタスク対応の論理ロジックを選択すると共に、該選択した前記タスク対応の論理ロジックを前記複数のタスク実行手段への応答として各々送出するタスク管理ステップと
を備えるシミュレーション実行制御方法。
【請求項６】
前記ゲーム率管理ステップは、前記タスク毎に、要求されるゲーム率と実際のゲーム率の推移とからゲーム率の悪化を判定すると共に、その判定結果をゲーム率情報として前記タスク実行忠実度決定ステップに送出する
請求項５に記載のシミュレーション実行制御方法。
【請求項７】
前記タスク実行忠実度決定ステップは、要求されるゲーム率よりも実際のゲーム率が低い場合、優先順位が低いタスクの順で実行忠実度が高いタスクを選出すると共に、該タスクの実行忠実度を低くする決定を行う
請求項５又は６に記載のシミュレーション実行制御方法。
【請求項８】
前記タスク実行忠実度決定ステップは、要求されるゲーム率よりも実際のゲーム率が高い場合、優先順位が高いタスクの順で実行忠実度が低いタスクを選出すると共に、該タスクの実行忠実度を高くする決定を行う
請求項５又は６に記載のシミュレーション実行制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はシミュレーションシステム及びシミュレーション実行制御方法に係る。特に、一定のゲーム率での実行管理が要求されるシミュレーションシステムにおいて、実行される各タスクの実行忠実度を動的に切り替えるシミュレーションシステム及びシミュレーション実行制御方法に関する。
【背景技術】
【０００２】
現実世界の模擬処理を実行するシミュレーションシステムでは、ゲーム率がシステムの１つの性能指標を示すと共に、該指標は、シミュレーション結果の信頼性を向上させるためにも使用される。このゲーム率は、シミュレーション内で定義された時間進行間隔と現実世界での模擬処理に要する時間との比率によって定量的に表されるが、シミュレーション規模の増大に伴い該ゲーム率は悪化する傾向にある。なお、リアルタイム実行時ではゲーム率は１となる。このゲーム率の悪化は、シミュレーションシステムを動作させるハードウェアの性能が向上すれば、模擬処理に要する時間が短縮されることによって改善が見込まれることになるが、それでも、ハードウェアの性能限界を超えての改善までは不可能である。このため、ソフトウェアの処理を工夫することにより、要求されるゲーム率を達成することができる手法の開発が必要とされていた。
【０００３】
図３は、周知のシミュレーション実行制御方法の一例を示す説明図である。このシミュレーション実行制御方法では、タスク１〜ｎの実行順序を制御するスケジューラ１と、スケジューラ１から呼び出されたタスクに対応する管理部と処理ロジックとを登録したタスク管理部２とを備えたシステム構成によって、タスクの実行を制御している。しかし、このような周知の実行制御方法では、シミュレーション規模の縮小が不可で、シミュレーションの模擬範囲を絞り込めない場合には、ゲーム率の向上が図れない。そこで、シミュレーションにおいて実行する各タスクの実行忠実度を低くした処理ロジックを採用し、模擬処理に要する時間を低減させることにより、ゲーム率の向上を図っている。
【０００４】
この分野の公知例技術としては、例えば特許文献１には、ＥＷＳ上で市販のＤＡツールを用いて容易に設計でき、かつ、ほとんどのシミュレーションをＥＷＳ上で行うことのできる半導体集積回路の設計方法が開示されている。具体的には、任意に設計可能な任意論理回路に結合される複数の機能モジュールをモジュール毎に機能動作レベルで記述してライブラリ化しておく。そして、ＥＷＳ上でユーザ等が任意論理回路を論理ゲートレベルで記述して設計した後、必要な機能モジュールをライブラリの中から選択する。そして、ＥＷＳ上で、論理ゲートレベルの任意論理回路と機能動作レベルの上記複数の機能モジュールとを結合した全体回路に対して、該モジュールを機能動作レベルで記述したままほとんどのシミュレーションを行う。これにより、カスタムＬＳＩの設計及び評価が容易となると共に、開発期間の短縮化が図れる。
【０００５】
また、例えば特許文献２には、新たなリソースを増やすことなく、要求される時間内に模擬処理を行うことができるシミュレーション装置を開示している。具体的には、シミュレーション空間の模擬処理を行うための複数のシミュレータと、これらを制御するための制御部と、模擬処理の実行時間を任意に指定するための管理者用端末装置とを備える。また、その指定された実行時間内に模擬処理を完了させ、模擬処理の単位時間当たりのゲーム率が常に一定になるように制御するためのゲーム率制御部を備える。
【０００６】
さらに、例えば特許文献３には、シミュレーションモデルの現実への動作忠実性を向上させることで、シミュレーションをより現実に近い形で実施することが可能なシミュレーションシステムおよびシミュレーションモデルのふるまい制御方法を開示している。具体的には、シミュレーションモデルが、ディシジョンテーブルに基づいて自己の振る舞いを半自律的に決定することでシミュレーションが進行するシミュレーションシステムにおいて、複数のディシジョンテーブルを予めコンピュータに記憶させる。また、シミュレーションモデルの置かれ得るシチュエーションと、各ディシジョンテーブルを対応付けた振り分けテーブルを導入する。そして、シミュレーションモデルの置かれているシチュエーションをリアルタイムに判定し、このシチュエーションに応じてディシジョンテーブルをダイナミックに切り替えることにより、シミュレーションモデルの状態にきめ細かに対応できるようにする。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平０９−０３４９３５号公報
【特許文献２】特許第４１７６９０２号公報
【特許文献３】特開２００５−２５３６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記背景技術で述べた周知のシミュレーションシステムにあっては、模擬範囲を狭めることなく要求されるゲーム率を実現するためには、低い実行忠実度の処理ロジックを使用する方法や、シミュレーションの時間進行間隔を大きく取る方法で対応してきた。しかしながら、これらの方法では、いずれもシミュレーションの模擬レベルを低下させるため、シミュレーション結果の信頼性が保証されない。
【０００９】
また、静的な処理ロジックの変更を行っていたので、要求されるゲーム率の実現に対して必要以上に実行忠実度を低下させるべき場合も生じ、シミュレーション結果の信憑性が損なわれるといった問題点が有った。なお、既述のとおり、周知のシミュレーションシステムにあっては、シミュレーション内で定義された時間進行間隔を大きく取ることで、現実世界での一定の模擬処理に要する時間でのシミュレーションの進行度合いを大きくする工夫もしている。この工夫により、ゲーム率の向上を図ることもできる。しかしながら、時間進行間隔を大きく取ることにより、特に小さい時間内で状況が変化するタスク処理の場合、模擬内容が荒くなるので、シミュレーション結果に対する信憑性が損なわれるといった問題点が有った。
【００１０】
本発明の目的は、上述した課題を解決するシミュレーションシステム及びシミュレーション実行制御方法を提供することにある。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明に係るシミュレーションシステムは、シミュレーションの時間進行間隔と現実世界での模擬処理に要した経過時間との比率として定義されるゲーム率を動的に計測すると共に該計測したゲーム率に基づいたゲーム率情報を作成するゲーム率管理手段と、前記シミュレーションを実行する複数のタスクの実行忠実度を前記ゲーム率情報に基づいて各々決定するタスク実行忠実度決定手段と、前記複数のタスク毎に決定された実行忠実度を該複数のタスク毎に指定して前記実行忠実度に適合した論理ロジックを呼び出し、該呼び出しの応答として得られた論理ロジックを各々対応するタスクに登録すると共に、該登録された複数のタスクの実行をそれぞれ制御する複数のタスク実行手段と、前記呼び出しを受け、前記実行忠実度に適合したタスク対応の論理ロジックを選択すると共に、該選択した前記タスク対応の論理ロジックを前記複数のタスク実行手段への応答として各々送出するタスク管理手段と、実行忠実度が各々示された、前記タスク対応の複数の論理ロジックと、を備えたことを特徴とする。
【００１２】
また、本発明に係るシミュレーション実行制御方法は、シミュレーションの時間進行間隔と現実世界での模擬処理に要した経過時間との比率として定義されるゲーム率を動的に計測すると共に該計測したゲーム率に基づいたゲーム率情報を作成するゲーム率管理ステップと、前記シミュレーションを実行する複数のタスクの実行忠実度を前記ゲーム率情報に基づいて各々決定するタスク実行忠実度決定ステップと、前記複数のタスク毎に決定された実行忠実度を該複数のタスク毎に指定して前記実行忠実度に適合した論理ロジックを呼び出し、該呼び出しの応答として得られた論理ロジックを各々対応するタスクに登録すると共に、該登録された複数のタスクの実行をそれぞれ制御する複数のタスク実行ステップと、前記呼び出しを受け、前記実行忠実度に適合したタスク対応の論理ロジックを選択すると共に、該選択した前記タスク対応の論理ロジックを前記複数のタスク実行手段への応答として各々送出するタスク管理ステップと、を有することを特徴とする。
【発明の効果】
【００１３】
以上説明したように、本発明のシミュレーションシステムによれば、複数のタスクの各々で実行する処理ロジックの実行忠実度を、優先順位に応じて動的に変更することにより、要求されるゲーム率を維持したシミュレーションの実行が可能となる効果が有る。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態に係るシミュレーションシステムの全体構成を示す構成図である。
【図２】本発明の実施形態に係るシミュレーションシステムにおいて、タスク２の処理ロジックを低い実行忠実度に切り替える場合の実行制御動作を示す説明図である。
【図３】周知のシミュレーション実行制御方法の一例を示す説明図である。
【発明を実施するための形態】
【００１５】
本発明は一定のゲーム率での実行管理が要求されるシミュレーションシステムであり、シミュレーションで実行される各タスクの実行忠実度を動的に切り替えるものである。より具体的には、本発明のシミュレーションシステムでは、シミュレーションの時間進行間隔を変更せずに、各タスクの実行忠実度を動的に切り替えることにより、要求されるゲーム率を実現させる。そのため、同一のタスク管理にて実行可能となるように、異なる実行忠実度ではあるが等価なデータ構造で定義された複数の処理ロジックを用意する。実行制御の際には、ゲーム率の推移を監視しながら、各タスクで使用する処理ロジックの実行忠実度を動的に決定する制御を実行する。
【００１６】
この際、各タスクに対し低い実行忠実度の使用を許す優先順位を設定しておくことにより、要求されるゲーム率を確保するために最低限必要なタスクのみを低い実行忠実度に切り替えるように管理する。このようにして、シミュレーション結果の信頼性を可能な限り損なわないようにする。具体的には、シミュレーションの実行忠実度を動的に制御する手段として、下記の２つの方法を採用する。
【００１７】
１つ目の方法は、異なる実行忠実度の処理ロジックを同一のタスク管理にて実行可能とするため、各処理ロジックのデータ構造を一様に定義することである。一例として、車両の移動を模擬する処理においては、実行忠実度の高い処理ロジックでは移動経路の地形、気象条件、車両の移動装置の性能等によって次の時間分解能での移動先を決定するものとする。これに対し、実行忠実度の低い処理ロジックでは現在の移動ベクトルのみから、簡易的に次の移動先を決定するものとする。この事例の場合でも、出力するデータの構造が等価であること（例えば、上記のどちらの処理ロジックでも移動先の座標を出力する）を維持することで、シミュレーション空間内で異なる実行忠実度の処理ロジックを共存させることが可能である。
【００１８】
２つ目の方法は、ゲーム率の推移状況を管理し、各タスクの優先順位に基づき適用する処理ロジックの実行忠実度を切り替えることによって、要求されるゲーム率を確保する管理方法である。各タスクに対し予め実行忠実度の異なる処理ロジックを用意し、スケジューラから指定された実行忠実度の処理ロジックを登録できるようにしておく。スケジューラはゲーム率の推移状況を監視し、要求されるゲーム率に達していない場合は、各タスクで呼び出す処理ロジックを実行忠実度の低いものに指定する。また、各タスクに対し低い実行忠実度の処理ロジックを使用しない優先順位を決めておき、低い優先順位のものから実行忠実度を切り替えるよう実行制御を管理する。
【００１９】
以下、本発明のシミュレーションシステム及びシミュレーション実行制御方法の実施形態について、図面を参照して詳細に説明する。図１は、本発明の実施形態に係るシミュレーションシステムの全体構成を示す構成図である。但し、従前のシミュレーションシステムと同じ構成要素については、同符合を付す。図１において、本実施形態のシミュレーションシステムは、スケジューラ１と、タスク管理部２と、を備える。スケジューラ１は、実行順序制御部１１と、実行忠実度決定制御部１２と、を備える。
【００２０】
実行順序制御部１１は、タスク１実行部１１１〜タスクｎ実行部１１ｎを備える。実行忠実度決定制御部１２は、タスク１実行忠実度決定部１２１１〜タスクｎ実行忠実度決定部１２１ｎと、ゲーム率管理部１２２と、を備える。タスク管理部２は、タスク１管理部２１〜タスクｎ管理部２ｎと、タスク１処理ロジック２２１Ｈ、２２１Ｌ〜タスクｎ処理ロジック２２ｎＨ、２２ｎＬと、を備える。
【００２１】
スケジューラ１の実行順序制御部１１は、各タスクタスク１〜ｎの実行順序に合わせ、実行忠実度指定を、実行忠実度決定制御部１２から入力し、タスク管理部２に対して実行忠実度指定を含めたタスクの呼び出しを行い、呼び出したタスクを登録して実行制御する。より具体的には、実行順序制御部１１は、上記の呼び出しに先立って、タスク１実行忠実度決定部１２１１〜タスクｎ実行忠実度決定部１２１ｎが決定した実行忠実度指定（後述）を参照する。この時までに、ゲーム率管理部１２２は、上記各タスク毎に実際のゲーム率を動的に計測していると共に、要求されるゲーム率と実際のゲーム率の推移とからゲーム率の悪化を動的に判定する。そして、これらの情報をゲーム率情報としてタスク１実行忠実度決定部１２１１〜タスクｎ実行忠実度決定部１２１ｎに送出している。
【００２２】
ここで、上記のゲーム率とは、シミュレーション内で定義された時間進行間隔と現実世界での模擬処理に要する時間との比率によって定量的に表される指標である。このゲーム率を示すゲーム率情報を受けたタスク１実行忠実度決定部１２１１〜タスクｎ実行忠実度決定部１２１ｎは、各タスクの優先順位に基づいて、低い実行忠実度を使用するタスクを決定し、上記の実行忠実度指定として保持している。この実行忠実度指定を参照した実行順序制御部１１は、この実行忠実度指定を含む呼び出し指令をタスク管理部２に送出し、タスク管理部２が応答したタスクを登録して実行制御する。
【００２３】
タスク管理部２のタスク１管理部２１〜タスクｎ管理部２ｎは、実行順序制御部１１からの、実行忠実度指定を含むタスク１〜ｎの呼び出し指令を受ける。そして、タスク１〜ｎに対応する処理ロジック（タスク１処理ロジック２２１Ｈｏｒ２２１Ｌ〜タスクｎ処理ロジック２２ｎＨｏｒ２２ｎＬ）を選択し、この選択結果を、実行順序制御部１１のタスク１実行部１１１〜タスクｎ実行部１１ｎの各々に応答する。なお、タスク１管理部２１〜タスクｎ管理部２ｎには、それぞれ実行忠実度の異なる処理ロジックを用意するものとする。
【００２４】
図２は、本発明の実施形態に係るシミュレーションシステムにおいて、タスク２の処理ロジックを低い実行忠実度に切り替える場合の実行制御動作を示す説明図である。同図は、タスク２の処理ロジックを低い実行忠実度に切り替える場合の実行制御動作を例示している。まずは、ゲーム率管理部１２２において、要求されるゲーム率よりも実際のゲーム率が高いと判定されている場合、実行忠実度決定部１２１では、全タスク（ここではタスク１〜タスクｎ）に対して、高い実行忠実度を指定する。この結果、タスク管理部２では全タスクのいずれに対しても高い忠実度の処理ロジックが選択されており、実行順序制御部１１において順次実行制御されている。
【００２５】
他方、ゲーム率管理部１２２において、要求されるゲーム率よりも実際のゲーム率が低いと判定されている場合、ゲーム率情報を介して、ゲーム率向上要求が実行忠実度決定部１２１に指示される。これを受けた実行忠実度決定部１２１は、優先順位が最も低く設定されていたタスク２に対し、低い実行忠実度を指示するが、優先順位がタスク２の優先順位よりも高く設定されていたタスク１、タスク３〜ｎに対しては、高い実行忠実度の指示を継続する。これにより、実行順序制御部１１では、タスク２管理部２２を介して、低い実行忠実度の処理ロジック（タスク２処理ロジック２２２Ｌ）を呼び出して登録する。しかし、タスク１、タスク３〜ｎに対しては、依然として高い実行忠実度の処理ロジックの呼び出しを継続して登録し、順次実行する。
【００２６】
実行忠実度決定部１２１は、上記動作によっても、未だ要求されるゲーム率よりも実際のゲーム率が低い場合は、次に優先順位が低く設定されているタスクに対して、同様に、低い実行忠実度の処理ロジックに切り替えさせるように指示する。即ち、優先順位が低いタスクの順で実行忠実度が高いタスクを選出すると共に、該タスクの実行忠実度を低い実行忠実度として決定する。
【００２７】
一部のタスクで要求されるゲーム率よりも低い実行忠実度の処理ロジックが選択されている場合、実行忠実度決定部１２１は、要求されるゲーム率よりも実際のゲーム率が高くなると、優先順位に基づき高い実行忠実度の処理ロジックに切り替えるように指示する。即ち、実行忠実度決定部１２１は、要求されるゲーム率よりも実際のゲーム率が高い場合には、優先順位が高いタスクの順で実行忠実度が低いタスクを選出すると共に、該タスクの実行忠実度を高い実行忠実度として決定する。
【００２８】
本実施形態のシミュレーションシステムは、前述のように制御することにより、必要以上に低い実行忠実度の処理ロジックを使用しないように制御すると共に、要求されるゲーム率よりも実際のゲーム率が高い場合には、この高いゲーム率を活かした制御を行う。このようにして、シミュレーション結果の信頼性を最大限に発揮させることができる効果が有る。即ち、要求されたゲーム率に合わせて必要最小限のタスクのみ実行忠実度の低い処理ロジックに切り替えるため、実行忠実度の高い処理ロジックが最大限使用され、シミュレーション結果の信頼性を可能な限り高く維持できる効果が有る。
【符号の説明】
【００２９】
１    スケジューラ
２    タスク管理部
１１    実行順序制御部
１２    実行忠実度決定制御部
１２１    実行忠実度決定部
１２２    ゲーム率管理部
【図１】
2013210686.tif 000003
【図２】
2013210686.tif 000004
【図３】
2013210686.tif 000005