(57)【要約】  少なくとも２つのシミュレーションモジュールの間における相互シミュレーションを調整する方法であって、共通の調整モジュールで実行される、データをそれぞれのシミュレーションモジュールへ伝達するステップとデータを一方のシミュレーションモジュールから他方のシミュレーションモジュールへ転送するステップとを備える方法。
2008519346.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも２つのシミュレーションモジュールの間における相互シミュレーションを調整する方法であって、共通の調整モジュールで実行される、データをそれぞれのシミュレーションモジュールへ伝達するステップと、データを１つのシミュレーションモジュールから別のシミュレーションモジュールへ転送するステップとを備える方法。
【請求項２】
前記調整モジュールで実行される、相互シミュレーションを制御するステップをさらに備える、請求項１に記載の方法。
【請求項３】
前記調整モジュールで実行される、シミュレーションモジュールを照会して接続性を決定するステップをさらに備える、請求項１または請求項２に記載の方法。
【請求項４】
シミュレーションモジュールで実行される、照会モードにおいて接続性情報を調整モジュールへ送信するステップをさらに備える、請求項１〜３のいずれかに記載の相互シミュレーションを調整する方法。
【請求項５】
少なくとも２つのシミュレーションモジュールの間における相互シミュレーションを起動させる方法であって、シミュレーションモジュールで実行される、照会モードにおいて接続性情報を調整モジュールへ送信するステップを備える方法。
【請求項６】
少なくとも２つのシミュレーションモジュールの間における相互シミュレーションを調整する方法であって、共通の調整モジュールで実行される、制御命令を発令することでそれぞれのシミュレーションモジュールを制御するステップを備える方法。
【請求項７】
少なくとも２つのシミュレーションモジュールインターフェイスと、データをそれぞれのインターフェイスによってそれぞれのシミュレーションモジュールへ伝達するための通信モジュールと、伝達されたデータを処理するためのデータ処理用モジュールとを備える、相互シミュレーション調整モジュール。
【請求項８】
請求項７に記載の相互シミュレーション調整モジュールと、それぞれのインターフェイスを介して調整モジュールとの通信を行うように構成された少なくとも２つのシミュレーションモジュールとを含む、相互シミュレーションシステム。
【請求項９】
制御コマンドとデータとの交換のために調整モジュールとの通信を行うように構成されたユーザインターフェイスをさらに備える、請求項８に記載の相互シミュレーションシステム。
【請求項１０】
請求項１〜６のいずれかに記載の方法を実施するための命令を備えるコンピュータプログラム。
【請求項１１】
請求項１０に記載のコンピュータプログラムを記憶するためのコンピュータ読み取り式媒体。
【請求項１２】
請求項１０に記載のコンピュータプログラムの命令によって、請求項１〜６のいずれかに記載の方法を実施するように構成されたコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、相互シミュレーションの装置および方法に関する。
【背景技術】
【０００２】
相互シミュレーションは、例えば乗物用エンジンの性能に関するような複雑なシミュレーションが必要である多くの分野で利用されている手段である。特に、相互シミュレーションは、それぞれが全システムの構成要素をシミュレートしてその全システムをシミュレートする関連した複数のシミュレーション手段を利用することを含む。相互シミュレーションは、１つのシミュレーション手段にそのシステム全体を適切にモデル化する可能性がなく、代わりに、関連したそれぞれのシミュレーション手段が、特別に設計を行うためのシステムにおける１つ以上の特徴をシミュレートするときに、特に有用である。各個別シミュレーション手段には、システムの特徴がどのように作用するかについて予想するために、シミュレートされるシステムの特徴の数学的モデルを組み立てるとともに実行するコンピュータ用アプリケーションプログラムが備わっているのが一般的である。
【０００３】
様々な相互シミュレーション手段が知られている。一般的には、そのような手段には、２つのシミュレーションの間にデータリンクが確立されているが、このデータリンクは、それぞれのシミュレーションが独立して時間内に進行するように、シミュレーション同士の間で情報を定期的間隔で転送するために使用される。例えば、第１シミュレーションにおいてエンジンの物理的反応がシミュレートされ、第２シミュレーションにおいてエンジン制御ソフトウェアがシミュレートされる場合、それぞれのシミュレーションは、それらのシミュレーションが並行して進行するようにするために、他のシミュレーションをその現在の作動状態について定期的に更新する。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
相互シミュレーションを達成するための２つの主要な公知技術、すなわちサブルーチンの利用およびプロセス間通信の利用がある。
サブルーチンを利用する様々な製品には、機械システムをモデル化するために利用されるＭＳＣ  Ｓｏｆｔｗａｒｅ  ＣｏｒｐｏｒａｔｉｏｎのＡＤＡＭＳ、流体・熱システムをモデル化するために利用されるＣＤ  Ａｄａｐ  Ｃｏ  ＧｒｏｕｐのＳＴＡＲ−ＣＤ、および一般的な動的システムをモデル化するために利用されるＭＳＣ  Ｓｏｆｔｗａｒｅ  ＣｏｒｐｏｒａｔｉｏｎのＥＡＳＹ５が含まれる。これらのシステムによって、個別シミュレーションを実装時間で静的にリンクすることが可能になる。特に、相互シミュレートされるユーザ定義シミュレーションが、サブルーチンとして書き込まれ、対応するモデルコードが専有のシミュレーションへ付加される。特に、付加的なコード化シミュレーションは、ライブラリーの中にサブルーチンの形態でもたらされ、また、最後の相互シミュレーションは、両方のシミュレーションを含む１つのモノリシックな実行可能なものとして行われる。流体・被膜システムをモデル化するために利用されるＲｉｃａｒｄｏ  ＬｉｍｉｔｅｄのＶＥＣＴＩＳの名でもたらされた代わりの実施例では、モデルコードは実行時間で動的にロードされる。
【０００５】
しかしながら、サブルーチンとしてコード化されるシミュレーションが複雑である場合には、問題が生じる。さらにまた、そのアプローチは、すべてのシミュレーションをそれぞれのサブルーチンとしてもたらす必要があるため、複数のシミュレーションを互いにリンクさせるための実行可能な機構ではない。さらにまた、リンクされるシミュレーションについては、それらは、互換性のあるハードウェア、オペレーティングシステムおよびインターフェイス定義を利用するのと全く同じ方式でコンパイルしなければならない。その結果、サブルーチンとしてコード化されたシミュレーションは、それが相互シミュレートする各シミュレーションのそれぞれにおける支持プラットフォームの各バージョンについて、再設定する必要があるであろう。
【０００６】
代わりの技術であるプロセス間通信は、例えば、（一般的な動的システムをモデル化するために利用される）Ｔｈｅ  Ｍａｔｈ  ＷｏｒｋｓのＳｉｍｕｌｉｎｋをＡＤＡＭＳに、ＳＴＡＲ―ＣＤを（流体・熱システムをモデル化するために利用される）Ｆｌｏｗ  Ｍａｓｔｅｒ  ＧｒｏｕｐのＦｌｏｗ  Ｍａｓｔｅｒに、また、（自動車エンジンから性能および騒音を予想するために利用される）Ｒｉｃａｒｄｏ  ＬｉｍｉｔｅｄのＷＡＶＥをＶＥＣＴＩＳにリンクさせるために利用されてきた。シミュレーション同士をリンクさせるために、それらのシミュレーションが要求に応じかつ要求されたときにデータを共有するように、各シミュレーションの中に組み込まれたブリッジに特有のインターフェイスコードが備わった特定のコードブリッジが、それら２つのシミュレーションの間に設けられる。シミュレーションを開始しかつ同期させるとともに、データを交換するために、様々な方法を利用することができ、また、機械型、流体型、制御型および熱型のような特定のリンク型が定義されてきた。その結果、大きいシミュレーションはほとんど修正なしに相互シミュレーションすることができる。
【０００７】
図１に示されたように、この機構によれば、シミュレーション同士の間における一連のリンクが可能になる。例えば、ここでは、相互シミュレーションは、３つのシミュレーション１０、１２、１４が含まれ、それらはここでは、ＳＩＭ１、ＳＩＭ２、ＳＩＭ３と称される。示された構成では、ＳＩＭ１はＳＩＭ２の親であり、ＳＩＭ２はＳＩＭ３の親である。しかしながら、プロセス間通信に基づいた相互シミュレーションに関する問題は、親−子関係にあるシミュレーション同士の間においてだけ通信が可能であるという点である。このため、破線２０によって示されたＳＩＭ１とＳＩＭ３との「祖父母」関係は不可能である。このため、３つのシミュレーションがチェーンでリンクされているときには、それぞれの１つは、そのチェーンにおける個々の隣接者だけしか、例えばリンク１６、１８によるものだけしか、通信を行うことができない。
【０００８】
代わりの可能な相互通信構成は図２に示されており、ここでは、３つのシミュレーションＳＩＭ１、ＳＩＭ２およびＳＩＭ３が、ツリー状に構成されている。この場合、ＳＩＭ１（３０）は、それぞれのリンク３６、３８を介するＳＩＭ２（３２）およびＳＩＭ３（３４）の親である。しかしながら、これら２つの「子」シミュレーションＳＩＭ２およびＳＩＭ３は、例えば破線で示されたリンク４０を介して互いに通信を行うことができない。
それゆえ、前と同じように、プロセス間通信は、充分な相互作用性とともに複数のシミュレーションをリンクするための実行可能な機構ではない。
【課題を解決するための手段】
【０００９】
本発明は特許請求の範囲に説明されている。
ハブ・スポーク構造を使用する相互シミュレーションプロセスの設備が調整モジュールおよび複数のシミュレーションモジュールを備えるので、複数の手段同士の間における相互シミュレーションは、複数の複雑な個別シミュレーションを利用する相互シミュレーションが可能になるハブによって管理される。
【発明を実施するための最良の形態】
【００１０】
本発明の実施形態を、図面を参照しながら、例示として、以下に説明する。
本発明を概略的に説明すると、図３に示された型のハブ・スポーク構造における相互シミュレーションアーキテクチャが提供される。ハブ５０は、相互シミュレーション制御モジュールあるいは調整モジュールを備え、かつ、シミュレーションモジュールＳＩＭ１〜ＳＩＭ６：５２、５４、５６、５８、６０、６２との間で通信を行う。調整モジュール５０は、それぞれのリンク６４、６６、６８、７０、７２、７４によってそれぞれのシミュレーションモジュールへ接続されている。調整モジュール５０は、それ自体どのようなシミュレーションも実行しないが相互シミュレーションの内部で接続性およびデータフローを管理する制御プロセスあるいは制御プログラムである。調整モジュール５０は、すべてのシミュレーションを起動しかつすべてのシミュレーションへ接続するための責任を負っており、また、すべてのシミュレーションモデルは調整モジュールへだけ戻るように接続されている。各シミュレーションモジュールは、それが接続されている他のシミュレーションが何であるかを決定する方法を有しておらず、また、リンクの他の端部で調整モジュールを「見る」だけである。
【００１１】
このシステムの結果として、相互シミュレーション技術が、複数の複雑なシミュレーションを処理することができるように、また、充分に測定可能であるように、提供される。
図４によれば、調整モジュールあるいはハブの基本的構成要素を認めることができる。特に、調整モジュール１００にはデータ通信モジュール１０２が含まれており、このデータ通信モジュール１０２には、それぞれのシミュレーションモジュールとの間で通信を行うための複数のインターフェイス１０４が備わっている。このデータ通信モジュールは、以下でさらに詳しく考察されるように、相互シミュレーションを管理するための制御論理が含まれるプロセッサー１０６へ接続されている。プロセッサー１０６はまた、相互シミュレーションの制御および操作に関連するデータを記憶するためのデータ記憶手段１０８へも接続されている。加えて、ユーザ入力手段１１０が設けられて、管理者による調整モジュールを介する相互シミュレーションの制御が可能になっている。調整モジュール１００には、相互シミュレーションの進行を観察することのできるディスプレイ１１２あるいは他のデータ表示手段がさらに備わっている。
【００１２】
本発明の相互シミュレーションアプローチの初期操作は、図５を参照することで理解することができる。ステップ１３０では、調整モジュールが、調整モジュールおよび各シミュレーションモジュールによって支持されたステップ１３２における照会モードの中へのエントリーを始動させるシミュレーションモジュールとの接続を検知する。
【００１３】
ステップ１３４では、調整モジュールの照会に応じて、調整モジュールがシミュレーションモジュールからリンク型およびリンク識別子の情報を受信する。その結果、調整モジュールは、シミュレーションモジュールとのデータ交換およびシミュレーションモジュールの制御のために必要な通信プロトコルを決定することができるとともに、他のシミュレーションモジュールが調整モジュールによって「仮想の」リンクを必要とすることを確立することもできる。ステップ１３６では、調整モジュールは、確立されたリンクを介するシミュレーションモジュールとのデータ・制御通信を開始する。従って、データ交換をもたらすために充分な相互シミュレーションを調整する場合、調整モジュールでのハブプログラムは、別の１つのシミュレーションからのリンクに対応している１つのシミュレーションからのリンクに関連するであろう。各個別シミュレーションは、相互シミュレーションの他のどのような部分にも気付いておらず、また、それゆえ、制御による修正とハブプログラムの調整によることなく、実行することができる。その後、データ交換をもたらすために、ハブプログラムは、まずすべてのリンクを読み取り、データを内部に記憶する。次いで、ハブプログラムは、接続性によってデータを編成し、その後、すべてのリンクへ戻って書き込む。
【００１４】
ここで、図６を参照すると、様々なシミュレーションの調整が調整モジュール１００によって達成される方式をさらに理解することができる。調整モジュール１００は、２つだけが図６に参照符号２００および２０２で示されている複数のシミュレーションモジュールとの間で通信を行う。加えて、この調整モジュールは、ユーザインターフェイス、例えばＰＣ２１２との間で通信を行う。調整モジュール１００は、制御コマンド２０４、２０６をそれぞれのシミュレーションモジュール２００、２０２へ送るとともに、それぞれのシミュレーションモジュール２００、２０２との間でデータ２０８、２１０の交換も行う。さらにまた、調整モジュール１００は、制御コマンド２１４およびデータ２１６をユーザインターフェイス２１２との間で交換する。
【００１５】
各シミュレーションモジュールとの間の制御およびデータ交換に関して、調整モジュール１００によって受信されたデータには、起動位相にあるシミュレーションモジュールに関連する接続性情報と、その後の、シミュレーションモジュール、例えばシミュレーション出力において実行されるシミュレーションの現在の状況とが含まれている。調整モジュールからシミュレーションモジュールへ送られたデータには、必要であれば適切に処理された、制御部による入力のときにシミュレーションの操作に影響を及ぼすであろう他のシミュレーションからの出力値が含まれている。このことは、図６においてシミュレーション同士の間の仮想リンクを表示する破線２１８によって表示されている。調整モジュール１００から各シミュレーションモジュールへの制御コマンドには、シミュレーションの実行に関連する命令、シミュレーションが実行すべき時間、その現在の状況および出力値に関連するシミュレーションからの報告同士の間の時間増分、個別シミュレーションによって割り当てられたパラメータの設定、および全体として相互シミュレーションの調整に関連する他の任意のタスクが含まれている。その結果、プロセッサー１０６（図４）は、調整モジュールの中で受信したデータを処理し、かつ、その情報を相互シミュレーションの全体としての調整制御とともにどこへ送るべきかを決定し、そして、適切な制御コマンドが適切なシミュレーションへ送られることを保証する。
【００１６】
加えて、相互シミュレーションの外部制御およびモニタリングがユーザインターフェイス２１２によってもたらされる。このインターフェイスには、モニタ、プリントアウト装置、あるいは相互シミュレーションの管理者が相互シミュレーションの進行をモニタすることのできる他のデータ表示装置のような任意の適切なグラフィック・ユーザ・インターフェイスが備わっていてもよい。加えて、制御コマンドを、調整モジュールへ送り、相互シミュレートされる実体の状態パラメータ、シミュレーションを実行するための時間、さらに別のシミュレーションモジュールなどにおける増分更新時間の採用のようなパラメータへの調節を可能にすることができる。従って、上記のように、調整モジュールには、接続を管理する主要なタスクに加えて、すべての交換済みデータをモニタするとともに表示するための特性が備わっている。
【００１７】
相互シミュレーションを任意の型のシミュレート済み実体に関連付けることができるということはわかるであろう。調整モジュールおよびシミュレーションモジュールは別々の物理的装置として示されているが、これらは、必要に応じて、一般的な機械においてソフトウェアで実行することができる。その場合には、様々なモジュールを任意の適切な方式およびコードで実施することができる。代わりに、様々なモジュールを、一般的な物理的実体においてあるいはネットワーク実体において、ハードウェアで実施することができる。さらにまた、様々なシミュレーションおよび／または調整モジュールを遠く離して分布させ、ＷＡＮ（広域ネットワーク）あるいはインターネットのような任意の適切な手段によって、通信を行うことができる。
【図面の簡単な説明】
【００１８】
【図１】第１の公知の相互シミュレーションアーキテクチャを示すブロック図。
【図２】さらに別の公知の相互シミュレーションアーキテクチャを示すブロック図。
【図３】本発明による相互シミュレーションの調整を示すブロック図。
【図４】本発明による調整モジュールを示すブロック図。
【図５】本発明による方法の起動位相を示すフローダイアグラム。
【図６】本発明による調整モジュール、複数のシミュレーションモジュール、およびユーザインターフェイスの間における通信を示すブロック図。
【図１】
2008519346.tif 000003
【図２】
2008519346.tif 000004
【図３】
2008519346.tif 000005
【図４】
2008519346.tif 000006
【図５】
2008519346.tif 000007
【図６】
2008519346.tif 000008
【国際調査報告】
2008519346.tif 000009
2008519346.tif 000010
2008519346.tif 000011