(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-26
(45)【発行日】2022-09-05
(54)【発明の名称】制御ユニット開発用のリアルタイム性シミュレーション部を提供するための方法および制御ユニット開発用のシミュレーション装置
(51)【国際特許分類】
G05B 11/36 20060101AFI20220829BHJP
G06F 11/36 20060101ALI20220829BHJP
G01M 17/007 20060101ALI20220829BHJP
G01M 15/02 20060101ALI20220829BHJP
【FI】
G05B11/36 501Z
G06F11/36 196
G01M17/007 E
G01M15/02
【外国語出願】
(21)【出願番号】P 2018165302
(22)【出願日】2018-09-04
【審査請求日】2021-06-07
(32)【優先日】2017-09-06
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】506012213
【氏名又は名称】ディスペース ゲー・エム・ベー・ハー
【氏名又は名称原語表記】dSPACE GmbH
【住所又は居所原語表記】Rathenaustr.26,D-33102 Paderborn, Germany
(74)【代理人】
【識別番号】100114890
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100135633
【氏名又は名称】二宮 浩康
(74)【代理人】
【識別番号】100162880
【氏名又は名称】上島 類
(72)【発明者】
【氏名】ニコラス アムリンガー
(72)【発明者】
【氏名】ドミニク ホラー
(72)【発明者】
【氏名】シュテフェン ベーリンガー
【審査官】今井 貞雄
(56)【参考文献】
【文献】特開2009-277226(JP,A)
【文献】特開2014-199635(JP,A)
【文献】特開2010-20384(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 11/36
G06F 11/36
(57)【特許請求の範囲】
【請求項1】
制御ユニット開発用のリアルタイム性シミュレーション部(6)を提供するための方法であって、
前記リアルタイム性シミュレーション部(6)は、制御ユニットまたは制御ユニットの周辺または制御ユニットと前記制御ユニットの周辺との組み合わせをシミュレートするものであり、
前記リアルタイム性シミュレーション部(6)は、リアルタイム性の部分シミュレーション部(10)と、前記リアルタイム性の部分シミュレーション部とインタラクションする非リアルタイム性の部分シミュレーション部(12)と、の協調シミュレーションを有し、
前記リアルタイム性の部分シミュレーション部(10)と前記非リアルタイム性の部分シミュレーション部(12)とは、シミュレーションデータ(Se0,Sn0,Se1,Sn1,Se2,Sn2,Se3,Sn3,Se4,Sn4,Se5,Sn5)を伝送するように構成されており、
前記リアルタイム性の部分シミュレーション部(10)は、実時間に相当する第1のシミュレーション時間(te)を有し、前記非リアルタイム性の部分シミュレーション部(12)は、前記第1のシミュレーション時間と連動化される仮想の第2のシミュレーション時間(tv)であって、前記リアルタイム性シミュレーション部の開始時に前記第1のシミュレーション時間と一致する第2のシミュレーション時間(tv)を有し、
前記方法は、
(a)前記リアルタイム性の部分シミュレーション部(10)の側において、前記非リアルタイム性の部分シミュレーション部(12)が、次のマクロシミュレーションステップのための計算されたシミュレーションデータを供給したか否かを検査するステップと、
(b)前記非リアルタイム性の部分シミュレーション部(12)が、前記次のマクロシミュレーションステップのための計算されたシミュレーションデータ(Sn2)を完成して前記リアルタイム性の部分シミュレーション部(10)へ供給完了している場合には、前記次のマクロシミュレーションステップのために前記計算されたシミュレーションデータ(Sn2)を前記リアルタイム性の部分シミュレーション部(10)において使用するステップと、
(c)前記非リアルタイム性の部分シミュレーション部(12)が、前記次のマクロシミュレーションステップのための計算されたシミュレーションデータを完成して前記リアルタイム性の部分シミュレーション部(10)へ供給完了していない場合には、前記次のマクロシミュレーションステップのために推定されたシミュレーションデータ(Sg3)を作成するステップと、
(d)適時に供給されなかったシミュレーションデータ(Sn3)の計算の完了後、前記第2のシミュレーション時間を前記第1のシミュレーション時間に合わせて調整するステップと、
を有する方法。
【請求項2】
前記第2のシミュレーション時間(tv)と前記第1のシミュレーション時間(te)とは、タイムスタンプを介して連動化され、
前記リアルタイム性の部分シミュレーション部(10)は、第1のタイムスタンプを生成し、全ての第1のタイムスタンプが前記第1のシミュレーション時間(te)を示し、前記非リアルタイム性の部分シミュレーション部(12)は、計算されたシミュレーションデータの計算の完了時に第2のタイムスタンプを生成し、
前記第2のシミュレーション時間を前記第1のシミュレーション時間に合わせて調整するステップは、第2のタイムスタンプを生成することを含み、
前記第2のタイムスタンプは、前記リアルタイム性の部分シミュレーション部によって得られて前記計算のために使用された最後のシミュレーションデータの前記第1のシミュレーション時間に合わせて設定され、または、
前記第2のタイムスタンプは、前記リアルタイム性の部分シミュレーション部によって得られて前記計算のために使用された最後のシミュレーションデータの前記第1のシミュレーション時間を予め決まった時間調整値だけ増分したものに合わせて設定される、
請求項1記載の方法。
【請求項3】
前記非リアルタイム性の部分シミュレーション部(12)は、入力データバッファ(120)を備えており、
前記リアルタイム性の部分シミュレーション部(10)は、前記非リアルタイム性の部分シミュレーション部の前記入力データバッファ(120)にシミュレーションデータを書き込み、
前記入力データバッファ(120)に書き込まれた全てのシミュレーションデータを、計算されたシミュレーションデータの完成のために使用して、計算されたシミュレーションデータを次のマクロシミュレーションステップのために適時に供給することによって、前記第2のシミュレーション時間を前記第1のシミュレーション時間に一致させる、
請求項1または2記載の方法。
【請求項4】
前記方法はさらに、
前記非リアルタイム性の部分シミュレーション部(12)が、前記次のマクロシミュレーションステップのための計算されたシミュレーションデータを供給完了していない場合には、前記次のマクロシミュレーションステップのための計算されたシミュレーションデータを前記リアルタイム性の部分シミュレーション部(10)および/またはエラー処理システム(18)へ事後的に供給するステップを有する、
請求項1から3までのいずれか1項記載の方法。
【請求項5】
前記方法はさらに、
前記次のマクロシミュレーションステップのための前記推定されたシミュレーションデータと、前記次のマクロシミュレーションステップのための事後的に供給された前記計算されたシミュレーションデータと、から推定誤差を計算するステップと、
前記推定誤差に基づいて前記リアルタイム性の部分シミュレーション部を事後的に適合し、かつ/または、後のマクロシミュレーションステップのための推定されたシミュレーションデータの作成を適合するステップと、
を有する、
請求項4記載の方法。
【請求項6】
前記方法はさらに、
前記非リアルタイム性の部分シミュレーション部(12)が、前記次のマクロシミュレーションステップのための計算されたシミュレーションデータを供給完了していない場合には、前記次のマクロシミュレーションステップの次の1つまたは複数のマクロシミュレーションステップのための計算されたシミュレーションデータを直ちに作成し、計算されたシミュレーションデータが適時に前記リアルタイム性の部分シミュレーション部(10)へ供給されるまで、前記計算されたシミュレーションデータを直ちに作成することを行うステップを有する、
請求項1から5までのいずれか1項記載の方法。
【請求項7】
前記非リアルタイム性の部分シミュレーション部(12)は、シミュレーション進行全体にわたって平均して前記計算されたシミュレーションデータを適時に供給する計算性能を有する、
請求項1から6までのいずれか1項記載の方法。
【請求項8】
前記リアルタイム性の部分シミュレーション部(10)は、前記非リアルタイム性の部分シミュレーション部(12)がそれぞれ次のマクロシミュレーションステップのための計算されたシミュレーションデータを供給したか否かを、全てのマクロシミュレーションステップにおいて、またはn番目ごとのマクロシミュレーションステップにおいて、またはマクロシミュレーションステップの所定の部分的に規則的な順序で検査する、
請求項1から7までのいずれか1項記載の方法。
【請求項9】
前記推定されたシミュレーションデータを作成するステップを、前記リアルタイム性の部分シミュレーション部(10)においてかつ/または前記非リアルタイム性の部分シミュレーション部(12)においてかつ/またはエラー処理システム(18)において行う、
請求項1から8までのいずれか1項記載の方法。
【請求項10】
前記推定されたシミュレーションデータを作成するステップは、
前記非リアルタイム性の部分シミュレーション部によって供給された以前の計算されたシミュレーションデータから、推定されたシミュレーションデータの外挿を行うステップ、特に0次、1次または2次の外挿を行うステップと、
特性曲線ないしは特性マップから、前記推定されたシミュレーションデータを導出するステップと、
以前のシミュレーションに基づいて、前記推定されたシミュレーションデータを作成するステップと、
前記推定されたシミュレーションデータを、予め決まった最小値および/または最大値に制限するステップと、
前記推定されたシミュレーションデータを、予め決まった変化ダイナミクスの向きに合わせるステップと、
リアルタイム性システムの内部状態を考慮するステップと、
のうち少なくとも1つを有する、
請求項1から9までのいずれか1項記載の方法。
【請求項11】
前記方法はさらに、
前記非リアルタイム性の部分シミュレーション部(12)が前記次のマクロシミュレーションステップのための計算されたシミュレーションデータを完成して前記リアルタイム性の部分シミュレーション部(10)へ供給完了しなかった事例を記録するステップも有し、
前記記録するステップは、とりわけ、前記事例の時点および/または数の記録を含む、
請求項1から10までのいずれか1項記載の方法。
【請求項12】
前記リアルタイム性の部分シミュレーション部(10)は、制御ユニットの周辺、とりわけ制御対象の技術的システムをシミュレートし、前記非リアルタイム性の部分シミュレーション部(12)は、制御ユニットをシミュレートし、または、
前記非リアルタイム性の部分シミュレーション部(12)は、制御ユニットの周辺、とりわけ制御対象の技術的システムをシミュレートし、前記リアルタイム性の部分シミュレーション部(10)は、制御ユニットをシミュレートする、
請求項1から11までのいずれか1項記載の方法。
【請求項13】
前記リアルタイム性の部分シミュレーション部(10)は、制御ユニットの周辺の第1の部分、とりわけ制御対象の技術的システムの第1の部分をシミュレートし、前記非リアルタイム性の部分シミュレーション部(12)は制御ユニットの周辺の第2の部分、とりわけ制御対象の技術的システムの第2の部分をシミュレートする、
請求項1から12までのいずれか1項記載の方法。
【請求項14】
制御ユニット開発用のシミュレーション装置(2)であって、
前記シミュレーション装置は、リアルタイム性であり、制御ユニットまたは制御ユニットの周辺または制御ユニットと前記制御ユニットの周辺との組み合わせをシミュレートするものであり、
前記シミュレーション装置は、
実時間に相当する第1のシミュレーション時間(te)を有するリアルタイム性の部分シミュレーション部(10)と、
前記リアルタイム性の部分シミュレーション部(10)とインタラクションする非リアルタイム性の部分シミュレーション部(12)と、
を備えており、
前記非リアルタイム性の部分シミュレーション部(12)は、前記第1のシミュレーション時間と連動化される仮想の第2のシミュレーション時間(tv)であって、リアルタイム性シミュレーションの開始時には前記第1のシミュレーション時間(te)と一致する第2のシミュレーション時間(tv)を有し、
前記シミュレーション装置はさらに、
前記リアルタイム性の部分シミュレーション部(10)と前記非リアルタイム性の部分シミュレーション部(12)との間でシミュレーションデータを交換するために構成された通信パス(16)を有し、
前記非リアルタイム性の部分シミュレーション部(12)は、計算されたシミュレーションデータを前記リアルタイム性の部分シミュレーション部(10)へ供給するように構成されており、
前記リアルタイム性の部分シミュレーション部(10)は、
前記非リアルタイム性の部分シミュレーション部(12)が次のマクロシミュレーションステップのための計算されたシミュレーションデータを供給完了したか否かを検査し、
前記非リアルタイム性の部分シミュレーション部(12)が前記次のマクロシミュレーションステップのための計算されたシミュレーションデータを完成して前記リアルタイム性の部分シミュレーション部(10)へ供給完了している場合には、前記次のマクロシミュレーションステップのために前記計算されたシミュレーションデータを使用し、
前記非リアルタイム性の部分シミュレーション部(12)が前記次のマクロシミュレーションステップのための計算されたシミュレーションデータを完成して前記リアルタイム性の部分シミュレーション部(10)へ供給完了していない場合には、前記次のマクロシミュレーションステップのために推定されたシミュレーションデータを使用する
ように構成されており、
前記非リアルタイム性の部分シミュレーション部(12)は、適時に供給されなかったシミュレーションデータの計算の完了後に前記第2のシミュレーション時間を前記第1のシミュレーション時間に合わせて調整するように構成されている、
シミュレーション装置。
【請求項15】
前記非リアルタイム性の部分シミュレーション部(12)は、1つまたは複数のプロセッサまたはプロセッサコアを備えており、
前記プロセッサまたはプロセッサコアは、前記計算されたシミュレーションデータをシミュレーション進行全体にわたって平均して適時に供給するために十分な計算性能を有する、
請求項14記載のシミュレーション装置(2)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御ユニットの開発、たとえば自動車産業または航空産業等においてたとえばエンジンまたはブレーキ等の技術的システムを制御するために使用される制御ユニット等の開発に関する。とりわけ本発明は、制御ユニットの開発プロセスで使用されるシミュレーション装置に関する。
【背景技術】
【0002】
制御ユニットの開発は、高度に複雑なプロセスとなっている。よって、機能全般を検査して他の開発方向性を設定するためには、新規の制御ユニットないしは新規の制御機能を開発プロセスにおいて可能な限り早期にテストしなければならない。開発プロセスの終盤に向かうにつれて重要となるのは、制御ユニットが後で動作する際にいかなる事情下においても所望の通りに動作するようにすべく、制御ユニットが使用ないしは量産される前にテスト結果に基づいて必要な修正を行うため、既に開発が進んだ制御ユニットを可能な限り包括的にテストすることである。
【0003】
開発プロセスの非常に後期の段階では、いわゆるハードウェア・イン・ザ・ループ・シミュレータ(HILシミュレータ)が使用される。かかるHILシミュレータは、制御対象の技術的システムのモデルを備えており、このモデルはソフトウェアとなっている。HILシミュレータはさらに、制御ユニットおよび制御対象の技術的システムの周辺に存在する技術的システムであって、当該制御ユニットおよび/または制御対象の技術的システムと協働する技術的システムの他のモデルを備えることができる。HILシミュレータはまた、既に開発が進んで既にハードウェアで有形物として存在する制御ユニット(「制御ユニットを機器実装したもの」ともいう)を接続できる入/出力インタフェースも備えている。このようにして、複数のシミュレーション工程において制御ユニットの機能をテストすることができ、その際には、制御ユニットの信号に対する制御対象の技術的システムのモデルの応答と、制御対象の技術的システムのモデルによって設定されたイベントに対する制御ユニットの応答とを観測することができる。場合によっては、制御ユニットおよび制御対象の技術的システムの周辺の他の技術的システムの挙動を観測できることもある。その際には、通常動作も、制御対象の技術的システムにおけるエラーも、制御ユニットにおけるエラーも、制御ユニットと制御対象のシステムとの間の通信におけるエラー、たとえばケーブルブリッジ等も、また、たとえば短絡等の給電におけるエラーも、シミュレートすることができる。HILシミュレータは、制御ユニット開発のために構成されたシミュレーション装置の一例である。HILシミュレータはとりわけ、制御ユニット開発のために構成されたリアルタイム性シミュレーション装置の一例である。
【0004】
HILシミュレータを準備するための労力は一般に非常に大きく、特に、1つのHILシミュレータにおいて複数の部分モデルないしは部分シミュレーションが協働する場合には、非常に大きい。シミュレーションの準備の際には、部分モデル/部分シミュレーション間の通信をコンフィギュレーションする。部分モデル/部分シミュレーションは単独で、また通信に関しても、リアルタイムで動作する。リアルタイム性シミュレーションのために全体的にリアルタイム性の構造を実現するためには、部分モデル/部分シミュレーションに高い要求が課される。
【0005】
したがって、リアルタイム性シミュレーションの作成時により大きなフレキシビリティを実現できることが望ましい。さらに、リアルタイム性シミュレーションのより大きな帯域幅を可能にするシミュレーション装置を実現することも望ましい。
【発明の概要】
【課題を解決するための手段】
【0006】
本発明の例示的な実施形態は、制御ユニット開発用のリアルタイム性シミュレーション部を提供するための方法を含み、リアルタイム性シミュレーション部は、制御ユニットまたは制御ユニットの周辺または制御ユニットと当該制御ユニットの周辺との組み合わせをシミュレートするものであり、リアルタイム性シミュレーション部は、リアルタイム性の部分シミュレーション部と、当該リアルタイム性の部分シミュレーション部とインタラクションする非リアルタイム性のシミュレーション部と、の協調シミュレーションを有し、リアルタイム性の部分シミュレーション部と非リアルタイム性の部分シミュレーション部とは、シミュレーションデータを伝送するように構成されており、リアルタイム性の部分シミュレーション部は、実時間に相当する第1のシミュレーション時間を有し、かつ非リアルタイム性の部分シミュレーション部は、第1のシミュレーション時間と連動化される仮想の第2のシミュレーション時間であって、リアルタイム性シミュレーション部の開始時に第1のシミュレーション時間と一致する第2のシミュレーション時間を有する。本方法は、(a)リアルタイム性の部分シミュレーション部側において、非リアルタイム性の部分シミュレーション部が、次のマクロシミュレーションステップのための計算されたシミュレーションデータを供給したか否かを検査するステップと、(b)非リアルタイム性の部分シミュレーション部が、次のマクロシミュレーションステップのための計算されたシミュレーションデータを完成してリアルタイム性の部分シミュレーション部へ供給完了している場合は、当該次のマクロシミュレーションステップのための計算されたシミュレーションデータを当該リアルタイム性の部分シミュレーション部において使用するステップと、(c)非リアルタイム性の部分シミュレーション部が、次のマクロシミュレーションステップのための計算されたシミュレーションデータを完成してリアルタイム性の部分シミュレーション部へ供給完了していない場合には、次のマクロシミュレーションステップのための推定されたシミュレーションデータを作成するステップと、(d)適時に供給されなかったシミュレーションデータの計算の完了後、第2のシミュレーション時間を第1のシミュレーション時間に合わせて調整するステップと、を有する。
【0007】
本発明の例示的な実施形態によって、非リアルタイム性の部分シミュレーション部とリアルタイム性の部分シミュレーション部とを統合して、全体的にリアルタイム性の全体シミュレーションを実現することができる。このようにして、リアルタイム性シミュレーション部の作成に際して新規の手段が得られる。というのも、全ての部分シミュレーションもそれ自体がリアルタイム性でなければならないという前提条件が必須でなくなるからである。このことによって、非リアルタイム性の形態のシミュレーションモジュールについては、リアルタイム形式の作成のために労力を投入することと、シミュレーション中にリアルタイム形式を実現するために比較的大きなリソースを準備する必要性とをなくすことができる。このことによって、全体的にリアルタイム性のシミュレーションを、より小さい労力とより大きなフレキシビリティとで実現することができる。本発明の例示的な実施形態はさらに、非リアルタイム性のシミュレーションにおいて使用するための解法アルゴリズム、いわゆるソルバを用いて、非リアルタイム性の部分シミュレーション部を計算することも可能にする。このことによって、解法アルゴリズムの使用に関してより大きなフレキシビリティを達成することができる。また、より早期の開発段階から得られた、上述の非リアルタイム性の部分シミュレーション部の形態の非リアルタイム性のモデルを、全体的にリアルタイム性のシミュレーションに統合できることによって、より大きなフレキシビリティを達成することもできる。かかる統合によって、シミュレーションモジュールを編成する際の労力を特に小さくすることができる。
【0008】
本発明の例示的な実施形態によって特に、非リアルタイム性の部分シミュレーション部が遅延している場合であっても、シミュレーションの高信頼性の動作継続が可能になり、それと同時に、リアルタイム性の部分シミュレーション部のシミュレーション時間と非リアルタイム性の部分シミュレーション部のシミュレーション時間とを連動化し、遅延時には非リアルタイム性の部分シミュレーション部のシミュレーション時間を調整することによって、高度なシミュレーション精度を達成することもできる。推定されたシミュレーションデータを作成することにより、リアルタイム性の部分シミュレーション部はちょうど、計算されたシミュレーションデータが供給されたかのように、次のマクロシミュレーションステップを順序に従って実行することができる。シミュレーションデータの推定によって、リアルタイム性の部分シミュレーション部におけるシミュレーションの精度に悪影響が生じることがあり得るが、シミュレーション順序自体は妨げられることはなく、また、リアルタイム性の部分シミュレーション部は自己の順序を調整する必要もない。非リアルタイムで供給されるシミュレーションデータの計算の完了後に第2のシミュレーション時間を第1のシミュレーション時間に合わせて調整することにより、非リアルタイム性の部分シミュレーション部が遅延しているか否か、どの程度遅延しているかの、非リアルタイム性の部分シミュレーション部側の明確な記録を実現することができる。第2のシミュレーション時間を第1のシミュレーション時間に合わせて調整することにより、リアルタイム性の部分シミュレーション部が非リアルタイム性の部分シミュレーション部の再同期を導出するために使用できる明確な信号ないしは一義的な示唆が得られる。よって、第2のシミュレーション時間を上述のように調整することにより、全体シミュレーションに対して、定義上は不完全な推定シミュレーションデータから、計算されたシミュレーションデータに帰結できる明確な信号を得ることができ、これによって可能な限り高い精度を達成することができる。
【0009】
シミュレーションデータを推定し、両シミュレーション時間を連動化して、明確な信号となる第1のシミュレーション時間に合わせての第2のシミュレーション時間の調整を行うことにより、非リアルタイム性の部分シミュレーション部によって供給されるシミュレーションデータを可能な限り包括的に活用することによって、全体シミュレーションの中断なしの順序を高精度で実現することができる。
【0010】
リアルタイム性シミュレーション部は、制御ユニットまたは制御ユニットの周辺または制御ユニットと当該制御ユニットの周辺との組み合わせをシミュレートする。上述の例のHILシミュレータでは、リアルタイム性シミュレーション部は制御ユニットの周辺をシミュレートすることができ、また、リアルタイム性シミュレーション部をHILシミュレータ上に実装することができる。その際には特に、リアルタイム性シミュレーション部は制御対象の技術的システムであることができ、場合によっては、インタラクションする構成要素と組み合わせたものとすることができる。たとえばエンジン制御ユニットがHILシミュレータに接続されている場合、既に開発が進んで有形物として存在するエンジン制御ユニットに対して可能な限りリアルなテスト環境を提供するため、リアルタイム性シミュレーション部はエンジンをシミュレートすることができ、場合によってはたとえばエンジンとトランスミッションとの組み合わせをシミュレートすることもできる。リアルタイム性シミュレーション部が制御ユニットをシミュレートする場合、たとえば、この制御ユニットをシミュレートしたものを制御の修正のために、既に存在する制御ユニットに接続し、または制御対象の技術的システムに直接接続することができる。このようにして、新規開発された制御を非常に早期の開発段階でシミュレーションとして実世界でテストすることができる。そのための一例の手法として、いわゆるラピッドコントロールプロトタイピング(RCP)がある。リアルタイム性シミュレーション部は、制御ユニットと当該制御ユニットの周辺との組み合わせをシミュレートすることもできる。このことによって、リアルタイム性シミュレーション部において、たとえば制御ユニットをシミュレートしたものと制御対象の技術的システムをシミュレートしたものとの完全なインタラクションを、著しく早期の開発段階でテストすることができる。よって、本発明の例示的な実施形態の方法は、制御ユニット開発の多くの場面で使用することができる。
【0011】
リアルタイム性シミュレーション部は、リアルタイム性の部分シミュレーション部と、当該リアルタイム性の部分シミュレーション部とインタラクションする非リアルタイム性の部分シミュレーション部と、の協調シミュレーションを有する。定義上は、リアルタイム性の部分シミュレーション部は、予め決まった時点で全ての入力信号を処理完了していることができ、かつこれに対応する出力信号を供給完了していることができるものである。予め決まった時点とは実時間の時点、すなわち、現実に経過する時間と一致する時間の時点である。多数のメカニズムと、十分な高さの計算能力とが、リアルタイム性の部分シミュレーション部のかかる決定論的な挙動を達成する。リアルタイム性の部分シミュレーション部が決定論的に振舞って他の部分シミュレーションと、ないしは当該シミュレーションに接続された機器と、たとえばHILシミュレータに接続された制御ユニットとデータを交換する予め決まった時点は、「マクロシミュレーションステップ」という。それに対して、リアルタイム性の部分シミュレーション部において1つのマクロステップの中では、一般に、当該リアルタイム性の部分シミュレーション部が結果を計算する多数のマイクロシミュレーションステップが実行される。リアルタイム性の部分シミュレーション部とは対照的に、非リアルタイム性の部分シミュレーション部ではかかる決定論性は保証されない。非リアルタイム性の部分シミュレーション部の内部構造および/または非リアルタイム性の部分シミュレーション部の計算能力に起因して、理想的なシミュレーションについて望まれているように、非リアルタイム性の部分シミュレーション部がどのマクロシミュレーションステップに対しても計算されたシミュレーションデータを供給することは、保証できない。
【0012】
上記にて既に示したように、リアルタイム性の部分シミュレーション部は、実時間に相当する第1のシミュレーション時間を有する。よって第1のシミュレーション時間は、少なくとも、他のエンティティとのデータ伝送ないしは通信の予め規定された時点において、すなわち通常はマクロシミュレーションステップ間において、現実に経過する時間と一致する。非リアルタイム性の部分シミュレーション部は、第1のシミュレーション時間と連動化される仮想の第2のシミュレーション時間を有する。第2のシミュレーション時間は、データ伝送/通信の予め決まった時点であっても実時間から偏差し得る点で仮想的なものである。第2のシミュレーション時間は、第1のシミュレーション時間との関係において規定されることにより、すなわち、リアルタイム性の部分シミュレーション部の実時間と関係を有することにより、第1のシミュレーション時間と連動化される。リアルタイム性シミュレーションの開始時には、第1のシミュレーション時間と第2のシミュレーション時間とは一致する。このことは、第2のシミュレーション時間は第1のシミュレーション時間と同一の実時間で開始する、ということである。非リアルタイム性の部分シミュレーション部は、第2のシミュレーション時間を常に第1のシミュレーション時間と可能な限り一致した状態に維持するように動作する。
【0013】
「実時間」とは一般的に、現実と同期して経過する時間をいう。実時間の増分は、現実に経過する時間の同一の増分に相当する。このことは第1のシミュレーション時間においては、第1のシミュレーション時間の増分が、現実に経過する時間の同一の増分に相当することを意味する。リアルタイム性のシミュレーションないしは部分シミュレーションは、少なくとも予め決まった時点において、決定論的に結果を出力することができるものである。
【0014】
リアルタイム性の部分シミュレーション部と非リアルタイム性の部分シミュレーション部とは、シミュレーションデータを伝送するように構成されている。換言すると、非リアルタイム性の部分シミュレーション部とリアルタイム性の部分シミュレーション部とはシミュレーションの実行中にシミュレーションデータを交換する。このとき、非リアルタイム性の部分シミュレーション部の挙動は、リアルタイム性の部分シミュレーション部によって供給されたシミュレーションデータに依存し、逆に、リアルタイム性の部分シミュレーション部の挙動は、非リアルタイム性の部分シミュレーション部によって供給されたシミュレーションデータに依存する。リアルタイム性の部分シミュレーション部と非リアルタイム性の部分シミュレーション部との間には、双方向通信接続が存在する。この通信は、予め決まった時点において行われる。すなわちリアルタイム性の部分シミュレーション部および非リアルタイム性の部分シミュレーション部は、遅くとも予め決まった通信時点までにはシミュレーションデータを完成して、それぞれ他方の部分シミュレーションへ供給するように動作する。
【0015】
上記にて既に述べたように、非リアルタイム性の部分シミュレーション部は、いかなる事情下においても予め決まった通信時点までにシミュレーションデータを供給できるというものではない。非リアルタイム性の部分シミュレーション部が、次のマクロシミュレーションステップのための計算されたシミュレーションデータを完成してリアルタイム性の部分シミュレーション部へ供給完了していない場合は、当該次のマクロシミュレーションステップのために推定されたシミュレーションデータを作成して、リアルタイム性の部分シミュレーション部によって当該次のマクロシミュレーションステップのために使用する。「計算されたシミュレーションデータを完成して供給していない」との表現は、特定の時点において所望されている計算されたシミュレーションデータが適時に完成していない、という意味である。リアルタイム性の部分シミュレーション部のリアルタイム処理を損なうおそれを生じないようにするため、代替として推定されたシミュレーションデータを使用する。
【0016】
適時に供給されなかったシミュレーションデータの計算の完了後に第2のシミュレーション時間を第1のシミュレーション時間に合わせて調整する、ということは、適時には計算されなかった所望のシミュレーションデータに従って、仮想の第2のシミュレーション時間を第1のシミュレーション時間と関係づける、という意味である。換言すると、仮想の第2のシミュレーション時間は第1のシミュレーション時間に基づいて、特に、適時には計算されなかった新規のシミュレーションデータのために使用された、リアルタイム性の部分シミュレーション部のシミュレーションデータに基づいて、設定される、ということである。適時に供給されなかったシミュレーションデータの計算が完了したとき、第2のシミュレーション時間は第1のシミュレーション時間に基づいて調整されるが、通常は第1のシミュレーション時間と未だ一致しない。しかし、適時に供給されなかったシミュレーションデータの計算の完了後に第2のシミュレーション時間を第1のシミュレーション時間に合わせて調整することにより、シミュレーションデータの計算時に遅れを取り戻し、次のマクロシミュレーションステップないしは複数の次のマクロシミュレーションステップのうちいずれかについては、第2のシミュレーション時間を第1のシミュレーション時間と一致させることができる可能性が開かれる。その上、第2のシミュレーション時間を上述のように調整することは、非リアルタイム性の部分シミュレーション部が実時間よりどの程度遅れているかを測定するための信号ないしは手段にもなる。
【0017】
次のマクロシミュレーションステップのための計算されたシミュレーションデータが適時に完成されてリアルタイム性の部分シミュレーション部へ供給完了された場合でも、第2のシミュレーション時間は第1のシミュレーション時間に合わせて調整される。かかる場合、第2のシミュレーション時間を第1のシミュレーション時間に合わせて調整すると、仮想の第2のシミュレーション時間が第1のシミュレーション時間と一致していること、および計算されたシミュレーションデータがリアルタイム要求に従って供給されたことが分かる。
【0018】
他の一実施形態では、推定されたシミュレーションデータの作成は、非リアルタイム性の部分シミュレーション部によって供給された以前の計算されたシミュレーションデータに基づいて行われる。換言すると推定されたシミュレーションデータは、非リアルタイム性の部分シミュレーション部によって先行のマクロシミュレーションステップのために計算されたシミュレーションデータに基づいて生成することができる。その際には、この以前のシミュレーションデータの方は適時に供給されたこと、または適時に供給されなかったことがあり得る。推定されたシミュレーションデータは、以前のシミュレーションデータのみから作成することができ、または以前のシミュレーションデータから他のデータおよび/または境界条件を用いて作成することができる。また、以前のシミュレーションデータを用いずに、推定されたシミュレーションデータを他の態様で作成することも可能である。これについては以下説明する。
【0019】
協調シミュレーションは、複数のリアルタイム性の部分シミュレーション部および/または複数の非リアルタイム性の部分シミュレーション部を有することができる。1つ/複数のリアルタイム性の部分シミュレーション部と1つ/複数の非リアルタイム性の部分シミュレーション部との間の通信は、上記にて述べたように、部分シミュレーション部の各下位群の中で行うことができる。
【0020】
他の一実施形態では、第2のシミュレーション時間はタイムスタンプによって第1のシミュレーション時間と連動化されており、その際には、リアルタイム性の部分シミュレーション部は第1のタイムスタンプを生成し、全ての第1のタイムスタンプが第1のシミュレーション時間を示し、非リアルタイム性の部分シミュレーション部は、計算されたシミュレーションデータの計算の完了時に第2のタイムスタンプを生成する。タイムスタンプはシミュレーションデータに連動化ないしは添付することができ、ないしは、シミュレーションデータと共に同一のデータパケットにパッケージングすることができる。このようにして、リアルタイム性の部分シミュレーション部および非リアルタイム性の部分シミュレーション部はそれぞれシミュレーションデータをタイムスタンプと共に、それぞれ他方の部分シミュレーションへ伝送することができる。換言すると、シミュレーションデータにはそれぞれ、当該シミュレーションデータの完成時点を示すタイムスタンプ、ないしは、使用されるシミュレーションデータを推定できるタイムスタンプを付与できる、ということである。
【0021】
他の一実施形態では、第2のシミュレーション時間を第1のシミュレーション時間に合わせて調整することは、第2のタイムスタンプを生成することを含み、第2のタイムスタンプは、リアルタイム性の部分シミュレーション部から得られて計算のために使用された最後のシミュレーションデータの第1のシミュレーション時間に合わせて設定され、またはリアルタイム性の部分シミュレーション部から得られて計算のために使用された最後のシミュレーションデータの第1のシミュレーション時間を予め決まった時間調整値だけ増分したものに合わせて設定されたものである。したがって第2のタイムスタンプは、リアルタイム性の部分シミュレーション部から得られたシミュレーションデータのうちどれが使用されたかを示すものである。かかる第2のタイムスタンプからリアルタイム性の部分シミュレーション部および/またはエラー処理システムは、次のマクロシミュレーションステップのために供給された計算されたシミュレーションデータが適時であるか否かを推定することができる。その際には、第2のタイムスタンプをリアルタイム性の部分シミュレーション部の最後に使用されたシミュレーションデータのタイムスタンプに合わせて設定することができ、これにより、リアルタイム性の部分シミュレーション部は簡単な比較によって、非リアルタイム性の部分シミュレーション部へ供給した最後のシミュレーションデータが使用されたか否かを判断することができる。また、非リアルタイム性の部分シミュレーション部が、リアルタイム性の部分シミュレーション部から得られて使用された最後のシミュレーションデータの第1のタイムスタンプを、予め決まった時間調整値だけ増分させることも可能である。とりわけ、予め決まった時間調整値は、第2のタイムスタンプが、非リアルタイム性の部分シミュレーション部から供給されたシミュレーションデータを受け取ったときに期待される第1のシミュレーション時間と一致するようにすることができる。よって、リアルタイム性の部分シミュレーション部は第2のタイムスタンプと現時点の第1のシミュレーション時間とを比較することにより、適時に供給されたシミュレーションデータであるか否かを判断することができる。
【0022】
他の一実施形態では、非リアルタイム性の部分シミュレーション部は入力データバッファを備えており、リアルタイム性の部分シミュレーション部は非リアルタイム性の部分シミュレーション部の入力データバッファにシミュレーションデータを書き込み、その際には、入力データバッファに書き込まれた全てのシミュレーションデータを、計算されたシミュレーションデータの完成のために使用して、計算されたシミュレーションデータを次のマクロシミュレーションステップのために適時に供給することによって、第2のシミュレーション時間を第1のシミュレーション時間に一致させる。よって、非リアルタイム性の部分シミュレーション部は第2のシミュレーション時間を第1のシミュレーション時間と一致させることにより、当該非リアルタイム性の部分シミュレーション部の入力データバッファの処理が完了したこと、すなわち空であることと、計算されたシミュレーションデータが所望の通りに次のマクロシミュレーションステップのために供給される程度まで非リアルタイム性の部分シミュレーション部がシミュレーションデータの計算において遅れを取り戻したことを示す。このように第1のシミュレーション時間に対して遅れを取り戻す場合、「同期」ないしは「再同期」と称することもできる。
【0023】
他の一実施形態では、リアルタイム性の部分シミュレーション部へは、非リアルタイム性の部分シミュレーション部から適時に完成した計算されたシミュレーションデータのみが供給される。このようにしてリアルタイム性の部分シミュレーション部には、新規の計算されたシミュレーションデータの有無から既に、遅延が生じているか否かが明らかとなる。適時に完成しなかった計算されたシミュレーションデータは、エラー処理システムへ供給することができる。また、非リアルタイム性の部分シミュレーション部によって計算されたシミュレーションデータを全て、適時であるかまたは遅延しているかにかかわらず、エラー処理システムへ転送することもできる。かかる場合、エラー処理システムはたとえば推定されたシミュレーションデータを作成するため、大きなデータベースを備えている。転送ないしは供給の手前で、リアルタイム性の部分シミュレーション部によって、シミュレーションデータが適時に供給されたか否かの検査を行うことができる。
【0024】
適時に完成した計算されたシミュレーションデータの供給では、非リアルタイム性の部分シミュレーション部がリアルタイム性の部分シミュレーション部へのシミュレーションデータの可能な送信の直前に、シミュレーションデータをリアルタイム性の部分シミュレーション部へ適時に供給できるか否かを検査することを前提とすることができる。検査により、リアルタイム性の部分シミュレーション部に対するシミュレーションデータの適時の供給が不可能であるとの結果になった場合に限り、シミュレーションデータはエラー処理システムへ直接伝送される。
【0025】
他の一実施形態では、協調シミュレーション部はエラー処理システムを備えている。エラー処理システムはリアルタイム性の部分シミュレーション部の一部とすることができる。また、エラー処理システムがリアルタイム性の部分シミュレーション部および非リアルタイム性の部分シミュレーション部とは別体であり、リアルタイム性の部分シミュレーション部および非リアルタイム性の部分シミュレーション部と接続されていることも可能である。
【0026】
他の一実施形態では、本方法はさらに、非リアルタイム性の部分シミュレーション部が、次のマクロシミュレーションステップのための計算されたシミュレーションデータを供給完了していない場合は、当該次のマクロシミュレーションステップのための計算されたシミュレーションデータをリアルタイム性の部分シミュレーション部および/またはエラー処理システムへ事後的に供給するステップも有する。非リアルタイム性の部分シミュレーション部が次のマクロシミュレーションステップのための計算されたシミュレーションデータを供給しなかったとの事実は、非リアルタイム性の部分シミュレーション部の計算性能に起因する遅延に基づくものである可能性がある。また、かかる遅延が他の理由により生じたという可能性もある。計算されたシミュレーションデータを事後的に供給することにより、この計算されたシミュレーションデータが適時でなくても転送され、計算されたシミュレーションデータのセットの全部がリアルタイム性の部分シミュレーション部および/またはエラー処理システムに存在することとなることが保証される。さらにこのようにして、非リアルタイム性の部分シミュレーション部がリアルタイム性の部分シミュレーション部のシミュレーションデータをどこまで処理したかが記録ないしは通知される。
【0027】
他の一実施形態では、本方法はさらに、次のマクロシミュレーションステップのための推定されたシミュレーションデータと、当該次のマクロシミュレーションステップのための事後的に供給された計算されたシミュレーションデータとから、推定誤差を計算するステップと、推定誤差に基づいてリアルタイム性の部分シミュレーション部を事後的に適合し、かつ/または後のマクロシミュレーションステップのための推定されたシミュレーションデータの作成を適合するステップとを有する。換言すると、シミュレーション結果を事後的に改善するため、かつ/または後で必要となる推定されたシミュレーションデータがより良好な推定結果となるように、推定誤差を使用することができる。換言すると、推定誤差を後のシミュレーションの改善のために使用することができる。後のマクロシミュレーションステップのための推定されたシミュレーションデータの作成を適合するとは、推定されたシミュレーションデータを作成するアルゴリズムを推定誤差に基づいて適合し、後で推定されたシミュレーションデータが再び必要になった場合に、この適合されたアルゴリズムを使用する、ということである。推定誤差を計算して、推定されたシミュレーションデータの作成を適合することは、リアルタイム性の部分シミュレーション部において、もしくはエラー処理システムにおいて行うことができ、または一部をリアルタイム性の部分シミュレーション部において行って一部をエラー処理システムにおいて行うことができる。また、推定誤差を計算して、推定されたシミュレーションデータの作成を適合することの全部または一部を、非リアルタイム性の部分シミュレーション部において行うことも可能である。
【0028】
他の一実施形態では、本方法はさらに、非リアルタイム性の部分シミュレーション部が、次のマクロシミュレーションステップのための計算されたシミュレーションデータを供給完了していない場合は、当該次のマクロシミュレーションステップの次の1つまたは複数のマクロシミュレーションステップのための計算されたシミュレーションデータを直ちに作成し、計算されたシミュレーションデータが適時にリアルタイム性の部分シミュレーション部へ供給されるまで、計算されたシミュレーションデータを直ちに作成することを行うステップも有する。計算されたシミュレーションデータをこのように直接作成することにより、非リアルタイム性の部分シミュレーション部が可能な限り迅速に第1のシミュレーション時間に対して遅れを取り戻せるようにすることができる。上述の次のマクロシミュレーションステップの次の1つまたは複数のマクロシミュレーションステップのための計算されたシミュレーションデータを直接作成するとは、非リアルタイム性の部分シミュレーション部が、第1のシミュレーション時間に対して遅れを取り戻すように、実質的に全ての使用可能な計算能力を使用する、ということである。たとえば、アイドリング状態またはスリープ状態による計算時間は割り振らないことが可能である。
【0029】
他の一実施形態では非リアルタイム性の部分シミュレーション部は、シミュレーション進行全体にわたって平均して計算されたシミュレーションデータを適時に供給する計算性能と、場合によってはリアルタイム性を達成する他の特性とを有する。「適時」との概念は、リアルタイム性シミュレーション部の現在次のシミュレーションステップを基準とした遅延ないしは適時性に係るものである。「シミュレーション進行全体にわたって平均して適時に」との表現は、計算されたシミュレーションデータの完成時点と、リアルタイム性の部分シミュレーション部が計算されたシミュレーションデータを必要とする時点と、の間のデルタ(Δ)が、平均的に負になることを意味する。換言すると、非リアルタイム性の部分シミュレーション部が平均して、ちょうど適時よりも迅速にシミュレーションデータの計算を完了する、ということである。さらに別の文言でいうと、非リアルタイム性の部分シミュレーション部の全ての計算時間の総和が、シミュレーションの経過した実時間より短い、ということである。このようにして、非リアルタイム性の部分シミュレーション部は自己の計算性能によって、シミュレーションデータが適時に完成しなかった場合に遅延を取り戻して、シミュレーションデータの計算を落とすことなく第2のシミュレーション時間を第1のシミュレーション時間と一致させることができる。非リアルタイム性の部分シミュレーション部はまた、計算されたシミュレーションデータの作成が平均的な複雑さである場合に、リアルタイム性の部分シミュレーション部への計算されたシミュレーションデータの適時の供給を可能にする計算性能を有することもできる。よって、非リアルタイム性の部分シミュレーション部の計算性能は、マクロシミュレーションステップを基準にして定義することもできる。
【0030】
他の一実施形態ではリアルタイム性の部分シミュレーション部は、非リアルタイム性の部分シミュレーション部が現時点で次のマクロシミュレーションステップのための計算されたシミュレーションデータを供給したか否かを、全てのマクロシミュレーションステップにおいて、またはn番目ごとのマクロシミュレーションステップにおいて、またはマクロシミュレーションステップの所定の部分的に規則的な順序で検査することができる。このようにして、予め定められたマクロステップ幅を基準としてどのような間隔で非リアルタイム性の部分シミュレーション部からリアルタイム性の部分シミュレーション部へデータ伝送を行うべきかを、予め決定することができ、これによって、遅延の有無を判断する時点も予め正確に規定される。変数nは整数であり、たとえば2,3,4,5,6,7,8等である。
【0031】
他の一実施形態では、推定されたシミュレーションデータの作成は、リアルタイム性の部分シミュレーション部において、かつ/または非リアルタイム性の部分シミュレーション部において、かつ/またはエラー処理システムにおいて行われる。換言すると、推定されたシミュレーションデータの作成は、リアルタイム性の部分シミュレーション部の内在部分とすること、または非リアルタイム性の部分シミュレーション部の内在部分とすること、または別体のエラー処理システムに実装すること、または上掲の3つのエンティティのうちいずれか2つの何らかの組み合わせに分割すること、たとえばリアルタイム性の部分シミュレーション部とエラー処理システムとに分割すること、または上掲の3つ全てのエンティティに分割することができる。よって使用事例に応じて、たとえば、リアルタイム性の部分シミュレーション部において使用可能な計算能力に応じて、推定されたシミュレーションデータをどこで作成するかを決定することができる。
【0032】
他の一実施形態では、推定されたシミュレーションデータの作成は、非リアルタイム性の部分シミュレーション部によって供給された以前の計算されたシミュレーションデータから、推定されたシミュレーションデータの外挿を行うステップ、特に0次、1次または2次の外挿を行うステップと、特性曲線ないしは特性マップから、推定されたシミュレーションデータを導出するステップと、以前のシミュレーションに基づいて、推定されたシミュレーションデータを作成するステップと、推定されたシミュレーションデータを、予め決まった最小値および/または最大値に制限するステップと、推定されたシミュレーションデータを、予め決まった変化ダイナミクスの向きに合わせるステップと、リアルタイム性システムの内部状態を考慮するステップと、のうち少なくとも1つを有する。上掲のステップは、推定されたシミュレーションデータを異なる精度と異なる複雑度とで作成できる手段である。上掲のステップは、非常に低い複雑度、たとえば0次の単純な外挿等から、中程度の複雑度、たとえば1次の外挿と、予め決まった最小値および最大値への推定されたシミュレーションデータの制限とを行うこと等に及び、たとえばリアルタイム性システムの多数の内部状態を考慮して以前のシミュレーションデータに基づいてどのようなシミュレーションデータが予測されるかを導出する非常に複雑な推定システムにまで及ぶ、幅広い帯域幅の複雑度をカバーする。推定されたシミュレーションデータの作成はこのようにして、制御ユニット開発用のリアルタイム性シミュレーションの個別事例に特に効果的に合わせて適合することができる。特性曲線ないしは特性マップからの推定されたシミュレーションデータの導出によって、非リアルタイム性の部分シミュレーション部によって供給された以前の計算されたシミュレーションデータを処理することなく、推定されたシミュレーションデータを作成することができる。非リアルタイム性の部分シミュレーション部としてのエンジンシミュレーションを例にとると、エンジンの特定の現時点の状態は、他の現時点の状況から特性マップを用いて推定することができる。以前のシミュレーションに基づく、推定されたシミュレーションデータの作成は、以前のシミュレーション工程から得られた部分シミュレーション部の挙動に関する経験値を使用し、これによって良好な推定が可能になる。
【0033】
他の一実施形態では、本方法はさらに、非リアルタイム性の部分シミュレーション部が、次のマクロシミュレーションステップのための計算されたシミュレーションデータを完成してリアルタイム性の部分シミュレーション部へ供給しなかった事例を記録するステップも有する。かかる記録によって、シミュレーションの終了後に、推定されたシミュレーションデータを当該シミュレーションが使用する必要があったか否か、およびどの程度使用する必要があったかを特定することができる。このことにより、シミュレーション結果の信頼性を表す尺度を提供することができる。また、さらなるシミュレーション工程のために当該認識に基づいてシミュレーションモジュールを調整して高いシミュレーション品質を達成することもできる。記録は、任意の適切な形態で行うことができ、たとえば、上述の事例を出力または記憶することによって行うことができる。記録は特に、上述の事例の時点および/または数の記録を含むことができる。
【0034】
他の一実施形態では、リアルタイム性の部分シミュレーション部は制御ユニットの周辺をシミュレートし、非リアルタイム性の部分シミュレーション部は制御ユニットをシミュレートする。リアルタイム性の部分シミュレーション部は特に、制御対象の技術的システムをシミュレートすることができる。このようにして、未だリアルタイム性ではない、制御ユニットの実際は不具合のあるモデル実装を、制御ユニットの非常に早い時点で当該制御ユニットの周辺において、条件が既に実時間テストに非常に近い状態でテストすることができる。
【0035】
他の一実施形態では、リアルタイム性の部分シミュレーション部は制御ユニットの周辺の第1の部分をシミュレートし、非リアルタイム性の部分シミュレーション部は制御ユニットの第2の部分をシミュレートする。その際には、リアルタイム性の部分シミュレーション部は制御対象の技術的システムの第1の部分をシミュレートし、かつ非リアルタイム性の部分シミュレーション部は制御対象の技術的システムの第2の部分をシミュレートすることができる。また、リアルタイム性の部分シミュレーション部が制御対象の技術的システムをシミュレートし、かつ非リアルタイム性の部分シミュレーション部は制御対象の技術的システムまたは制御ユニットの周辺構成要素をシミュレートすることも可能であり、またはその逆も可能である。上掲の事例では、リアルタイム性の部分シミュレーション部をHILシミュレータ上で実行させることができ、ないしは、リアルタイム性の部分シミュレーション部をHILシミュレータとすることができる。HILシミュレータはとりわけ、テスト対象の制御ユニットに接続されるように構成することができ、テスト対象の制御ユニットは、既に機器実装された状態のもの、またはSWモデルとして外部機器上に存在しているものとすることができる。いずれの場合においても、少なくとも1つの非リアルタイム性の部分シミュレーション部を有する、HILシミュレータ上でのリアルタイム性の全体シミュレーションの中で、制御ユニットをテストすることができる。
【0036】
他の一実施形態では、非リアルタイム性の部分シミュレーション部は制御ユニットの周辺をシミュレートし、リアルタイム性の部分シミュレーション部は制御ユニットをシミュレートする。非リアルタイム性の部分シミュレーション部は特に、制御対象の技術的システムをシミュレートすることができる。
【0037】
他の一実施形態では非リアルタイム性の部分シミュレーション部は、本来的にはリアルタイム性の部分シミュレーション部を、非リアルタイム性の媒体を介してリアルタイム性の部分シミュレーション部に接続したものであり、非リアルタイム性の媒体はたとえば、インターネットまたはWLAN等である。
【0038】
本発明の例示的な実施形態はさらに、制御ユニット開発用のシミュレーション装置も含み、シミュレーション装置はリアルタイム性であり、かつ制御ユニットまたは制御ユニットの周辺または制御ユニットと当該制御ユニットの周辺との組み合わせをシミュレートするものであり、実時間に相当する第1のシミュレーション時間を有するリアルタイム性の部分シミュレーション部と、リアルタイム性の部分シミュレーション部とインタラクションする非リアルタイム性の部分シミュレーション部とを備えており、非リアルタイム性の部分シミュレーション部は、第1のシミュレーション時間と連動化される仮想の第2のシミュレーション時間であって、リアルタイム性シミュレーションの開始時には第1のシミュレーション時間と一致する第2のシミュレーション時間を有し、シミュレーション装置はさらに、リアルタイム性の部分シミュレーション部と非リアルタイム性の部分シミュレーション部との間でシミュレーションデータを交換するために構成された通信パスを有する。非リアルタイム性の部分シミュレーション部は、計算されたシミュレートデータをリアルタイム性の部分シミュレーション部へ供給するように構成されている。リアルタイム性の部分シミュレーション部は、非リアルタイム性の部分シミュレーション部が次のマクロシミュレーションステップのための計算されたシミュレーションデータを供給完了したか否かを検査し、非リアルタイム性の部分シミュレーション部が次のマクロシミュレーションステップのための計算されたシミュレーションデータを完成してリアルタイム性の部分シミュレーション部へ供給完了している場合には、次のマクロシミュレーションステップのために計算されたシミュレーションデータを使用し、非リアルタイム性の部分シミュレーション部が次のマクロシミュレーションステップのための計算されたシミュレーションデータを完成してリアルタイム性の部分シミュレーション部へ供給完了していない場合には、次のマクロシミュレーションステップのために推定されたシミュレーションデータを使用するように構成されている。非リアルタイム性の部分シミュレーション部は、適時に供給されなかったシミュレーションデータの計算の完了後に第2のシミュレーション時間を第1のシミュレーション時間に合わせて調整するように構成されている。上記にて制御ユニット開発用のリアルタイム性シミュレーション部を供給するための方法について記載した他の構成、改良および効果は、制御ユニット開発用のシミュレーション装置にも類推的に適用可能である。
【0039】
他の一実施形態では、非リアルタイム性の部分シミュレーション部は1つまたは複数のプロセッサまたはプロセッサコアを備えており、プロセッサまたはプロセッサコアは、計算されたシミュレーションデータをシミュレーション進行全体にわたって平均して適時に供給するために十分な計算性能を有する。
【0040】
添付の図面を参照して、他の例示的な実施形態を説明する。
【図面の簡単な説明】
【0041】
【
図1】テスト対象の制御ユニットが接続された、本発明の例示的な一実施形態のリアルタイム性シミュレーション部を提供するための方法を実行できるシミュレーション装置を示すブロック図である。
【
図2】本発明の例示的な一実施形態の方法によって提供されるリアルタイム性シミュレーション部のブロック図である。
【
図3】一実施形態のリアルタイム性シミュレーション部を提供するための方法における、リアルタイム性の部分シミュレーション部と非リアルタイム性の部分シミュレーション部との間のデータフローを示すフローチャートである。
【
図4A】本発明の例示的な実施形態の方法で見られる、リアルタイム性の部分シミュレーション部と非リアルタイム性の部分シミュレーション部との連動化点の複数の異なるパターンを示す図である。
【
図4B】本発明の例示的な実施形態の方法で見られる、リアルタイム性の部分シミュレーション部と非リアルタイム性の部分シミュレーション部との連動化点の複数の異なるパターンを示す図である。
【
図4C】本発明の例示的な実施形態の方法で見られる、リアルタイム性の部分シミュレーション部と非リアルタイム性の部分シミュレーション部との連動化点の複数の異なるパターンを示す図である。
【発明を実施するための形態】
【0042】
図1はシミュレーション装置2を示しており、本実施例では、シミュレーション装置2はHILシミュレータ2である。HILシミュレータ2は物理的インタフェース4を備えており、この物理的インタフェース4を介して外部機器をHILシミュレータ2に接続することができる。
図1では、制御ユニット8が物理的インタフェース4に接続されている。
図1の実施例では、制御ユニット8は自動車のエンジンを制御するように構成されたエンジン制御ユニットである。HILシミュレータ2はエンジン制御ユニット8をテストするために構成されている。
【0043】
HILシミュレータ2は、技術的システムのリアルタイム性シミュレーション部6を備えている。
図1の実施例では、リアルタイム性シミュレーション部6はエンジンとトランスミッションとの組み合わせのモデルである。リアルタイム性シミュレーション部6は、「制御ユニット8の周辺のシミュレーション」とも称され得る。というのもこれは、制御ユニット8の動作周辺、すなわち実動作において制御ユニット8と関連する構成要素の少なくとも一部をシミュレートするからである。リアルタイム性シミュレーション部6はソフトウェアモデルとなっており、物理的インタフェース4とデータを交換することができる。このようにして制御ユニット8とリアルタイム性シミュレーション部6との間にデータ接続が得られ、このデータ接続によって、これら両構成要素のインタラクションをシミュレートしてテストすることができる。その際には物理的インタフェース4は、制御ユニットから伝送される物理的信号および制御ユニットへ伝送される物理的信号と、HILシミュレータ2内にて交換される論理的信号、たとえばソフトウェアベースの信号と、の間の移行部を引き受ける。
【0044】
HILシミュレータはリアルタイム性である。よって、他に調整を行うことなく、すなわち後で動作中に使用されるコンフィギュレーションで制御ユニット8をテストすることができる。HILシミュレータ2は、有形物として存在する技術的システム、本実施例では自動車の実エンジンと実トランスミッションとの組み合わせが有する速度で、制御ユニット8とインタラクションする。これは、リアルタイム性シミュレーション部6の入力および出力に関する挙動の計算も、制御ユニット8に対して少なくともこの速度で行われる、ということにもなる。リアルタイム性シミュレーション部6は実行可能なモデルであり、これは、HILシミュレータ2のハードウェア上で制御ユニット8をテストするための構成とすることができる。
【0045】
図2は、
図1の技術的システムのリアルタイム性シミュレーション部6を非常に詳細に示す図である。リアルタイム性シミュレーション部6は、リアルタイム性の部分シミュレーション部10と非リアルタイム性の部分シミュレーション部12とを有する。リアルタイム性の部分シミュレーション部10と非リアルタイム性の部分シミュレーション部12とは、リアルタイム性の協調シミュレーション部を構成する。リアルタイム性の部分シミュレーション部10は、接続される制御ユニット8が制御するエンジンをシミュレートする。よって、リアルタイム性の部分シミュレーション部10は制御対象の技術的システムをシミュレートする。リアルタイム性の部分シミュレーション部10はデータパス14を介して物理的インタフェース4に接続されており、ひいては制御ユニット8に接続されている。よって、リアルタイム性シミュレーション部6は外部に対して、すなわち制御ユニット8に対しては、リアルタイム性である。非リアルタイム性の部分シミュレーション部12は、自動車のトランスミッションをシミュレートする。よって、非リアルタイム性の部分シミュレーション部はエンジンないしはエンジン制御ユニットの周辺構成要素をシミュレートする。制御ユニット8は、トランスミッションとの組み合わせにおいてエンジンに関してテストされることができる。
【0046】
リアルタイム性の部分シミュレーション部10と非リアルタイム性の部分シミュレーション部12とはデータパス16を介して接続されており、データパス16を介してシミュレーションデータを交換する。非リアルタイム性の部分シミュレーション部12は、リアルタイム性の部分シミュレーション部10からのシミュレーションデータに基づいて、場合によっては、図示されていない構成要素の他の入力を使用して、ないしは、予め決まったシミュレーション状態のシーケンスを使用して、トランスミッションの挙動をシミュレートする。リアルタイム性の部分シミュレーション部10は、非リアルタイム性の部分シミュレーション部12からのシミュレーションデータと制御ユニット8の入力とに基づいて、場合によっては、図示されていない構成要素の他の入力を使用して、ないしは、予め決まったシミュレーション状態のシーケンスを使用して、エンジン10の挙動をシミュレートする。さらに、リアルタイム性の部分シミュレーション部10は以下説明するように、エラー処理システム18から他のデータも受け取る。
【0047】
本実施例では、シミュレーション中はリアルタイム性の部分シミュレーション部10と非リアルタイム性の部分シミュレーション部12とを、それぞれ別個のプロセッサ上で実行させる。よって、リアルタイム性の部分シミュレーション部10に係る計算と非リアルタイム性の部分シミュレーション部12に係る計算とを完全に並列実行することができる。また、リアルタイム性の部分シミュレーション部10と非リアルタイム性の部分シミュレーション部12とを同一のプロセッサ上で実行させるが、それぞれ別個のプロセッサコア上で実行させることも可能である。さらに、リアルタイム性の部分シミュレーション部10と非リアルタイム性の部分シミュレーション部12とはそれぞれ異なるアドレス空間を有し、両部分シミュレーション部を同一のプロセッサ上で実行すること、または異なるプロセッサ上で実行することも可能である。
【0048】
本発明の例示的な一実施形態を可能な限り分かりやすくするため、
図2ではリアルタイム性の部分シミュレーション部10および非リアルタイム性の部分シミュレーション部12のみを示している。しかし当業者であれば、さらに他の部分シミュレーション部を、リアルタイム性でも非リアルタイム性でもどちらでも、HILシミュレータに設けることができ、これらの部分シミュレーション部からリアルタイム性シミュレーション部6を構成できることが明らかである。
【0049】
リアルタイム性シミュレーション部6はさらに、エラー処理システム18も備えている。非リアルタイム性の部分シミュレーション部12はリアルタイム性の部分シミュレーション部10に対して、計算されたが適時には完成されなかったシミュレーションデータをエラー処理システム18へ伝送する。リアルタイム性の部分シミュレーション部10のための適時に完成したシミュレーションデータは、リアルタイム性の部分シミュレーション部10およびエラー処理システム18の双方へ伝送される。非リアルタイム性の部分シミュレーション部12がリアルタイム性の部分シミュレーション部10のための計算されたシミュレーションデータを適時に完成しなかった場合には、エラー処理システム18が、推定されたシミュレーションデータをリアルタイム性の部分シミュレーション部10へ伝送する。リアルタイム性の部分シミュレーション部10と非リアルタイム性の部分シミュレーション部12とエラー処理システム18との間の一例のシミュレーションデータフローを、以下詳細に説明する。ここで強調したい点は、エラー処理システムをリアルタイム性の部分シミュレーション部10または非リアルタイム性の部分シミュレーション部12に組み込むこと、すなわち両部分シミュレーション部のうちいずれか1つの組み込み部分とすること、またはエラー処理システムの機能を両部分シミュレーション部に分割することが可能であることである。
【0050】
図3は、たとえば
図2のリアルタイム性の部分シミュレーション部10等のリアルタイム性の部分シミュレーション部と、たとえば
図2の非リアルタイム性の部分シミュレーション部12等の非リアルタイム性の部分シミュレーション部と、たとえば
図2のエラー処理システム18等のエラー処理システムと、の間のデータ交換を示している。図示のデータ交換は、シミュレーション実行中の5つのマクロシミュレーションステップに係るものである。図示のメカニズムは、全体的にリアルタイム性シミュレーションの提供を可能にするものである。よって、
図3に示されている方法は、本発明の例示的な一実施形態の制御ユニット開発用のリアルタイム性シミュレーション部を提供するための方法である。
【0051】
図3は2つの時間軸を示している。
図3の上部分には、リアルタイム性の部分シミュレーション部の第1のシミュレーション時間teが示されている。符号teは、第1のシミュレーション時間が実時間と一致していることを表している。
図3には5つのマクロシミュレーションステップが示されている。その時間は無次元で、各マクロシミュレーションステップの長さとして示されている。よって、
図3に示されている時間軸は、0~5の第1のシミュレーション時間について進行している。マクロシミュレーションステップ間の境界すなわち整数の期間は、
図3中破線で示されている。各マクロシミュレーションステップ中に、リアルタイム性シミュレーション部はそれぞれ、シミュレートされるエンティティの挙動、たとえば
図1および
図2の上記の実施例ではエンジン等の挙動をシミュレートする。各計算は
図3ではブロックとして示されており、第1のシミュレーションステップにおける計算にはBe1を付しており、第2のマクロシミュレーションステップにおける計算にはBe2を付しており、第3のマクロシミュレーションステップにおける計算にはBe3を付しており、第4のシミュレーションステップにおける計算にはBe4を付しており、第5のマクロシミュレーションステップにおける計算にはBe5を付している。リアルタイム性の部分シミュレーション部は、定義上はリアルタイム性であるから、各マクロシミュレーションステップの計算は常に、当該各マクロシミュレーションステップの時間境界内で完了する。
【0052】
図3の下部分には、第2のシミュレーション時間tvが示されている。第2のシミュレーション時間tvは、非リアルタイム性の部分シミュレーション部のシミュレーション時間である。第2のシミュレーション時間は実時間に直接的に連動化されておらず、第1のシミュレーション時間teを介して間接的にのみ連動化されているので、「仮想のシミュレーション時間tv」とも称される。非リアルタイム性の部分シミュレーション部は各マクロシミュレーションステップにおいて、その基礎となるシステムの挙動、たとえば
図1および
図2の上記の実施例ではトランスミッションの挙動をシミュレートする。第1のマクロシミュレーションステップに対応する計算にはBn1を付しており、第2のマクロシミュレーションステップに対応する計算にはBn2を付しており、第3のマクロシミュレーションステップに対応する計算にはBn3を付しており、第4のマクロシミュレーションステップに対応する計算にはBn4を付しており、第5のマクロシミュレーションステップに対応する計算にはBn5を付している。これらの計算が「特定のマクロシミュレーションステップに対応する」と称されるのは、非リアルタイム性の部分シミュレーション部が、計算を特定のマクロシミュレーションステップ内で実行するよう試行するからである。しかし、非リアルタイム性の部分シミュレーション部は、定義上はリアルタイム性ではないので、以下詳細に説明するように、計算を他のマクロシミュレーションステップにシフトすることも可能である。
【0053】
リアルタイム性の部分シミュレーション部と非リアルタイム性の部分シミュレーション部とは、シミュレーションの実行中に相互間でシミュレーションデータを交換する。第1のマクロシミュレーションステップにおいてリアルタイム性の部分シミュレーション部によって作成されて非リアルタイム性の部分シミュレーション部へ伝送されるデータにはSe1が付されており、このデータは、
図3において対応する矢印によって示されている。第2のマクロシミュレーションステップにおいてリアルタイム性の部分シミュレーション部によって作成されて非リアルタイム性の部分シミュレーション部へ供給されるシミュレーションデータにはSe2が付されており、以下同様である。全体として
図3では、リアルタイム性の部分シミュレーション部によって供給されるシミュレーションデータSe0,Se1,Se2,Se3,Se4およびSe5のセットは6つ示されている。同様に、第1のマクロシミュレーションステップに対応する計算で計算された、非リアルタイム性の部分シミュレーション部のシミュレーションデータには、Sn1が付されており、第2のマクロシミュレーションステップに対応する計算で計算された、非リアルタイム性の部分シミュレーション部のシミュレーションデータには、Sn2が付されており、以下同様である。全体として
図3では、リアルタイム性の部分シミュレーション部によって供給されるシミュレーションデータSn0,Sn1,Sn2,Sn3,Sn4およびSn5のセットは6つ示されている。
【0054】
図3の例示的な実施形態では、非リアルタイム性の部分シミュレーション部は入力データバッファ120を備えている。各入力データバッファ120の占有状態は、
図3ではマクロシミュレーションステップごとに示されている。とりわけここでは、リアルタイム性の部分シミュレーション部によって供給されたシミュレーションデータは、非リアルタイム性の部分シミュレーション部において計算のために使用される前に、まず入力データバッファ120に書き込まれるのが示されている。リアルタイム性の部分シミュレーション部も入力データバッファを備えることができるが、
図3では概観しやすくするために、この入力データバッファは示されていない。
【0055】
以下、シミュレーションの流れ、とりわけリアルタイム性の部分シミュレーション部と非リアルタイム性の部分シミュレーション部との間のデータフローについて、
図3を参照して図中の時間軸に沿って説明する。時点0前後において、リアルタイム性の部分シミュレーション部は非リアルタイム性の部分シミュレーション部からシミュレーションデータSn0を受け取り、非リアルタイム性の部分シミュレーション部はリアルタイム性の部分シミュレーション部からシミュレーションデータSe0を受け取る。時点0は任意であり、値0が付されている。この時点は、シミュレーションの流れの途中の任意の時点とすることもできる。よって、この時点には一般化して「i」または他の一般変数を付することもできる。ここで重要なのは、これが以降のマクロシミュレーションステップに対して参照時点を示すことのみである。第2のシミュレーション時間は、時点0では第1のシミュレーション時間と一致する。すなわち、リアルタイム性の部分シミュレーション部と非リアルタイム性の部分シミュレーション部とは所望の通りにこの連動化時点においてシミュレーションデータを交換する。一般的に、破線が付された全ての時点0,1,2,3,4および5は、シミュレーションデータを交換するための連動化時点として、設けられている。
【0056】
第1のマクロシミュレーションステップ、すなわちte=0とte=1との間の期間中に、リアルタイム性の部分シミュレーション部は、非リアルタイム性の部分シミュレーション部によって計算されたシミュレーションデータSn0を処理して、非リアルタイム性の部分シミュレーション部へ引き渡すためのシミュレーションデータSe1を作成する。リアルタイム性の部分シミュレーション部は、この計算されたシミュレーションデータSe1と共に、第1のシミュレーション時間が1であること、すなわちte=1であることを示すタイムスタンプを伝送する。非リアルタイム性の部分シミュレーション部も
図3の実施例において、第1のシミュレーション時間においてシミュレーションデータSe0を処理して、計算されたシミュレーションデータSn1を完成させてリアルタイム性の部分シミュレーション部へ供給することに成功する。計算されたシミュレーションデータSn1の完成後、非リアルタイム性の部分シミュレーション部は第2のシミュレーション時間tvを値0に、すなわち、リアルタイム性の部分シミュレーション部から受け取った最後のシミュレーションデータのタイムスタンプの値に設定する。さらに、リアルタイム性の部分シミュレーション部は、使用したシミュレーションデータを入力データバッファ120から削除する。これによって入力データバッファ120は、計算されたシミュレーションデータSn1の完成の結果として空になる。入力データバッファ120が空になったこと、および第2のシミュレーション時間が値0に設定されたことは、非リアルタイム性の部分シミュレーション部が連動化点1においてリアルタイムで振舞っており、第2のシミュレーション時間が第1のシミュレーション時間と一致していることを示している。
【0057】
これに代えて、リアルタイム性の部分シミュレーション部から受け取った最後のシミュレーションデータのタイムスタンプを1だけ増分させることによって、連動化点1において第2のシミュレーション時間も値1に設定されるように、非リアルタイム性の部分シミュレーション部を構成することも可能である。全体システムは、かかる増分が行われたか否かが分かるので、いずれの場合においてもリアルタイム性の部分シミュレーション部に同一の情報が到達することになる。すなわち、非リアルタイム性の部分シミュレーション部がこの瞬間ではリアルタイムで振舞っているとの情報が到達する。
【0058】
計算されたシミュレーションデータSn1をリアルタイム性の部分シミュレーション部へ伝送する他、非リアルタイム性の部分シミュレーション部は、計算されたシミュレーションデータSn1をエラー処理システムにも伝送する。この伝送は、
図3において下方向矢印によって示されている。計算されたシミュレーションデータSn1に結合されているtv=0のタイムスタンプに基づいて、エラー処理システムは、計算されたシミュレーションデータSn1がリアルタイム性の部分シミュレーション部へ適時に伝送されたか否かを把握する。よって、この時点ではエラー処理は不要である。
【0059】
第2のマクロシミュレーションステップ、すなわちte=1とte=2との間の期間も、
図3の本実施例では第1のマクロシミュレーションステップと同様に進行する。
【0060】
リアルタイム性の部分シミュレーション部側では、第3のマクロシミュレーションステップ、すなわちte=2とte=3との間の期間が、第1および第2のマクロシミュレーションステップと同様に進行する。しかし、非リアルタイム性の部分シミュレーション部は
図3の本実施例では、第3のマクロシミュレーションステップ内で、計算されたシミュレーションデータSn3を第3のマクロシミュレーションステップ以内で完成してリアルタイム性の部分シミュレーション部へ供給することができない。よって、第2のシミュレーション時間は第3のマクロシミュレーションステップの終了時には引き続き値1に、すなわちtv=1に留まる。リアルタイム性の部分シミュレーション部は、非リアルタイム性の部分シミュレーション部が計算されたシミュレーションデータSn3を供給したか否かの検査の際に、この供給がなされなかったと判断する。エラー処理システムもそのように判断している。というのも、時点3ではエラー処理システムに、計算されたシミュレーションデータSn3が到着していないからである。
【0061】
よってエラー処理システムは、先行の計算されたシミュレーションデータSn1およびSn2に基づいて、第4のマクロシミュレーションステップのために推定されたシミュレーションデータSg3を作成する。この推定されたシミュレーションデータSg3は、第4のマクロシミュレーションステップにおける計算Be4のためにリアルタイム性の部分シミュレーション部へ供給される。よってリアルタイム性の部分シミュレーション部は、第4のマクロシミュレーションステップにおいて計算Be4を遅延なく開始することができる。このことによって、リアルタイム性の部分シミュレーション部は第4のマクロシミュレーションステップの終了時には、リアルタイム要求の範囲内で出力データを生成することが保証される。
【0062】
エラー処理システムは、先行の計算されたシミュレーションデータSn1およびSn2に基づいて、推定されたシミュレーションデータSg3を推定する。推定されたシミュレーションデータは、数多くの形式で生成することができる。たとえば、線形または2次外挿、すなわち1次または2次の外挿を、以前の計算されたシミュレーションデータSn1およびSn2に基づいて作成することが可能である。複数の変数が引き渡される場合、外挿を変数ごとに個別に行うことができる。また、各変数間の相互作用を考慮して推定に利用することも可能である。さらに、たとえばシミュレーションデータの数値範囲の制限等の他の情報も考慮することができ、またはリアルタイム性の部分シミュレーション部の状態を考慮し、もしくは上述のように他の措置をとることも可能である。
【0063】
第3のマクロシミュレーションステップにおいてリアルタイム性の部分シミュレーション部によって計算されたシミュレーションデータSe3は、時点3において、非リアルタイム性の部分シミュレーション部の入力データバッファ120に書き込まれる。非リアルタイム性の部分シミュレーション部の、第3のマクロシミュレーションステップに対応する計算Bn3は、この時点では未だ完了しておらず、そのために必要なデータは入力データバッファ120から未だ削除されていないので、入力データバッファ120内にはシミュレーションデータの2つのセットが存在することとなる。
【0064】
本実施例では、非リアルタイム性の部分シミュレーション部は、第3のマクロシミュレーションステップに対応する計算Bn3を、第4のマクロシミュレーションステップの途中のいずれかの時期に終了させる。その結果として、第2のシミュレーション時間は値2すなわちtv=2に設定され、第2のマクロシミュレーションステップにおいてリアルタイム性の部分シミュレーション部によって計算されたシミュレーションデータSe2は入力データバッファ120から削除される。
【0065】
遅延して完成された計算されたシミュレーションデータSn3は、エラー処理システムへ伝送される。これに応答してエラー処理システムは、推定されたシミュレーションデータSg3と計算されたシミュレーションデータSn3とを比較する。推定されたシミュレーションデータSg3と計算されたシミュレーションデータSn3との比較から、エラー処理システムは推定の品質についての判断を導き出す。場合によっては、エラー処理システムは、後のマクロシミュレーションステップのための推定されたシミュレーションデータを作成するためのアルゴリズムを調整する。このようにして、エラー処理システムにはフィードバックループによって、推定されたシミュレーションデータの作成ひいてはシミュレーションの精度を改善できる大量のデータが供給される。
【0066】
シミュレーションデータSe3は、計算されたシミュレーションデータSn3が完成した時点では未だ入力データバッファ120内に残っている。このことは非リアルタイム性の部分シミュレーション部にとって、直ちに次の計算ステップを行う旨の信号、すなわち、直ちに第4のマクロシミュレーションステップに対応する計算Bn4を行う旨の信号となる。
図3の実施例では、非リアルタイム性の部分シミュレーション部は時点4の前に計算Bn4を終了することができるので、時点4までには入力データバッファ120は空になっており、第2のシミュレーション時間は値3すなわちtv=3に設定される。換言すると、非リアルタイム性の部分シミュレーション部は第4のマクロシミュレーションステップ中にリアルタイム性の部分シミュレーション部に対して遅れを取り戻し、次のマクロシミュレーションステップのために計算されたシミュレーションデータSn4を適時に供給することに成功する。第2のシミュレーション時間は第1のシミュレーション時間と一致した状態になる。すなわち、非リアルタイム性の部分シミュレーション部はリアルタイム性の部分シミュレーション部と同期ないしは再同期する。
【0067】
その後、第5のマクロシミュレーションステップ、すなわちte=4とte=5との間の期間も、第1および第2のマクロシミュレーションステップと同様に進行する。
【0068】
図4は、本発明の例示的な実施形態の方法で見られる、リアルタイム性の部分シミュレーション部と非リアルタイム性の部分シミュレーション部との連動化点の複数の異なるパターンを、
図4A、4Bおよび4Cに示している。各図の上部に示されているリアルタイム性の部分シミュレーション部と、各図の下部に示されている非リアルタイム性の部分シミュレーション部と、の間のデータフローは、
図4では示されていない。もちろん、データ交換は
図3のパターンに従って実行することができ、非リアルタイム性の部分シミュレーション部によってシミュレーションデータが適時に供給されなかった場合の全体システムの挙動は、
図3を参照して説明した挙動と同様である。
【0069】
図4Aでは、リアルタイム性の部分シミュレーション部のマクロシミュレーションステップの期間は、通常の場合、非リアルタイム性の部分シミュレーション部のマクロシミュレーションステップの期間の約1/2の長さである。よって、リアルタイム性の部分シミュレーション部側から見ると、シミュレーションデータの交換は2番目ごとのマクロシミュレーションステップの後に行われる、ということになる。連動化点は、
図4Aにおいても破線で示されている。
【0070】
図4Bでは、4つではなく3つのマクロシミュレーションステップのみが示されているが、リアルタイム性の部分シミュレーション部のマクロシミュレーションステップの順序は
図4Aの順序に相当する。非リアルタイム性の部分シミュレーション部では、2番目ごとのマクロシミュレーションステップの期間が、その先行のマクロシミュレーションステップの期間の約2倍の長さになっている。換言すると、非リアルタイム性の部分シミュレーション部では比較的短期間のマクロシミュレーションステップと比較的長期間のマクロシミュレーションステップとが交互に現れる、ということである。図示のパターンは、周期的に進行する。リアルタイム性の部分シミュレーション部側から見ると、データ交換は2つのマクロシミュレーションステップの後と1つのマクロシミュレーションステップの後とに交互に行われる。リアルタイム性の部分シミュレーション部はこのパターンで、非リアルタイム性の部分シミュレーション部が計算されたシミュレーションデータを完成してリアルタイム性の部分シミュレーション部へ供給したか否かを検査する。
【0071】
図4Cは、非リアルタイム性の部分シミュレーション部におけるマクロシミュレーションステップの可能な順序の他の一例を示している。同図でも、図示のパターンは周期的に進行する。非リアルタイム性の部分シミュレーション部の比較的長期間の1つのマクロシミュレーションステップの後に、比較的短期間の2つのマクロシミュレーションステップが続く。リアルタイム性の部分シミュレーション部側から見ると、データ交換は3つのマクロシミュレーションステップの後と1つのマクロシミュレーションステップの後とに交互に行われる。リアルタイム性の部分シミュレーション部はこのパターンで、非リアルタイム性の部分シミュレーション部が計算されたシミュレーションデータを完成してリアルタイム性の部分シミュレーション部へ供給したか否かを検査する。
【0072】
図4A,4Bおよび4Cは、リアルタイム性の部分シミュレーション部と非リアルタイム性の部分シミュレーション部との連動化点を、数多くの種々の態様で規定できることを示している。予め決まったパターン如何に応じて、リアルタイム性の部分シミュレーション部および非リアルタイム性の部分シミュレーション部は、どの時点でシミュレーションデータを伝送すべきか、どの時点でリアルタイム性の部分シミュレーション部は、非リアルタイム性の部分シミュレーション部がシミュレーションデータを供給したか否かの検査をすべきかを把握することができる。エラー処理は、上記にて
図3を参照して説明したように実行される。
【0073】
例示的な実施形態を参照して本発明を説明したが、当業者であれば、本発明の範囲を逸脱することなく、種々の変更を行うこと、均等態様を使用できることが明らかである。本発明は、記載されている特定の実施形態によって限定すべきものではない。むしろ本発明は、添付の特許請求の範囲に属する全ての実施形態を包含する。