(57)【要約】【課題】制御ユニット開発用のリアルタイム性シミュレーション部を提供するための方法。【解決手段】（ａ）リアルタイム性の部分シミュレーション部側において、非リアルタイム性の部分シミュレーション部が次のマクロシミュレーションステップのための計算されたシミュレーションデータを供給したか否かを検査するステップと、（ｂ）供給完了している場合は、次のマクロシミュレーションステップのために計算されたシミュレーションデータ（Ｓｎ２）をリアルタイム性の部分シミュレーション部において使用するステップと、（ｃ）供給完了していない場合には、次のマクロシミュレーションステップのための推定されたシミュレーションデータ（Ｓｇ３）を作成するステップと、（ｄ）適時に供給されなかったシミュレーションデータ（Ｓｎ３）の計算の完了後、第２のシミュレーション時間を第１のシミュレーション時間に合わせて調整するステップと、を有する。【選択図】図３
2019046477.tif 000002
【特許請求の範囲】
【請求項１】
制御ユニット開発用のリアルタイム性シミュレーション部（６）を提供するための方法であって、
前記リアルタイム性シミュレーション部（６）は、制御ユニットまたは制御ユニットの周辺または制御ユニットと前記制御ユニットの周辺との組み合わせをシミュレートするものであり、
前記リアルタイム性シミュレーション部（６）は、リアルタイム性の部分シミュレーション部（１０）と、前記リアルタイム性の部分シミュレーション部とインタラクションする非リアルタイム性の部分シミュレーション部（１２）と、の協調シミュレーションを有し、
前記リアルタイム性の部分シミュレーション部（１０）と前記非リアルタイム性の部分シミュレーション部（１２）とは、シミュレーションデータ（Ｓｅ０，Ｓｎ０，Ｓｅ１，Ｓｎ１，Ｓｅ２，Ｓｎ２，Ｓｅ３，Ｓｎ３，Ｓｅ４，Ｓｎ４，Ｓｅ５，Ｓｎ５）を伝送するように構成されており、
前記リアルタイム性の部分シミュレーション部（１０）は、実時間に相当する第１のシミュレーション時間（ｔｅ）を有し、前記非リアルタイム性の部分シミュレーション部（１２）は、前記第１のシミュレーション時間と連動化される仮想の第２のシミュレーション時間（ｔｖ）であって、前記リアルタイム性シミュレーション部の開始時に前記第１のシミュレーション時間と一致する第２のシミュレーション時間（ｔｖ）を有し、
前記方法は、
（ａ）前記リアルタイム性の部分シミュレーション部（１０）の側において、前記非リアルタイム性の部分シミュレーション部（１２）が、次のマクロシミュレーションステップのための計算されたシミュレーションデータを供給したか否かを検査するステップと、
（ｂ）前記非リアルタイム性の部分シミュレーション部（１２）が、前記次のマクロシミュレーションステップのための計算されたシミュレーションデータ（Ｓｎ２）を完成して前記リアルタイム性の部分シミュレーション部（１０）へ供給完了している場合には、前記次のマクロシミュレーションステップのために前記計算されたシミュレーションデータ（Ｓｎ２）を前記リアルタイム性の部分シミュレーション部（１０）において使用するステップと、
（ｃ）前記非リアルタイム性の部分シミュレーション部（１２）が、前記次のマクロシミュレーションステップのための計算されたシミュレーションデータを完成して前記リアルタイム性の部分シミュレーション部（１０）へ供給完了していない場合には、前記次のマクロシミュレーションステップのために推定されたシミュレーションデータ（Ｓｇ３）を作成するステップと、
（ｄ）適時に供給されなかったシミュレーションデータ（Ｓｎ３）の計算の完了後、前記第２のシミュレーション時間を前記第１のシミュレーション時間に合わせて調整するステップと、
を有する方法。
【請求項２】
前記第２のシミュレーション時間（ｔｖ）と前記第１のシミュレーション時間（ｔｅ）とは、タイムスタンプを介して連動化され、
前記リアルタイム性の部分シミュレーション部（１０）は、第１のタイムスタンプを生成し、全ての第１のタイムスタンプが前記第１のシミュレーション時間（ｔｅ）を示し、前記非リアルタイム性の部分シミュレーション部（１２）は、計算されたシミュレーションデータの計算の完了時に第２のタイムスタンプを生成し、
前記第２のシミュレーション時間を前記第１のシミュレーション時間に合わせて調整するステップは、第２のタイムスタンプを生成することを含み、
前記第２のタイムスタンプは、前記リアルタイム性の部分シミュレーション部によって得られて前記計算のために使用された最後のシミュレーションデータの前記第１のシミュレーション時間に合わせて設定され、または、
前記第２のタイムスタンプは、前記リアルタイム性の部分シミュレーション部によって得られて前記計算のために使用された最後のシミュレーションデータの前記第１のシミュレーション時間を予め決まった時間調整値だけ増分したものに合わせて設定される、
請求項１記載の方法。
【請求項３】
前記非リアルタイム性の部分シミュレーション部（１２）は、入力データバッファ（１２０）を備えており、
前記リアルタイム性の部分シミュレーション部（１０）は、前記非リアルタイム性の部分シミュレーション部の前記入力データバッファ（１２０）にシミュレーションデータを書き込み、
前記入力データバッファ（１２０）に書き込まれた全てのシミュレーションデータを、計算されたシミュレーションデータの完成のために使用して、計算されたシミュレーションデータを次のマクロシミュレーションステップのために適時に供給することによって、前記第２のシミュレーション時間を前記第１のシミュレーション時間に一致させる、
請求項１または２記載の方法。
【請求項４】
前記方法はさらに、
前記非リアルタイム性の部分シミュレーション部（１２）が、前記次のマクロシミュレーションステップのための計算されたシミュレーションデータを供給完了していない場合には、前記次のマクロシミュレーションステップのための計算されたシミュレーションデータを前記リアルタイム性の部分シミュレーション部（１０）および／またはエラー処理システム（１８）へ事後的に供給するステップを有する、
請求項１から３までのいずれか１項記載の方法。
【請求項５】
前記方法はさらに、
前記次のマクロシミュレーションステップのための前記推定されたシミュレーションデータと、前記次のマクロシミュレーションステップのための事後的に供給された前記計算されたシミュレーションデータと、から推定誤差を計算するステップと、
前記推定誤差に基づいて前記リアルタイム性の部分シミュレーション部を事後的に適合し、かつ／または、後のマクロシミュレーションステップのための推定されたシミュレーションデータの作成を適合するステップと、
を有する、
請求項４記載の方法。
【請求項６】
前記方法はさらに、
前記非リアルタイム性の部分シミュレーション部（１２）が、前記次のマクロシミュレーションステップのための計算されたシミュレーションデータを供給完了していない場合には、前記次のマクロシミュレーションステップの次の１つまたは複数のマクロシミュレーションステップのための計算されたシミュレーションデータを直ちに作成し、計算されたシミュレーションデータが適時に前記リアルタイム性の部分シミュレーション部（１０）へ供給されるまで、前記計算されたシミュレーションデータを直ちに作成することを行うステップを有する、
請求項１から５までのいずれか１項記載の方法。
【請求項７】
前記非リアルタイム性の部分シミュレーション部（１２）は、シミュレーション進行全体にわたって平均して前記計算されたシミュレーションデータを適時に供給する計算性能を有する、
請求項１から６までのいずれか１項記載の方法。
【請求項８】
前記リアルタイム性の部分シミュレーション部（１０）は、前記非リアルタイム性の部分シミュレーション部（１２）がそれぞれ次のマクロシミュレーションステップのための計算されたシミュレーションデータを供給したか否かを、全てのマクロシミュレーションステップにおいて、またはｎ番目ごとのマクロシミュレーションステップにおいて、またはマクロシミュレーションステップの所定の部分的に規則的な順序で検査する、
請求項１から７までのいずれか１項記載の方法。
【請求項９】
前記推定されたシミュレーションデータを作成するステップを、前記リアルタイム性の部分シミュレーション部（１０）においてかつ／または前記非リアルタイム性の部分シミュレーション部（１２）においてかつ／またはエラー処理システム（１８）において行う、
請求項１から８までのいずれか１項記載の方法。
【請求項１０】
前記推定されたシミュレーションデータを作成するステップは、
前記非リアルタイム性の部分シミュレーション部によって供給された以前の計算されたシミュレーションデータから、推定されたシミュレーションデータの外挿を行うステップ、特に０次、１次または２次の外挿を行うステップと、
特性曲線ないしは特性マップから、前記推定されたシミュレーションデータを導出するステップと、
以前のシミュレーションに基づいて、前記推定されたシミュレーションデータを作成するステップと、
前記推定されたシミュレーションデータを、予め決まった最小値および／または最大値に制限するステップと、
前記推定されたシミュレーションデータを、予め決まった変化ダイナミクスの向きに合わせるステップと、
リアルタイム性システムの内部状態を考慮するステップと、
のうち少なくとも１つを有する、
請求項１から９までのいずれか１項記載の方法。
【請求項１１】
前記方法はさらに、
前記非リアルタイム性の部分シミュレーション部（１２）が前記次のマクロシミュレーションステップのための計算されたシミュレーションデータを完成して前記リアルタイム性の部分シミュレーション部（１０）へ供給完了しなかった事例を記録するステップも有し、
前記記録するステップは、とりわけ、前記事例の時点および／または数の記録を含む、
請求項１から１０までのいずれか１項記載の方法。
【請求項１２】
前記リアルタイム性の部分シミュレーション部（１０）は、制御ユニットの周辺、とりわけ制御対象の技術的システムをシミュレートし、前記非リアルタイム性の部分シミュレーション部（１２）は、制御ユニットをシミュレートし、または、
前記非リアルタイム性の部分シミュレーション部（１２）は、制御ユニットの周辺、とりわけ制御対象の技術的システムをシミュレートし、前記リアルタイム性の部分シミュレーション部（１０）は、制御ユニットをシミュレートする、
請求項１から１１までのいずれか１項記載の方法。
【請求項１３】
前記リアルタイム性の部分シミュレーション部（１０）は、制御ユニットの周辺の第１の部分、とりわけ制御対象の技術的システムの第１の部分をシミュレートし、前記非リアルタイム性の部分シミュレーション部（１２）は制御ユニットの周辺の第２の部分、とりわけ制御対象の技術的システムの第２の部分をシミュレートする、
請求項１から１２までのいずれか１項記載の方法。
【請求項１４】
制御ユニット開発用のシミュレーション装置（２）であって、
前記シミュレーション装置は、リアルタイム性であり、制御ユニットまたは制御ユニットの周辺または制御ユニットと前記制御ユニットの周辺との組み合わせをシミュレートするものであり、
前記シミュレーション装置は、
実時間に相当する第１のシミュレーション時間（ｔｅ）を有するリアルタイム性の部分シミュレーション部（１０）と、
前記リアルタイム性の部分シミュレーション部（１０）とインタラクションする非リアルタイム性の部分シミュレーション部（１２）と、
を備えており、
前記非リアルタイム性の部分シミュレーション部（１２）は、前記第１のシミュレーション時間と連動化される仮想の第２のシミュレーション時間（ｔｖ）であって、リアルタイム性シミュレーションの開始時には前記第１のシミュレーション時間（ｔｅ）と一致する第２のシミュレーション時間（ｔｖ）を有し、
前記シミュレーション装置はさらに、
前記リアルタイム性の部分シミュレーション部（１０）と前記非リアルタイム性の部分シミュレーション部（１２）との間でシミュレーションデータを交換するために構成された通信パス（１６）を有し、
前記非リアルタイム性の部分シミュレーション部（１２）は、計算されたシミュレーションデータを前記リアルタイム性の部分シミュレーション部（１０）へ供給するように構成されており、
前記リアルタイム性の部分シミュレーション部（１０）は、
前記非リアルタイム性の部分シミュレーション部（１２）が次のマクロシミュレーションステップのための計算されたシミュレーションデータを供給完了したか否かを検査し、
前記非リアルタイム性の部分シミュレーション部（１２）が前記次のマクロシミュレーションステップのための計算されたシミュレーションデータを完成して前記リアルタイム性の部分シミュレーション部（１０）へ供給完了している場合には、前記次のマクロシミュレーションステップのために前記計算されたシミュレーションデータを使用し、
前記非リアルタイム性の部分シミュレーション部（１２）が前記次のマクロシミュレーションステップのための計算されたシミュレーションデータを完成して前記リアルタイム性の部分シミュレーション部（１０）へ供給完了していない場合には、前記次のマクロシミュレーションステップのために推定されたシミュレーションデータを使用する
ように構成されており、
前記非リアルタイム性の部分シミュレーション部（１２）は、適時に供給されなかったシミュレーションデータの計算の完了後に前記第２のシミュレーション時間を前記第１のシミュレーション時間に合わせて調整するように構成されている、
シミュレーション装置。
【請求項１５】
前記非リアルタイム性の部分シミュレーション部（１２）は、１つまたは複数のプロセッサまたはプロセッサコアを備えており、
前記プロセッサまたはプロセッサコアは、前記計算されたシミュレーションデータをシミュレーション進行全体にわたって平均して適時に供給するために十分な計算性能を有する、
請求項１４記載のシミュレーション装置（２）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御ユニットの開発、たとえば自動車産業または航空産業等においてたとえばエンジンまたはブレーキ等の技術的システムを制御するために使用される制御ユニット等の開発に関する。とりわけ本発明は、制御ユニットの開発プロセスで使用されるシミュレーション装置に関する。
【背景技術】
【０００２】
制御ユニットの開発は、高度に複雑なプロセスとなっている。よって、機能全般を検査して他の開発方向性を設定するためには、新規の制御ユニットないしは新規の制御機能を開発プロセスにおいて可能な限り早期にテストしなければならない。開発プロセスの終盤に向かうにつれて重要となるのは、制御ユニットが後で動作する際にいかなる事情下においても所望の通りに動作するようにすべく、制御ユニットが使用ないしは量産される前にテスト結果に基づいて必要な修正を行うため、既に開発が進んだ制御ユニットを可能な限り包括的にテストすることである。
【０００３】
開発プロセスの非常に後期の段階では、いわゆるハードウェア・イン・ザ・ループ・シミュレータ（ＨＩＬシミュレータ）が使用される。かかるＨＩＬシミュレータは、制御対象の技術的システムのモデルを備えており、このモデルはソフトウェアとなっている。ＨＩＬシミュレータはさらに、制御ユニットおよび制御対象の技術的システムの周辺に存在する技術的システムであって、当該制御ユニットおよび／または制御対象の技術的システムと協働する技術的システムの他のモデルを備えることができる。ＨＩＬシミュレータはまた、既に開発が進んで既にハードウェアで有形物として存在する制御ユニット（「制御ユニットを機器実装したもの」ともいう）を接続できる入／出力インタフェースも備えている。このようにして、複数のシミュレーション工程において制御ユニットの機能をテストすることができ、その際には、制御ユニットの信号に対する制御対象の技術的システムのモデルの応答と、制御対象の技術的システムのモデルによって設定されたイベントに対する制御ユニットの応答とを観測することができる。場合によっては、制御ユニットおよび制御対象の技術的システムの周辺の他の技術的システムの挙動を観測できることもある。その際には、通常動作も、制御対象の技術的システムにおけるエラーも、制御ユニットにおけるエラーも、制御ユニットと制御対象のシステムとの間の通信におけるエラー、たとえばケーブルブリッジ等も、また、たとえば短絡等の給電におけるエラーも、シミュレートすることができる。ＨＩＬシミュレータは、制御ユニット開発のために構成されたシミュレーション装置の一例である。ＨＩＬシミュレータはとりわけ、制御ユニット開発のために構成されたリアルタイム性シミュレーション装置の一例である。
【０００４】
ＨＩＬシミュレータを準備するための労力は一般に非常に大きく、特に、１つのＨＩＬシミュレータにおいて複数の部分モデルないしは部分シミュレーションが協働する場合には、非常に大きい。シミュレーションの準備の際には、部分モデル／部分シミュレーション間の通信をコンフィギュレーションする。部分モデル／部分シミュレーションは単独で、また通信に関しても、リアルタイムで動作する。リアルタイム性シミュレーションのために全体的にリアルタイム性の構造を実現するためには、部分モデル／部分シミュレーションに高い要求が課される。
【０００５】
したがって、リアルタイム性シミュレーションの作成時により大きなフレキシビリティを実現できることが望ましい。さらに、リアルタイム性シミュレーションのより大きな帯域幅を可能にするシミュレーション装置を実現することも望ましい。
【発明の概要】
【課題を解決するための手段】
【０００６】
本発明の例示的な実施形態は、制御ユニット開発用のリアルタイム性シミュレーション部を提供するための方法を含み、リアルタイム性シミュレーション部は、制御ユニットまたは制御ユニットの周辺または制御ユニットと当該制御ユニットの周辺との組み合わせをシミュレートするものであり、リアルタイム性シミュレーション部は、リアルタイム性の部分シミュレーション部と、当該リアルタイム性の部分シミュレーション部とインタラクションする非リアルタイム性のシミュレーション部と、の協調シミュレーションを有し、リアルタイム性の部分シミュレーション部と非リアルタイム性の部分シミュレーション部とは、シミュレーションデータを伝送するように構成されており、リアルタイム性の部分シミュレーション部は、実時間に相当する第１のシミュレーション時間を有し、かつ非リアルタイム性の部分シミュレーション部は、第１のシミュレーション時間と連動化される仮想の第２のシミュレーション時間であって、リアルタイム性シミュレーション部の開始時に第１のシミュレーション時間と一致する第２のシミュレーション時間を有する。本方法は、（ａ）リアルタイム性の部分シミュレーション部側において、非リアルタイム性の部分シミュレーション部が、次のマクロシミュレーションステップのための計算されたシミュレーションデータを供給したか否かを検査するステップと、（ｂ）非リアルタイム性の部分シミュレーション部が、次のマクロシミュレーションステップのための計算されたシミュレーションデータを完成してリアルタイム性の部分シミュレーション部へ供給完了している場合は、当該次のマクロシミュレーションステップのための計算されたシミュレーションデータを当該リアルタイム性の部分シミュレーション部において使用するステップと、（ｃ）非リアルタイム性の部分シミュレーション部が、次のマクロシミュレーションステップのための計算されたシミュレーションデータを完成してリアルタイム性の部分シミュレーション部へ供給完了していない場合には、次のマクロシミュレーションステップのための推定されたシミュレーションデータを作成するステップと、（ｄ）適時に供給されなかったシミュレーションデータの計算の完了後、第２のシミュレーション時間を第１のシミュレーション時間に合わせて調整するステップと、を有する。
【０００７】
本発明の例示的な実施形態によって、非リアルタイム性の部分シミュレーション部とリアルタイム性の部分シミュレーション部とを統合して、全体的にリアルタイム性の全体シミュレーションを実現することができる。このようにして、リアルタイム性シミュレーション部の作成に際して新規の手段が得られる。というのも、全ての部分シミュレーションもそれ自体がリアルタイム性でなければならないという前提条件が必須でなくなるからである。このことによって、非リアルタイム性の形態のシミュレーションモジュールについては、リアルタイム形式の作成のために労力を投入することと、シミュレーション中にリアルタイム形式を実現するために比較的大きなリソースを準備する必要性とをなくすことができる。このことによって、全体的にリアルタイム性のシミュレーションを、より小さい労力とより大きなフレキシビリティとで実現することができる。本発明の例示的な実施形態はさらに、非リアルタイム性のシミュレーションにおいて使用するための解法アルゴリズム、いわゆるソルバを用いて、非リアルタイム性の部分シミュレーション部を計算することも可能にする。このことによって、解法アルゴリズムの使用に関してより大きなフレキシビリティを達成することができる。また、より早期の開発段階から得られた、上述の非リアルタイム性の部分シミュレーション部の形態の非リアルタイム性のモデルを、全体的にリアルタイム性のシミュレーションに統合できることによって、より大きなフレキシビリティを達成することもできる。かかる統合によって、シミュレーションモジュールを編成する際の労力を特に小さくすることができる。
【０００８】
本発明の例示的な実施形態によって特に、非リアルタイム性の部分シミュレーション部が遅延している場合であっても、シミュレーションの高信頼性の動作継続が可能になり、それと同時に、リアルタイム性の部分シミュレーション部のシミュレーション時間と非リアルタイム性の部分シミュレーション部のシミュレーション時間とを連動化し、遅延時には非リアルタイム性の部分シミュレーション部のシミュレーション時間を調整することによって、高度なシミュレーション精度を達成することもできる。推定されたシミュレーションデータを作成することにより、リアルタイム性の部分シミュレーション部はちょうど、計算されたシミュレーションデータが供給されたかのように、次のマクロシミュレーションステップを順序に従って実行することができる。シミュレーションデータの推定によって、リアルタイム性の部分シミュレーション部におけるシミュレーションの精度に悪影響が生じることがあり得るが、シミュレーション順序自体は妨げられることはなく、また、リアルタイム性の部分シミュレーション部は自己の順序を調整する必要もない。非リアルタイムで供給されるシミュレーションデータの計算の完了後に第２のシミュレーション時間を第１のシミュレーション時間に合わせて調整することにより、非リアルタイム性の部分シミュレーション部が遅延しているか否か、どの程度遅延しているかの、非リアルタイム性の部分シミュレーション部側の明確な記録を実現することができる。第２のシミュレーション時間を第１のシミュレーション時間に合わせて調整することにより、リアルタイム性の部分シミュレーション部が非リアルタイム性の部分シミュレーション部の再同期を導出するために使用できる明確な信号ないしは一義的な示唆が得られる。よって、第２のシミュレーション時間を上述のように調整することにより、全体シミュレーションに対して、定義上は不完全な推定シミュレーションデータから、計算されたシミュレーションデータに帰結できる明確な信号を得ることができ、これによって可能な限り高い精度を達成することができる。
【０００９】
シミュレーションデータを推定し、両シミュレーション時間を連動化して、明確な信号となる第１のシミュレーション時間に合わせての第２のシミュレーション時間の調整を行うことにより、非リアルタイム性の部分シミュレーション部によって供給されるシミュレーションデータを可能な限り包括的に活用することによって、全体シミュレーションの中断なしの順序を高精度で実現することができる。
【００１０】
リアルタイム性シミュレーション部は、制御ユニットまたは制御ユニットの周辺または制御ユニットと当該制御ユニットの周辺との組み合わせをシミュレートする。上述の例のＨＩＬシミュレータでは、リアルタイム性シミュレーション部は制御ユニットの周辺をシミュレートすることができ、また、リアルタイム性シミュレーション部をＨＩＬシミュレータ上に実装することができる。その際には特に、リアルタイム性シミュレーション部は制御対象の技術的システムであることができ、場合によっては、インタラクションする構成要素と組み合わせたものとすることができる。たとえばエンジン制御ユニットがＨＩＬシミュレータに接続されている場合、既に開発が進んで有形物として存在するエンジン制御ユニットに対して可能な限りリアルなテスト環境を提供するため、リアルタイム性シミュレーション部はエンジンをシミュレートすることができ、場合によってはたとえばエンジンとトランスミッションとの組み合わせをシミュレートすることもできる。リアルタイム性シミュレーション部が制御ユニットをシミュレートする場合、たとえば、この制御ユニットをシミュレートしたものを制御の修正のために、既に存在する制御ユニットに接続し、または制御対象の技術的システムに直接接続することができる。このようにして、新規開発された制御を非常に早期の開発段階でシミュレーションとして実世界でテストすることができる。そのための一例の手法として、いわゆるラピッドコントロールプロトタイピング（ＲＣＰ）がある。リアルタイム性シミュレーション部は、制御ユニットと当該制御ユニットの周辺との組み合わせをシミュレートすることもできる。このことによって、リアルタイム性シミュレーション部において、たとえば制御ユニットをシミュレートしたものと制御対象の技術的システムをシミュレートしたものとの完全なインタラクションを、著しく早期の開発段階でテストすることができる。よって、本発明の例示的な実施形態の方法は、制御ユニット開発の多くの場面で使用することができる。
【００１１】
リアルタイム性シミュレーション部は、リアルタイム性の部分シミュレーション部と、当該リアルタイム性の部分シミュレーション部とインタラクションする非リアルタイム性の部分シミュレーション部と、の協調シミュレーションを有する。定義上は、リアルタイム性の部分シミュレーション部は、予め決まった時点で全ての入力信号を処理完了していることができ、かつこれに対応する出力信号を供給完了していることができるものである。予め決まった時点とは実時間の時点、すなわち、現実に経過する時間と一致する時間の時点である。多数のメカニズムと、十分な高さの計算能力とが、リアルタイム性の部分シミュレーション部のかかる決定論的な挙動を達成する。リアルタイム性の部分シミュレーション部が決定論的に振舞って他の部分シミュレーションと、ないしは当該シミュレーションに接続された機器と、たとえばＨＩＬシミュレータに接続された制御ユニットとデータを交換する予め決まった時点は、「マクロシミュレーションステップ」という。それに対して、リアルタイム性の部分シミュレーション部において１つのマクロステップの中では、一般に、当該リアルタイム性の部分シミュレーション部が結果を計算する多数のマイクロシミュレーションステップが実行される。リアルタイム性の部分シミュレーション部とは対照的に、非リアルタイム性の部分シミュレーション部ではかかる決定論性は保証されない。非リアルタイム性の部分シミュレーション部の内部構造および／または非リアルタイム性の部分シミュレーション部の計算能力に起因して、理想的なシミュレーションについて望まれているように、非リアルタイム性の部分シミュレーション部がどのマクロシミュレーションステップに対しても計算されたシミュレーションデータを供給することは、保証できない。
【００１２】
上記にて既に示したように、リアルタイム性の部分シミュレーション部は、実時間に相当する第１のシミュレーション時間を有する。よって第１のシミュレーション時間は、少なくとも、他のエンティティとのデータ伝送ないしは通信の予め規定された時点において、すなわち通常はマクロシミュレーションステップ間において、現実に経過する時間と一致する。非リアルタイム性の部分シミュレーション部は、第１のシミュレーション時間と連動化される仮想の第２のシミュレーション時間を有する。第２のシミュレーション時間は、データ伝送／通信の予め決まった時点であっても実時間から偏差し得る点で仮想的なものである。第２のシミュレーション時間は、第１のシミュレーション時間との関係において規定されることにより、すなわち、リアルタイム性の部分シミュレーション部の実時間と関係を有することにより、第１のシミュレーション時間と連動化される。リアルタイム性シミュレーションの開始時には、第１のシミュレーション時間と第２のシミュレーション時間とは一致する。このことは、第２のシミュレーション時間は第１のシミュレーション時間と同一の実時間で開始する、ということである。非リアルタイム性の部分シミュレーション部は、第２のシミュレーション時間を常に第１のシミュレーション時間と可能な限り一致した状態に維持するように動作する。
【００１３】
「実時間」とは一般的に、現実と同期して経過する時間をいう。実時間の増分は、現実に経過する時間の同一の増分に相当する。このことは第１のシミュレーション時間においては、第１のシミュレーション時間の増分が、現実に経過する時間の同一の増分に相当することを意味する。リアルタイム性のシミュレーションないしは部分シミュレーションは、少なくとも予め決まった時点において、決定論的に結果を出力することができるものである。
【００１４】
リアルタイム性の部分シミュレーション部と非リアルタイム性の部分シミュレーション部とは、シミュレーションデータを伝送するように構成されている。換言すると、非リアルタイム性の部分シミュレーション部とリアルタイム性の部分シミュレーション部とはシミュレーションの実行中にシミュレーションデータを交換する。このとき、非リアルタイム性の部分シミュレーション部の挙動は、リアルタイム性の部分シミュレーション部によって供給されたシミュレーションデータに依存し、逆に、リアルタイム性の部分シミュレーション部の挙動は、非リアルタイム性の部分シミュレーション部によって供給されたシミュレーションデータに依存する。リアルタイム性の部分シミュレーション部と非リアルタイム性の部分シミュレーション部との間には、双方向通信接続が存在する。この通信は、予め決まった時点において行われる。すなわちリアルタイム性の部分シミュレーション部および非リアルタイム性の部分シミュレーション部は、遅くとも予め決まった通信時点までにはシミュレーションデータを完成して、それぞれ他方の部分シミュレーションへ供給するように動作する。
【００１５】
上記にて既に述べたように、非リアルタイム性の部分シミュレーション部は、いかなる事情下においても予め決まった通信時点までにシミュレーションデータを供給できるというものではない。非リアルタイム性の部分シミュレーション部が、次のマクロシミュレーションステップのための計算されたシミュレーションデータを完成してリアルタイム性の部分シミュレーション部へ供給完了していない場合は、当該次のマクロシミュレーションステップのために推定されたシミュレーションデータを作成して、リアルタイム性の部分シミュレーション部によって当該次のマクロシミュレーションステップのために使用する。「計算されたシミュレーションデータを完成して供給していない」との表現は、特定の時点において所望されている計算されたシミュレーションデータが適時に完成していない、という意味である。リアルタイム性の部分シミュレーション部のリアルタイム処理を損なうおそれを生じないようにするため、代替として推定されたシミュレーションデータを使用する。
【００１６】
適時に供給されなかったシミュレーションデータの計算の完了後に第２のシミュレーション時間を第１のシミュレーション時間に合わせて調整する、ということは、適時には計算されなかった所望のシミュレーションデータに従って、仮想の第２のシミュレーション時間を第１のシミュレーション時間と関係づける、という意味である。換言すると、仮想の第２のシミュレーション時間は第１のシミュレーション時間に基づいて、特に、適時には計算されなかった新規のシミュレーションデータのために使用された、リアルタイム性の部分シミュレーション部のシミュレーションデータに基づいて、設定される、ということである。適時に供給されなかったシミュレーションデータの計算が完了したとき、第２のシミュレーション時間は第１のシミュレーション時間に基づいて調整されるが、通常は第１のシミュレーション時間と未だ一致しない。しかし、適時に供給されなかったシミュレーションデータの計算の完了後に第２のシミュレーション時間を第１のシミュレーション時間に合わせて調整することにより、シミュレーションデータの計算時に遅れを取り戻し、次のマクロシミュレーションステップないしは複数の次のマクロシミュレーションステップのうちいずれかについては、第２のシミュレーション時間を第１のシミュレーション時間と一致させることができる可能性が開かれる。その上、第２のシミュレーション時間を上述のように調整することは、非リアルタイム性の部分シミュレーション部が実時間よりどの程度遅れているかを測定するための信号ないしは手段にもなる。
【００１７】
次のマクロシミュレーションステップのための計算されたシミュレーションデータが適時に完成されてリアルタイム性の部分シミュレーション部へ供給完了された場合でも、第２のシミュレーション時間は第１のシミュレーション時間に合わせて調整される。かかる場合、第２のシミュレーション時間を第１のシミュレーション時間に合わせて調整すると、仮想の第２のシミュレーション時間が第１のシミュレーション時間と一致していること、および計算されたシミュレーションデータがリアルタイム要求に従って供給されたことが分かる。
【００１８】
他の一実施形態では、推定されたシミュレーションデータの作成は、非リアルタイム性の部分シミュレーション部によって供給された以前の計算されたシミュレーションデータに基づいて行われる。換言すると推定されたシミュレーションデータは、非リアルタイム性の部分シミュレーション部によって先行のマクロシミュレーションステップのために計算されたシミュレーションデータに基づいて生成することができる。その際には、この以前のシミュレーションデータの方は適時に供給されたこと、または適時に供給されなかったことがあり得る。推定されたシミュレーションデータは、以前のシミュレーションデータのみから作成することができ、または以前のシミュレーションデータから他のデータおよび／または境界条件を用いて作成することができる。また、以前のシミュレーションデータを用いずに、推定されたシミュレーションデータを他の態様で作成することも可能である。これについては以下説明する。
【００１９】
協調シミュレーションは、複数のリアルタイム性の部分シミュレーション部および／または複数の非リアルタイム性の部分シミュレーション部を有することができる。１つ／複数のリアルタイム性の部分シミュレーション部と１つ／複数の非リアルタイム性の部分シミュレーション部との間の通信は、上記にて述べたように、部分シミュレーション部の各下位群の中で行うことができる。
【００２０】
他の一実施形態では、第２のシミュレーション時間はタイムスタンプによって第１のシミュレーション時間と連動化されており、その際には、リアルタイム性の部分シミュレーション部は第１のタイムスタンプを生成し、全ての第１のタイムスタンプが第１のシミュレーション時間を示し、非リアルタイム性の部分シミュレーション部は、計算されたシミュレーションデータの計算の完了時に第２のタイムスタンプを生成する。タイムスタンプはシミュレーションデータに連動化ないしは添付することができ、ないしは、シミュレーションデータと共に同一のデータパケットにパッケージングすることができる。このようにして、リアルタイム性の部分シミュレーション部および非リアルタイム性の部分シミュレーション部はそれぞれシミュレーションデータをタイムスタンプと共に、それぞれ他方の部分シミュレーションへ伝送することができる。換言すると、シミュレーションデータにはそれぞれ、当該シミュレーションデータの完成時点を示すタイムスタンプ、ないしは、使用されるシミュレーションデータを推定できるタイムスタンプを付与できる、ということである。
【００２１】
他の一実施形態では、第２のシミュレーション時間を第１のシミュレーション時間に合わせて調整することは、第２のタイムスタンプを生成することを含み、第２のタイムスタンプは、リアルタイム性の部分シミュレーション部から得られて計算のために使用された最後のシミュレーションデータの第１のシミュレーション時間に合わせて設定され、またはリアルタイム性の部分シミュレーション部から得られて計算のために使用された最後のシミュレーションデータの第１のシミュレーション時間を予め決まった時間調整値だけ増分したものに合わせて設定されたものである。したがって第２のタイムスタンプは、リアルタイム性の部分シミュレーション部から得られたシミュレーションデータのうちどれが使用されたかを示すものである。かかる第２のタイムスタンプからリアルタイム性の部分シミュレーション部および／またはエラー処理システムは、次のマクロシミュレーションステップのために供給された計算されたシミュレーションデータが適時であるか否かを推定することができる。その際には、第２のタイムスタンプをリアルタイム性の部分シミュレーション部の最後に使用されたシミュレーションデータのタイムスタンプに合わせて設定することができ、これにより、リアルタイム性の部分シミュレーション部は簡単な比較によって、非リアルタイム性の部分シミュレーション部へ供給した最後のシミュレーションデータが使用されたか否かを判断することができる。また、非リアルタイム性の部分シミュレーション部が、リアルタイム性の部分シミュレーション部から得られて使用された最後のシミュレーションデータの第１のタイムスタンプを、予め決まった時間調整値だけ増分させることも可能である。とりわけ、予め決まった時間調整値は、第２のタイムスタンプが、非リアルタイム性の部分シミュレーション部から供給されたシミュレーションデータを受け取ったときに期待される第１のシミュレーション時間と一致するようにすることができる。よって、リアルタイム性の部分シミュレーション部は第２のタイムスタンプと現時点の第１のシミュレーション時間とを比較することにより、適時に供給されたシミュレーションデータであるか否かを判断することができる。
【００２２】
他の一実施形態では、非リアルタイム性の部分シミュレーション部は入力データバッファを備えており、リアルタイム性の部分シミュレーション部は非リアルタイム性の部分シミュレーション部の入力データバッファにシミュレーションデータを書き込み、その際には、入力データバッファに書き込まれた全てのシミュレーションデータを、計算されたシミュレーションデータの完成のために使用して、計算されたシミュレーションデータを次のマクロシミュレーションステップのために適時に供給することによって、第２のシミュレーション時間を第１のシミュレーション時間に一致させる。よって、非リアルタイム性の部分シミュレーション部は第２のシミュレーション時間を第１のシミュレーション時間と一致させることにより、当該非リアルタイム性の部分シミュレーション部の入力データバッファの処理が完了したこと、すなわち空であることと、計算されたシミュレーションデータが所望の通りに次のマクロシミュレーションステップのために供給される程度まで非リアルタイム性の部分シミュレーション部がシミュレーションデータの計算において遅れを取り戻したことを示す。このように第１のシミュレーション時間に対して遅れを取り戻す場合、「同期」ないしは「再同期」と称することもできる。
【００２３】
他の一実施形態では、リアルタイム性の部分シミュレーション部へは、非リアルタイム性の部分シミュレーション部から適時に完成した計算されたシミュレーションデータのみが供給される。このようにしてリアルタイム性の部分シミュレーション部には、新規の計算されたシミュレーションデータの有無から既に、遅延が生じているか否かが明らかとなる。適時に完成しなかった計算されたシミュレーションデータは、エラー処理システムへ供給することができる。また、非リアルタイム性の部分シミュレーション部によって計算されたシミュレーションデータを全て、適時であるかまたは遅延しているかにかかわらず、エラー処理システムへ転送することもできる。かかる場合、エラー処理システムはたとえば推定されたシミュレーションデータを作成するため、大きなデータベースを備えている。転送ないしは供給の手前で、リアルタイム性の部分シミュレーション部によって、シミュレーションデータが適時に供給されたか否かの検査を行うことができる。
【００２４】
適時に完成した計算されたシミュレーションデータの供給では、非リアルタイム性の部分シミュレーション部がリアルタイム性の部分シミュレーション部へのシミュレーションデータの可能な送信の直前に、シミュレーションデータをリアルタイム性の部分シミュレーション部へ適時に供給できるか否かを検査することを前提とすることができる。検査により、リアルタイム性の部分シミュレーション部に対するシミュレーションデータの適時の供給が不可能であるとの結果になった場合に限り、シミュレーションデータはエラー処理システムへ直接伝送される。
【００２５】
他の一実施形態では、協調シミュレーション部はエラー処理システムを備えている。エラー処理システムはリアルタイム性の部分シミュレーション部の一部とすることができる。また、エラー処理システムがリアルタイム性の部分シミュレーション部および非リアルタイム性の部分シミュレーション部とは別体であり、リアルタイム性の部分シミュレーション部および非リアルタイム性の部分シミュレーション部と接続されていることも可能である。
【００２６】
他の一実施形態では、本方法はさらに、非リアルタイム性の部分シミュレーション部が、次のマクロシミュレーションステップのための計算されたシミュレーションデータを供給完了していない場合は、当該次のマクロシミュレーションステップのための計算されたシミュレーションデータをリアルタイム性の部分シミュレーション部および／またはエラー処理システムへ事後的に供給するステップも有する。非リアルタイム性の部分シミュレーション部が次のマクロシミュレーションステップのための計算されたシミュレーションデータを供給しなかったとの事実は、非リアルタイム性の部分シミュレーション部の計算性能に起因する遅延に基づくものである可能性がある。また、かかる遅延が他の理由により生じたという可能性もある。計算されたシミュレーションデータを事後的に供給することにより、この計算されたシミュレーションデータが適時でなくても転送され、計算されたシミュレーションデータのセットの全部がリアルタイム性の部分シミュレーション部および／またはエラー処理システムに存在することとなることが保証される。さらにこのようにして、非リアルタイム性の部分シミュレーション部がリアルタイム性の部分シミュレーション部のシミュレーションデータをどこまで処理したかが記録ないしは通知される。
【００２７】
他の一実施形態では、本方法はさらに、次のマクロシミュレーションステップのための推定されたシミュレーションデータと、当該次のマクロシミュレーションステップのための事後的に供給された計算されたシミュレーションデータとから、推定誤差を計算するステップと、推定誤差に基づいてリアルタイム性の部分シミュレーション部を事後的に適合し、かつ／または後のマクロシミュレーションステップのための推定されたシミュレーションデータの作成を適合するステップとを有する。換言すると、シミュレーション結果を事後的に改善するため、かつ／または後で必要となる推定されたシミュレーションデータがより良好な推定結果となるように、推定誤差を使用することができる。換言すると、推定誤差を後のシミュレーションの改善のために使用することができる。後のマクロシミュレーションステップのための推定されたシミュレーションデータの作成を適合するとは、推定されたシミュレーションデータを作成するアルゴリズムを推定誤差に基づいて適合し、後で推定されたシミュレーションデータが再び必要になった場合に、この適合されたアルゴリズムを使用する、ということである。推定誤差を計算して、推定されたシミュレーションデータの作成を適合することは、リアルタイム性の部分シミュレーション部において、もしくはエラー処理システムにおいて行うことができ、または一部をリアルタイム性の部分シミュレーション部において行って一部をエラー処理システムにおいて行うことができる。また、推定誤差を計算して、推定されたシミュレーションデータの作成を適合することの全部または一部を、非リアルタイム性の部分シミュレーション部において行うことも可能である。
【００２８】
他の一実施形態では、本方法はさらに、非リアルタイム性の部分シミュレーション部が、次のマクロシミュレーションステップのための計算されたシミュレーションデータを供給完了していない場合は、当該次のマクロシミュレーションステップの次の１つまたは複数のマクロシミュレーションステップのための計算されたシミュレーションデータを直ちに作成し、計算されたシミュレーションデータが適時にリアルタイム性の部分シミュレーション部へ供給されるまで、計算されたシミュレーションデータを直ちに作成することを行うステップも有する。計算されたシミュレーションデータをこのように直接作成することにより、非リアルタイム性の部分シミュレーション部が可能な限り迅速に第１のシミュレーション時間に対して遅れを取り戻せるようにすることができる。上述の次のマクロシミュレーションステップの次の１つまたは複数のマクロシミュレーションステップのための計算されたシミュレーションデータを直接作成するとは、非リアルタイム性の部分シミュレーション部が、第１のシミュレーション時間に対して遅れを取り戻すように、実質的に全ての使用可能な計算能力を使用する、ということである。たとえば、アイドリング状態またはスリープ状態による計算時間は割り振らないことが可能である。
【００２９】
他の一実施形態では非リアルタイム性の部分シミュレーション部は、シミュレーション進行全体にわたって平均して計算されたシミュレーションデータを適時に供給する計算性能と、場合によってはリアルタイム性を達成する他の特性とを有する。「適時」との概念は、リアルタイム性シミュレーション部の現在次のシミュレーションステップを基準とした遅延ないしは適時性に係るものである。「シミュレーション進行全体にわたって平均して適時に」との表現は、計算されたシミュレーションデータの完成時点と、リアルタイム性の部分シミュレーション部が計算されたシミュレーションデータを必要とする時点と、の間のデルタ（Δ）が、平均的に負になることを意味する。換言すると、非リアルタイム性の部分シミュレーション部が平均して、ちょうど適時よりも迅速にシミュレーションデータの計算を完了する、ということである。さらに別の文言でいうと、非リアルタイム性の部分シミュレーション部の全ての計算時間の総和が、シミュレーションの経過した実時間より短い、ということである。このようにして、非リアルタイム性の部分シミュレーション部は自己の計算性能によって、シミュレーションデータが適時に完成しなかった場合に遅延を取り戻して、シミュレーションデータの計算を落とすことなく第２のシミュレーション時間を第１のシミュレーション時間と一致させることができる。非リアルタイム性の部分シミュレーション部はまた、計算されたシミュレーションデータの作成が平均的な複雑さである場合に、リアルタイム性の部分シミュレーション部への計算されたシミュレーションデータの適時の供給を可能にする計算性能を有することもできる。よって、非リアルタイム性の部分シミュレーション部の計算性能は、マクロシミュレーションステップを基準にして定義することもできる。
【００３０】
他の一実施形態ではリアルタイム性の部分シミュレーション部は、非リアルタイム性の部分シミュレーション部が現時点で次のマクロシミュレーションステップのための計算されたシミュレーションデータを供給したか否かを、全てのマクロシミュレーションステップにおいて、またはｎ番目ごとのマクロシミュレーションステップにおいて、またはマクロシミュレーションステップの所定の部分的に規則的な順序で検査することができる。このようにして、予め定められたマクロステップ幅を基準としてどのような間隔で非リアルタイム性の部分シミュレーション部からリアルタイム性の部分シミュレーション部へデータ伝送を行うべきかを、予め決定することができ、これによって、遅延の有無を判断する時点も予め正確に規定される。変数ｎは整数であり、たとえば２，３，４，５，６，７，８等である。
【００３１】
他の一実施形態では、推定されたシミュレーションデータの作成は、リアルタイム性の部分シミュレーション部において、かつ／または非リアルタイム性の部分シミュレーション部において、かつ／またはエラー処理システムにおいて行われる。換言すると、推定されたシミュレーションデータの作成は、リアルタイム性の部分シミュレーション部の内在部分とすること、または非リアルタイム性の部分シミュレーション部の内在部分とすること、または別体のエラー処理システムに実装すること、または上掲の３つのエンティティのうちいずれか２つの何らかの組み合わせに分割すること、たとえばリアルタイム性の部分シミュレーション部とエラー処理システムとに分割すること、または上掲の３つ全てのエンティティに分割することができる。よって使用事例に応じて、たとえば、リアルタイム性の部分シミュレーション部において使用可能な計算能力に応じて、推定されたシミュレーションデータをどこで作成するかを決定することができる。
【００３２】
他の一実施形態では、推定されたシミュレーションデータの作成は、非リアルタイム性の部分シミュレーション部によって供給された以前の計算されたシミュレーションデータから、推定されたシミュレーションデータの外挿を行うステップ、特に０次、１次または２次の外挿を行うステップと、特性曲線ないしは特性マップから、推定されたシミュレーションデータを導出するステップと、以前のシミュレーションに基づいて、推定されたシミュレーションデータを作成するステップと、推定されたシミュレーションデータを、予め決まった最小値および／または最大値に制限するステップと、推定されたシミュレーションデータを、予め決まった変化ダイナミクスの向きに合わせるステップと、リアルタイム性システムの内部状態を考慮するステップと、のうち少なくとも１つを有する。上掲のステップは、推定されたシミュレーションデータを異なる精度と異なる複雑度とで作成できる手段である。上掲のステップは、非常に低い複雑度、たとえば０次の単純な外挿等から、中程度の複雑度、たとえば１次の外挿と、予め決まった最小値および最大値への推定されたシミュレーションデータの制限とを行うこと等に及び、たとえばリアルタイム性システムの多数の内部状態を考慮して以前のシミュレーションデータに基づいてどのようなシミュレーションデータが予測されるかを導出する非常に複雑な推定システムにまで及ぶ、幅広い帯域幅の複雑度をカバーする。推定されたシミュレーションデータの作成はこのようにして、制御ユニット開発用のリアルタイム性シミュレーションの個別事例に特に効果的に合わせて適合することができる。特性曲線ないしは特性マップからの推定されたシミュレーションデータの導出によって、非リアルタイム性の部分シミュレーション部によって供給された以前の計算されたシミュレーションデータを処理することなく、推定されたシミュレーションデータを作成することができる。非リアルタイム性の部分シミュレーション部としてのエンジンシミュレーションを例にとると、エンジンの特定の現時点の状態は、他の現時点の状況から特性マップを用いて推定することができる。以前のシミュレーションに基づく、推定されたシミュレーションデータの作成は、以前のシミュレーション工程から得られた部分シミュレーション部の挙動に関する経験値を使用し、これによって良好な推定が可能になる。
【００３３】
他の一実施形態では、本方法はさらに、非リアルタイム性の部分シミュレーション部が、次のマクロシミュレーションステップのための計算されたシミュレーションデータを完成してリアルタイム性の部分シミュレーション部へ供給しなかった事例を記録するステップも有する。かかる記録によって、シミュレーションの終了後に、推定されたシミュレーションデータを当該シミュレーションが使用する必要があったか否か、およびどの程度使用する必要があったかを特定することができる。このことにより、シミュレーション結果の信頼性を表す尺度を提供することができる。また、さらなるシミュレーション工程のために当該認識に基づいてシミュレーションモジュールを調整して高いシミュレーション品質を達成することもできる。記録は、任意の適切な形態で行うことができ、たとえば、上述の事例を出力または記憶することによって行うことができる。記録は特に、上述の事例の時点および／または数の記録を含むことができる。
【００３４】
他の一実施形態では、リアルタイム性の部分シミュレーション部は制御ユニットの周辺をシミュレートし、非リアルタイム性の部分シミュレーション部は制御ユニットをシミュレートする。リアルタイム性の部分シミュレーション部は特に、制御対象の技術的システムをシミュレートすることができる。このようにして、未だリアルタイム性ではない、制御ユニットの実際は不具合のあるモデル実装を、制御ユニットの非常に早い時点で当該制御ユニットの周辺において、条件が既に実時間テストに非常に近い状態でテストすることができる。
【００３５】
他の一実施形態では、リアルタイム性の部分シミュレーション部は制御ユニットの周辺の第１の部分をシミュレートし、非リアルタイム性の部分シミュレーション部は制御ユニットの第２の部分をシミュレートする。その際には、リアルタイム性の部分シミュレーション部は制御対象の技術的システムの第１の部分をシミュレートし、かつ非リアルタイム性の部分シミュレーション部は制御対象の技術的システムの第２の部分をシミュレートすることができる。また、リアルタイム性の部分シミュレーション部が制御対象の技術的システムをシミュレートし、かつ非リアルタイム性の部分シミュレーション部は制御対象の技術的システムまたは制御ユニットの周辺構成要素をシミュレートすることも可能であり、またはその逆も可能である。上掲の事例では、リアルタイム性の部分シミュレーション部をＨＩＬシミュレータ上で実行させることができ、ないしは、リアルタイム性の部分シミュレーション部をＨＩＬシミュレータとすることができる。ＨＩＬシミュレータはとりわけ、テスト対象の制御ユニットに接続されるように構成することができ、テスト対象の制御ユニットは、既に機器実装された状態のもの、またはＳＷモデルとして外部機器上に存在しているものとすることができる。いずれの場合においても、少なくとも１つの非リアルタイム性の部分シミュレーション部を有する、ＨＩＬシミュレータ上でのリアルタイム性の全体シミュレーションの中で、制御ユニットをテストすることができる。
【００３６】
他の一実施形態では、非リアルタイム性の部分シミュレーション部は制御ユニットの周辺をシミュレートし、リアルタイム性の部分シミュレーション部は制御ユニットをシミュレートする。非リアルタイム性の部分シミュレーション部は特に、制御対象の技術的システムをシミュレートすることができる。
【００３７】
他の一実施形態では非リアルタイム性の部分シミュレーション部は、本来的にはリアルタイム性の部分シミュレーション部を、非リアルタイム性の媒体を介してリアルタイム性の部分シミュレーション部に接続したものであり、非リアルタイム性の媒体はたとえば、インターネットまたはＷＬＡＮ等である。
【００３８】
本発明の例示的な実施形態はさらに、制御ユニット開発用のシミュレーション装置も含み、シミュレーション装置はリアルタイム性であり、かつ制御ユニットまたは制御ユニットの周辺または制御ユニットと当該制御ユニットの周辺との組み合わせをシミュレートするものであり、実時間に相当する第１のシミュレーション時間を有するリアルタイム性の部分シミュレーション部と、リアルタイム性の部分シミュレーション部とインタラクションする非リアルタイム性の部分シミュレーション部とを備えており、非リアルタイム性の部分シミュレーション部は、第１のシミュレーション時間と連動化される仮想の第２のシミュレーション時間であって、リアルタイム性シミュレーションの開始時には第１のシミュレーション時間と一致する第２のシミュレーション時間を有し、シミュレーション装置はさらに、リアルタイム性の部分シミュレーション部と非リアルタイム性の部分シミュレーション部との間でシミュレーションデータを交換するために構成された通信パスを有する。非リアルタイム性の部分シミュレーション部は、計算されたシミュレートデータをリアルタイム性の部分シミュレーション部へ供給するように構成されている。リアルタイム性の部分シミュレーション部は、非リアルタイム性の部分シミュレーション部が次のマクロシミュレーションステップのための計算されたシミュレーションデータを供給完了したか否かを検査し、非リアルタイム性の部分シミュレーション部が次のマクロシミュレーションステップのための計算されたシミュレーションデータを完成してリアルタイム性の部分シミュレーション部へ供給完了している場合には、次のマクロシミュレーションステップのために計算されたシミュレーションデータを使用し、非リアルタイム性の部分シミュレーション部が次のマクロシミュレーションステップのための計算されたシミュレーションデータを完成してリアルタイム性の部分シミュレーション部へ供給完了していない場合には、次のマクロシミュレーションステップのために推定されたシミュレーションデータを使用するように構成されている。非リアルタイム性の部分シミュレーション部は、適時に供給されなかったシミュレーションデータの計算の完了後に第２のシミュレーション時間を第１のシミュレーション時間に合わせて調整するように構成されている。上記にて制御ユニット開発用のリアルタイム性シミュレーション部を供給するための方法について記載した他の構成、改良および効果は、制御ユニット開発用のシミュレーション装置にも類推的に適用可能である。
【００３９】
他の一実施形態では、非リアルタイム性の部分シミュレーション部は１つまたは複数のプロセッサまたはプロセッサコアを備えており、プロセッサまたはプロセッサコアは、計算されたシミュレーションデータをシミュレーション進行全体にわたって平均して適時に供給するために十分な計算性能を有する。
【００４０】
添付の図面を参照して、他の例示的な実施形態を説明する。
【図面の簡単な説明】
【００４１】
【図１】テスト対象の制御ユニットが接続された、本発明の例示的な一実施形態のリアルタイム性シミュレーション部を提供するための方法を実行できるシミュレーション装置を示すブロック図である。
【図２】本発明の例示的な一実施形態の方法によって提供されるリアルタイム性シミュレーション部のブロック図である。
【図３】一実施形態のリアルタイム性シミュレーション部を提供するための方法における、リアルタイム性の部分シミュレーション部と非リアルタイム性の部分シミュレーション部との間のデータフローを示すフローチャートである。
【図４Ａ】本発明の例示的な実施形態の方法で見られる、リアルタイム性の部分シミュレーション部と非リアルタイム性の部分シミュレーション部との連動化点の複数の異なるパターンを示す図である。
【図４Ｂ】本発明の例示的な実施形態の方法で見られる、リアルタイム性の部分シミュレーション部と非リアルタイム性の部分シミュレーション部との連動化点の複数の異なるパターンを示す図である。
【図４Ｃ】本発明の例示的な実施形態の方法で見られる、リアルタイム性の部分シミュレーション部と非リアルタイム性の部分シミュレーション部との連動化点の複数の異なるパターンを示す図である。
【発明を実施するための形態】
【００４２】
図１はシミュレーション装置２を示しており、本実施例では、シミュレーション装置２はＨＩＬシミュレータ２である。ＨＩＬシミュレータ２は物理的インタフェース４を備えており、この物理的インタフェース４を介して外部機器をＨＩＬシミュレータ２に接続することができる。図１では、制御ユニット８が物理的インタフェース４に接続されている。図１の実施例では、制御ユニット８は自動車のエンジンを制御するように構成されたエンジン制御ユニットである。ＨＩＬシミュレータ２はエンジン制御ユニット８をテストするために構成されている。
【００４３】
ＨＩＬシミュレータ２は、技術的システムのリアルタイム性シミュレーション部６を備えている。図１の実施例では、リアルタイム性シミュレーション部６はエンジンとトランスミッションとの組み合わせのモデルである。リアルタイム性シミュレーション部６は、「制御ユニット８の周辺のシミュレーション」とも称され得る。というのもこれは、制御ユニット８の動作周辺、すなわち実動作において制御ユニット８と関連する構成要素の少なくとも一部をシミュレートするからである。リアルタイム性シミュレーション部６はソフトウェアモデルとなっており、物理的インタフェース４とデータを交換することができる。このようにして制御ユニット８とリアルタイム性シミュレーション部６との間にデータ接続が得られ、このデータ接続によって、これら両構成要素のインタラクションをシミュレートしてテストすることができる。その際には物理的インタフェース４は、制御ユニットから伝送される物理的信号および制御ユニットへ伝送される物理的信号と、ＨＩＬシミュレータ２内にて交換される論理的信号、たとえばソフトウェアベースの信号と、の間の移行部を引き受ける。
【００４４】
ＨＩＬシミュレータはリアルタイム性である。よって、他に調整を行うことなく、すなわち後で動作中に使用されるコンフィギュレーションで制御ユニット８をテストすることができる。ＨＩＬシミュレータ２は、有形物として存在する技術的システム、本実施例では自動車の実エンジンと実トランスミッションとの組み合わせが有する速度で、制御ユニット８とインタラクションする。これは、リアルタイム性シミュレーション部６の入力および出力に関する挙動の計算も、制御ユニット８に対して少なくともこの速度で行われる、ということにもなる。リアルタイム性シミュレーション部６は実行可能なモデルであり、これは、ＨＩＬシミュレータ２のハードウェア上で制御ユニット８をテストするための構成とすることができる。
【００４５】
図２は、図１の技術的システムのリアルタイム性シミュレーション部６を非常に詳細に示す図である。リアルタイム性シミュレーション部６は、リアルタイム性の部分シミュレーション部１０と非リアルタイム性の部分シミュレーション部１２とを有する。リアルタイム性の部分シミュレーション部１０と非リアルタイム性の部分シミュレーション部１２とは、リアルタイム性の協調シミュレーション部を構成する。リアルタイム性の部分シミュレーション部１０は、接続される制御ユニット８が制御するエンジンをシミュレートする。よって、リアルタイム性の部分シミュレーション部１０は制御対象の技術的システムをシミュレートする。リアルタイム性の部分シミュレーション部１０はデータパス１４を介して物理的インタフェース４に接続されており、ひいては制御ユニット８に接続されている。よって、リアルタイム性シミュレーション部６は外部に対して、すなわち制御ユニット８に対しては、リアルタイム性である。非リアルタイム性の部分シミュレーション部１２は、自動車のトランスミッションをシミュレートする。よって、非リアルタイム性の部分シミュレーション部はエンジンないしはエンジン制御ユニットの周辺構成要素をシミュレートする。制御ユニット８は、トランスミッションとの組み合わせにおいてエンジンに関してテストされることができる。
【００４６】
リアルタイム性の部分シミュレーション部１０と非リアルタイム性の部分シミュレーション部１２とはデータパス１６を介して接続されており、データパス１６を介してシミュレーションデータを交換する。非リアルタイム性の部分シミュレーション部１２は、リアルタイム性の部分シミュレーション部１０からのシミュレーションデータに基づいて、場合によっては、図示されていない構成要素の他の入力を使用して、ないしは、予め決まったシミュレーション状態のシーケンスを使用して、トランスミッションの挙動をシミュレートする。リアルタイム性の部分シミュレーション部１０は、非リアルタイム性の部分シミュレーション部１２からのシミュレーションデータと制御ユニット８の入力とに基づいて、場合によっては、図示されていない構成要素の他の入力を使用して、ないしは、予め決まったシミュレーション状態のシーケンスを使用して、エンジン１０の挙動をシミュレートする。さらに、リアルタイム性の部分シミュレーション部１０は以下説明するように、エラー処理システム１８から他のデータも受け取る。
【００４７】
本実施例では、シミュレーション中はリアルタイム性の部分シミュレーション部１０と非リアルタイム性の部分シミュレーション部１２とを、それぞれ別個のプロセッサ上で実行させる。よって、リアルタイム性の部分シミュレーション部１０に係る計算と非リアルタイム性の部分シミュレーション部１２に係る計算とを完全に並列実行することができる。また、リアルタイム性の部分シミュレーション部１０と非リアルタイム性の部分シミュレーション部１２とを同一のプロセッサ上で実行させるが、それぞれ別個のプロセッサコア上で実行させることも可能である。さらに、リアルタイム性の部分シミュレーション部１０と非リアルタイム性の部分シミュレーション部１２とはそれぞれ異なるアドレス空間を有し、両部分シミュレーション部を同一のプロセッサ上で実行すること、または異なるプロセッサ上で実行することも可能である。
【００４８】
本発明の例示的な一実施形態を可能な限り分かりやすくするため、図２ではリアルタイム性の部分シミュレーション部１０および非リアルタイム性の部分シミュレーション部１２のみを示している。しかし当業者であれば、さらに他の部分シミュレーション部を、リアルタイム性でも非リアルタイム性でもどちらでも、ＨＩＬシミュレータに設けることができ、これらの部分シミュレーション部からリアルタイム性シミュレーション部６を構成できることが明らかである。
【００４９】
リアルタイム性シミュレーション部６はさらに、エラー処理システム１８も備えている。非リアルタイム性の部分シミュレーション部１２はリアルタイム性の部分シミュレーション部１０に対して、計算されたが適時には完成されなかったシミュレーションデータをエラー処理システム１８へ伝送する。リアルタイム性の部分シミュレーション部１０のための適時に完成したシミュレーションデータは、リアルタイム性の部分シミュレーション部１０およびエラー処理システム１８の双方へ伝送される。非リアルタイム性の部分シミュレーション部１２がリアルタイム性の部分シミュレーション部１０のための計算されたシミュレーションデータを適時に完成しなかった場合には、エラー処理システム１８が、推定されたシミュレーションデータをリアルタイム性の部分シミュレーション部１０へ伝送する。リアルタイム性の部分シミュレーション部１０と非リアルタイム性の部分シミュレーション部１２とエラー処理システム１８との間の一例のシミュレーションデータフローを、以下詳細に説明する。ここで強調したい点は、エラー処理システムをリアルタイム性の部分シミュレーション部１０または非リアルタイム性の部分シミュレーション部１２に組み込むこと、すなわち両部分シミュレーション部のうちいずれか１つの組み込み部分とすること、またはエラー処理システムの機能を両部分シミュレーション部に分割することが可能であることである。
【００５０】
図３は、たとえば図２のリアルタイム性の部分シミュレーション部１０等のリアルタイム性の部分シミュレーション部と、たとえば図２の非リアルタイム性の部分シミュレーション部１２等の非リアルタイム性の部分シミュレーション部と、たとえば図２のエラー処理システム１８等のエラー処理システムと、の間のデータ交換を示している。図示のデータ交換は、シミュレーション実行中の５つのマクロシミュレーションステップに係るものである。図示のメカニズムは、全体的にリアルタイム性シミュレーションの提供を可能にするものである。よって、図３に示されている方法は、本発明の例示的な一実施形態の制御ユニット開発用のリアルタイム性シミュレーション部を提供するための方法である。
【００５１】
図３は２つの時間軸を示している。図３の上部分には、リアルタイム性の部分シミュレーション部の第１のシミュレーション時間ｔｅが示されている。符号ｔｅは、第１のシミュレーション時間が実時間と一致していることを表している。図３には５つのマクロシミュレーションステップが示されている。その時間は無次元で、各マクロシミュレーションステップの長さとして示されている。よって、図３に示されている時間軸は、０〜５の第１のシミュレーション時間について進行している。マクロシミュレーションステップ間の境界すなわち整数の期間は、図３中破線で示されている。各マクロシミュレーションステップ中に、リアルタイム性シミュレーション部はそれぞれ、シミュレートされるエンティティの挙動、たとえば図１および図２の上記の実施例ではエンジン等の挙動をシミュレートする。各計算は図３ではブロックとして示されており、第１のシミュレーションステップにおける計算にはＢｅ１を付しており、第２のマクロシミュレーションステップにおける計算にはＢｅ２を付しており、第３のマクロシミュレーションステップにおける計算にはＢｅ３を付しており、第４のシミュレーションステップにおける計算にはＢｅ４を付しており、第５のマクロシミュレーションステップにおける計算にはＢｅ５を付している。リアルタイム性の部分シミュレーション部は、定義上はリアルタイム性であるから、各マクロシミュレーションステップの計算は常に、当該各マクロシミュレーションステップの時間境界内で完了する。
【００５２】
図３の下部分には、第２のシミュレーション時間ｔｖが示されている。第２のシミュレーション時間ｔｖは、非リアルタイム性の部分シミュレーション部のシミュレーション時間である。第２のシミュレーション時間は実時間に直接的に連動化されておらず、第１のシミュレーション時間ｔｅを介して間接的にのみ連動化されているので、「仮想のシミュレーション時間ｔｖ」とも称される。非リアルタイム性の部分シミュレーション部は各マクロシミュレーションステップにおいて、その基礎となるシステムの挙動、たとえば図１および図２の上記の実施例ではトランスミッションの挙動をシミュレートする。第１のマクロシミュレーションステップに対応する計算にはＢｎ１を付しており、第２のマクロシミュレーションステップに対応する計算にはＢｎ２を付しており、第３のマクロシミュレーションステップに対応する計算にはＢｎ３を付しており、第４のマクロシミュレーションステップに対応する計算にはＢｎ４を付しており、第５のマクロシミュレーションステップに対応する計算にはＢｎ５を付している。これらの計算が「特定のマクロシミュレーションステップに対応する」と称されるのは、非リアルタイム性の部分シミュレーション部が、計算を特定のマクロシミュレーションステップ内で実行するよう試行するからである。しかし、非リアルタイム性の部分シミュレーション部は、定義上はリアルタイム性ではないので、以下詳細に説明するように、計算を他のマクロシミュレーションステップにシフトすることも可能である。
【００５３】
リアルタイム性の部分シミュレーション部と非リアルタイム性の部分シミュレーション部とは、シミュレーションの実行中に相互間でシミュレーションデータを交換する。第１のマクロシミュレーションステップにおいてリアルタイム性の部分シミュレーション部によって作成されて非リアルタイム性の部分シミュレーション部へ伝送されるデータにはＳｅ１が付されており、このデータは、図３において対応する矢印によって示されている。第２のマクロシミュレーションステップにおいてリアルタイム性の部分シミュレーション部によって作成されて非リアルタイム性の部分シミュレーション部へ供給されるシミュレーションデータにはＳｅ２が付されており、以下同様である。全体として図３では、リアルタイム性の部分シミュレーション部によって供給されるシミュレーションデータＳｅ０，Ｓｅ１，Ｓｅ２，Ｓｅ３，Ｓｅ４およびＳｅ５のセットは６つ示されている。同様に、第１のマクロシミュレーションステップに対応する計算で計算された、非リアルタイム性の部分シミュレーション部のシミュレーションデータには、Ｓｎ１が付されており、第２のマクロシミュレーションステップに対応する計算で計算された、非リアルタイム性の部分シミュレーション部のシミュレーションデータには、Ｓｎ２が付されており、以下同様である。全体として図３では、リアルタイム性の部分シミュレーション部によって供給されるシミュレーションデータＳｎ０，Ｓｎ１，Ｓｎ２，Ｓｎ３，Ｓｎ４およびＳｎ５のセットは６つ示されている。
【００５４】
図３の例示的な実施形態では、非リアルタイム性の部分シミュレーション部は入力データバッファ１２０を備えている。各入力データバッファ１２０の占有状態は、図３ではマクロシミュレーションステップごとに示されている。とりわけここでは、リアルタイム性の部分シミュレーション部によって供給されたシミュレーションデータは、非リアルタイム性の部分シミュレーション部において計算のために使用される前に、まず入力データバッファ１２０に書き込まれるのが示されている。リアルタイム性の部分シミュレーション部も入力データバッファを備えることができるが、図３では概観しやすくするために、この入力データバッファは示されていない。
【００５５】
以下、シミュレーションの流れ、とりわけリアルタイム性の部分シミュレーション部と非リアルタイム性の部分シミュレーション部との間のデータフローについて、図３を参照して図中の時間軸に沿って説明する。時点０前後において、リアルタイム性の部分シミュレーション部は非リアルタイム性の部分シミュレーション部からシミュレーションデータＳｎ０を受け取り、非リアルタイム性の部分シミュレーション部はリアルタイム性の部分シミュレーション部からシミュレーションデータＳｅ０を受け取る。時点０は任意であり、値０が付されている。この時点は、シミュレーションの流れの途中の任意の時点とすることもできる。よって、この時点には一般化して「ｉ」または他の一般変数を付することもできる。ここで重要なのは、これが以降のマクロシミュレーションステップに対して参照時点を示すことのみである。第２のシミュレーション時間は、時点０では第１のシミュレーション時間と一致する。すなわち、リアルタイム性の部分シミュレーション部と非リアルタイム性の部分シミュレーション部とは所望の通りにこの連動化時点においてシミュレーションデータを交換する。一般的に、破線が付された全ての時点０，１，２，３，４および５は、シミュレーションデータを交換するための連動化時点として、設けられている。
【００５６】
第１のマクロシミュレーションステップ、すなわちｔｅ＝０とｔｅ＝１との間の期間中に、リアルタイム性の部分シミュレーション部は、非リアルタイム性の部分シミュレーション部によって計算されたシミュレーションデータＳｎ０を処理して、非リアルタイム性の部分シミュレーション部へ引き渡すためのシミュレーションデータＳｅ１を作成する。リアルタイム性の部分シミュレーション部は、この計算されたシミュレーションデータＳｅ１と共に、第１のシミュレーション時間が１であること、すなわちｔｅ＝１であることを示すタイムスタンプを伝送する。非リアルタイム性の部分シミュレーション部も図３の実施例において、第１のシミュレーション時間においてシミュレーションデータＳｅ０を処理して、計算されたシミュレーションデータＳｎ１を完成させてリアルタイム性の部分シミュレーション部へ供給することに成功する。計算されたシミュレーションデータＳｎ１の完成後、非リアルタイム性の部分シミュレーション部は第２のシミュレーション時間ｔｖを値０に、すなわち、リアルタイム性の部分シミュレーション部から受け取った最後のシミュレーションデータのタイムスタンプの値に設定する。さらに、リアルタイム性の部分シミュレーション部は、使用したシミュレーションデータを入力データバッファ１２０から削除する。これによって入力データバッファ１２０は、計算されたシミュレーションデータＳｎ１の完成の結果として空になる。入力データバッファ１２０が空になったこと、および第２のシミュレーション時間が値０に設定されたことは、非リアルタイム性の部分シミュレーション部が連動化点１においてリアルタイムで振舞っており、第２のシミュレーション時間が第１のシミュレーション時間と一致していることを示している。
【００５７】
これに代えて、リアルタイム性の部分シミュレーション部から受け取った最後のシミュレーションデータのタイムスタンプを１だけ増分させることによって、連動化点１において第２のシミュレーション時間も値１に設定されるように、非リアルタイム性の部分シミュレーション部を構成することも可能である。全体システムは、かかる増分が行われたか否かが分かるので、いずれの場合においてもリアルタイム性の部分シミュレーション部に同一の情報が到達することになる。すなわち、非リアルタイム性の部分シミュレーション部がこの瞬間ではリアルタイムで振舞っているとの情報が到達する。
【００５８】
計算されたシミュレーションデータＳｎ１をリアルタイム性の部分シミュレーション部へ伝送する他、非リアルタイム性の部分シミュレーション部は、計算されたシミュレーションデータＳｎ１をエラー処理システムにも伝送する。この伝送は、図３において下方向矢印によって示されている。計算されたシミュレーションデータＳｎ１に結合されているｔｖ＝０のタイムスタンプに基づいて、エラー処理システムは、計算されたシミュレーションデータＳｎ１がリアルタイム性の部分シミュレーション部へ適時に伝送されたか否かを把握する。よって、この時点ではエラー処理は不要である。
【００５９】
第２のマクロシミュレーションステップ、すなわちｔｅ＝１とｔｅ＝２との間の期間も、図３の本実施例では第１のマクロシミュレーションステップと同様に進行する。
【００６０】
リアルタイム性の部分シミュレーション部側では、第３のマクロシミュレーションステップ、すなわちｔｅ＝２とｔｅ＝３との間の期間が、第１および第２のマクロシミュレーションステップと同様に進行する。しかし、非リアルタイム性の部分シミュレーション部は図３の本実施例では、第３のマクロシミュレーションステップ内で、計算されたシミュレーションデータＳｎ３を第３のマクロシミュレーションステップ以内で完成してリアルタイム性の部分シミュレーション部へ供給することができない。よって、第２のシミュレーション時間は第３のマクロシミュレーションステップの終了時には引き続き値１に、すなわちｔｖ＝１に留まる。リアルタイム性の部分シミュレーション部は、非リアルタイム性の部分シミュレーション部が計算されたシミュレーションデータＳｎ３を供給したか否かの検査の際に、この供給がなされなかったと判断する。エラー処理システムもそのように判断している。というのも、時点３ではエラー処理システムに、計算されたシミュレーションデータＳｎ３が到着していないからである。
【００６１】
よってエラー処理システムは、先行の計算されたシミュレーションデータＳｎ１およびＳｎ２に基づいて、第４のマクロシミュレーションステップのために推定されたシミュレーションデータＳｇ３を作成する。この推定されたシミュレーションデータＳｇ３は、第４のマクロシミュレーションステップにおける計算Ｂｅ４のためにリアルタイム性の部分シミュレーション部へ供給される。よってリアルタイム性の部分シミュレーション部は、第４のマクロシミュレーションステップにおいて計算Ｂｅ４を遅延なく開始することができる。このことによって、リアルタイム性の部分シミュレーション部は第４のマクロシミュレーションステップの終了時には、リアルタイム要求の範囲内で出力データを生成することが保証される。
【００６２】
エラー処理システムは、先行の計算されたシミュレーションデータＳｎ１およびＳｎ２に基づいて、推定されたシミュレーションデータＳｇ３を推定する。推定されたシミュレーションデータは、数多くの形式で生成することができる。たとえば、線形または２次外挿、すなわち１次または２次の外挿を、以前の計算されたシミュレーションデータＳｎ１およびＳｎ２に基づいて作成することが可能である。複数の変数が引き渡される場合、外挿を変数ごとに個別に行うことができる。また、各変数間の相互作用を考慮して推定に利用することも可能である。さらに、たとえばシミュレーションデータの数値範囲の制限等の他の情報も考慮することができ、またはリアルタイム性の部分シミュレーション部の状態を考慮し、もしくは上述のように他の措置をとることも可能である。
【００６３】
第３のマクロシミュレーションステップにおいてリアルタイム性の部分シミュレーション部によって計算されたシミュレーションデータＳｅ３は、時点３において、非リアルタイム性の部分シミュレーション部の入力データバッファ１２０に書き込まれる。非リアルタイム性の部分シミュレーション部の、第３のマクロシミュレーションステップに対応する計算Ｂｎ３は、この時点では未だ完了しておらず、そのために必要なデータは入力データバッファ１２０から未だ削除されていないので、入力データバッファ１２０内にはシミュレーションデータの２つのセットが存在することとなる。
【００６４】
本実施例では、非リアルタイム性の部分シミュレーション部は、第３のマクロシミュレーションステップに対応する計算Ｂｎ３を、第４のマクロシミュレーションステップの途中のいずれかの時期に終了させる。その結果として、第２のシミュレーション時間は値２すなわちｔｖ＝２に設定され、第２のマクロシミュレーションステップにおいてリアルタイム性の部分シミュレーション部によって計算されたシミュレーションデータＳｅ２は入力データバッファ１２０から削除される。
【００６５】
遅延して完成された計算されたシミュレーションデータＳｎ３は、エラー処理システムへ伝送される。これに応答してエラー処理システムは、推定されたシミュレーションデータＳｇ３と計算されたシミュレーションデータＳｎ３とを比較する。推定されたシミュレーションデータＳｇ３と計算されたシミュレーションデータＳｎ３との比較から、エラー処理システムは推定の品質についての判断を導き出す。場合によっては、エラー処理システムは、後のマクロシミュレーションステップのための推定されたシミュレーションデータを作成するためのアルゴリズムを調整する。このようにして、エラー処理システムにはフィードバックループによって、推定されたシミュレーションデータの作成ひいてはシミュレーションの精度を改善できる大量のデータが供給される。
【００６６】
シミュレーションデータＳｅ３は、計算されたシミュレーションデータＳｎ３が完成した時点では未だ入力データバッファ１２０内に残っている。このことは非リアルタイム性の部分シミュレーション部にとって、直ちに次の計算ステップを行う旨の信号、すなわち、直ちに第４のマクロシミュレーションステップに対応する計算Ｂｎ４を行う旨の信号となる。図３の実施例では、非リアルタイム性の部分シミュレーション部は時点４の前に計算Ｂｎ４を終了することができるので、時点４までには入力データバッファ１２０は空になっており、第２のシミュレーション時間は値３すなわちｔｖ＝３に設定される。換言すると、非リアルタイム性の部分シミュレーション部は第４のマクロシミュレーションステップ中にリアルタイム性の部分シミュレーション部に対して遅れを取り戻し、次のマクロシミュレーションステップのために計算されたシミュレーションデータＳｎ４を適時に供給することに成功する。第２のシミュレーション時間は第１のシミュレーション時間と一致した状態になる。すなわち、非リアルタイム性の部分シミュレーション部はリアルタイム性の部分シミュレーション部と同期ないしは再同期する。
【００６７】
その後、第５のマクロシミュレーションステップ、すなわちｔｅ＝４とｔｅ＝５との間の期間も、第１および第２のマクロシミュレーションステップと同様に進行する。
【００６８】
図４は、本発明の例示的な実施形態の方法で見られる、リアルタイム性の部分シミュレーション部と非リアルタイム性の部分シミュレーション部との連動化点の複数の異なるパターンを、図４Ａ、４Ｂおよび４Ｃに示している。各図の上部に示されているリアルタイム性の部分シミュレーション部と、各図の下部に示されている非リアルタイム性の部分シミュレーション部と、の間のデータフローは、図４では示されていない。もちろん、データ交換は図３のパターンに従って実行することができ、非リアルタイム性の部分シミュレーション部によってシミュレーションデータが適時に供給されなかった場合の全体システムの挙動は、図３を参照して説明した挙動と同様である。
【００６９】
図４Ａでは、リアルタイム性の部分シミュレーション部のマクロシミュレーションステップの期間は、通常の場合、非リアルタイム性の部分シミュレーション部のマクロシミュレーションステップの期間の約１／２の長さである。よって、リアルタイム性の部分シミュレーション部側から見ると、シミュレーションデータの交換は２番目ごとのマクロシミュレーションステップの後に行われる、ということになる。連動化点は、図４Ａにおいても破線で示されている。
【００７０】
図４Ｂでは、４つではなく３つのマクロシミュレーションステップのみが示されているが、リアルタイム性の部分シミュレーション部のマクロシミュレーションステップの順序は図４Ａの順序に相当する。非リアルタイム性の部分シミュレーション部では、２番目ごとのマクロシミュレーションステップの期間が、その先行のマクロシミュレーションステップの期間の約２倍の長さになっている。換言すると、非リアルタイム性の部分シミュレーション部では比較的短期間のマクロシミュレーションステップと比較的長期間のマクロシミュレーションステップとが交互に現れる、ということである。図示のパターンは、周期的に進行する。リアルタイム性の部分シミュレーション部側から見ると、データ交換は２つのマクロシミュレーションステップの後と１つのマクロシミュレーションステップの後とに交互に行われる。リアルタイム性の部分シミュレーション部はこのパターンで、非リアルタイム性の部分シミュレーション部が計算されたシミュレーションデータを完成してリアルタイム性の部分シミュレーション部へ供給したか否かを検査する。
【００７１】
図４Ｃは、非リアルタイム性の部分シミュレーション部におけるマクロシミュレーションステップの可能な順序の他の一例を示している。同図でも、図示のパターンは周期的に進行する。非リアルタイム性の部分シミュレーション部の比較的長期間の１つのマクロシミュレーションステップの後に、比較的短期間の２つのマクロシミュレーションステップが続く。リアルタイム性の部分シミュレーション部側から見ると、データ交換は３つのマクロシミュレーションステップの後と１つのマクロシミュレーションステップの後とに交互に行われる。リアルタイム性の部分シミュレーション部はこのパターンで、非リアルタイム性の部分シミュレーション部が計算されたシミュレーションデータを完成してリアルタイム性の部分シミュレーション部へ供給したか否かを検査する。
【００７２】
図４Ａ，４Ｂおよび４Ｃは、リアルタイム性の部分シミュレーション部と非リアルタイム性の部分シミュレーション部との連動化点を、数多くの種々の態様で規定できることを示している。予め決まったパターン如何に応じて、リアルタイム性の部分シミュレーション部および非リアルタイム性の部分シミュレーション部は、どの時点でシミュレーションデータを伝送すべきか、どの時点でリアルタイム性の部分シミュレーション部は、非リアルタイム性の部分シミュレーション部がシミュレーションデータを供給したか否かの検査をすべきかを把握することができる。エラー処理は、上記にて図３を参照して説明したように実行される。
【００７３】
例示的な実施形態を参照して本発明を説明したが、当業者であれば、本発明の範囲を逸脱することなく、種々の変更を行うこと、均等態様を使用できることが明らかである。本発明は、記載されている特定の実施形態によって限定すべきものではない。むしろ本発明は、添付の特許請求の範囲に属する全ての実施形態を包含する。
【図１】
2019046477.tif 000003
【図２】
2019046477.tif 000004
【図３】
2019046477.tif 000005
【図４Ａ】
2019046477.tif 000006
【図４Ｂ】
2019046477.tif 000007
【図４Ｃ】
2019046477.tif 000008
【外国語明細書】
2019046477.tif 000009
2019046477.tif 000010
2019046477.tif 000011
2019046477.tif 000012
2019046477.tif 000013
2019046477.tif 000014
2019046477.tif 000015
2019046477.tif 000016
2019046477.tif 000017
2019046477.tif 000018
2019046477.tif 000019
2019046477.tif 000020
2019046477.tif 000021
2019046477.tif 000022
2019046477.tif 000023
2019046477.tif 000024
2019046477.tif 000025
2019046477.tif 000026
2019046477.tif 000027
2019046477.tif 000028
2019046477.tif 000029
2019046477.tif 000030
2019046477.tif 000031
2019046477.tif 000032
2019046477.tif 000033
2019046477.tif 000034
2019046477.tif 000035
2019046477.tif 000036
2019046477.tif 000037
2019046477.tif 000038
2019046477.tif 000039
2019046477.tif 000040
2019046477.tif 000041
2019046477.tif 000042
2019046477.tif 000043
2019046477.tif 000044
2019046477.tif 000045