(57)【要約】【課題】システムの稼動性を制限せず、電子制御装置内で発生しうる複数のハードウェアエラー及びソフトウェアエラーに対する適切な処理が可能な、車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法を提供する。【解決手段】この方法では、プログラムコードに基づく動作フローがシーケンス制御部によって継続的に監視されている。そして、プログラムコード（１３）が複数のランタイムオブジェクト（８、１２）に分割され、ランタイムオブジェクト（８）でエラーが確認されると、ランタイムオブジェクト（８）はシーケンス制御部によって中断され（１０）、動作フローの間にランタイムオブジェクト（８）内で、安全な状態を実現する、ランタイムオブジェクト（８）に割り当てられた処置を含む局所的なエラー処理（１１）が実行されており、エラー処理（１１）の終了後に直近の後続のランタイムオブジェクト（１２）の実行が開始される。【選択図】図３
2009129463.tif 000002
【特許請求の範囲】
【請求項１】
車両制御装置におけるプログラムコードに基づいた動作フローが、シーケンス制御部により継続的に監視されている、車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法であって、
前記プログラムコードが、複数のランタイムオブジェクトに分割され、
ランタイムオブジェクトにおいてエラーが確認された場合、前記シーケンス制御部により、該ランタイムオブジェクトが中断され、
安全な状態を実現するための、前記ランタイムオブジェクトに割り当てられた処置を含む局所的なエラー処理が、前記動作フロー中の前記ランタイムオブジェクト内で実行され、
前記エラー処理の終了後に、直近の後続のランタイムオブジェクトの実行が開始されることを特徴とする、車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法。
【請求項２】
前記ランタイムオブジェクトは、
第１計算命令に基づいて、入力変数と、状態変数記憶装置に格納された内部状態変数とから、新状態変数を作成して、前記状態変数記憶装置に再格納する一方、
第２計算命令に基づいて、前記入力変数と前記新状態変数とから出力変数を計算することを特徴とする、請求項１に記載の車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法。
【請求項３】
前記ランタイムオブジェクトに割り当てられた前記エラー処理では、前記ランタイムオブジェクトの最終の正常実行の際に計算され前記状態変数記憶装置に格納された状態変数が、少なくとも部分的に変更されずに前記状態変数記憶装置に再格納されることを特徴とする、請求項１又は２に記載の車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法。
【請求項４】
前記ランタイムオブジェクトに割り当てられた前記エラー処理では、前記ランタイムオブジェクトの最終の正常実行の際に計算された出力変数が、少なくとも部分的に変更されずに出力変数として再利用されることを特徴とする、請求項１又は２に記載の車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法。
【請求項５】
前記ランタイムオブジェクトに割り当てられた前記エラー処理では、所定の基準値を少なくとも部分的に前記内部状態変数として前記状態変数記憶装置に格納する処理、及び／又は、所定の基準値を前記出力変数として利用する処理が実行されることを特徴とする、請求項１又は２に記載の車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法。
【請求項６】
前記ランタイムオブジェクトに割り当てられた前記エラー処理では、前記状態変数のための置換計算命令、及び／又は、前記出力変数のための置換計算命令が呼び出されることを特徴とする、請求項１又は２に記載の車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法。
【請求項７】
前記ランタイムオブジェクトに割り当てられた前記エラー処理では、所定の初期化関数が実行され、初期値を前記内部状態変数として前記状態変数記憶装置に格納する処理、及び／又は、初期値を前記出力変数として利用する処理が実行されることを特徴とする、請求項１又は２に記載の車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法。
【請求項８】
前記ランタイムオブジェクトに割り当てられた前記エラー処理では、エラーに対応して代替的に選択される複数の相異なるエラー処理が割り当てられることを特徴とする、請求項１〜７のいずれかに記載の車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法。
【請求項９】
前記ランタイムオブジェクトは、前記状態変数のための前記第１計算命令、及び／又は、前記出力変数のための前記第２計算命令に対応してクラスに分けられ、
各前記クラスには、少なくとも１つのエラー処理が割り当てられることを特徴とする、請求項２に記載の車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法。
【請求項１０】
前記エラー処理は、前記ランタイムオブジェクトが信号処理アルゴリズムを含む場合、前記所定の基準値を用いて行なわれることを特徴とする、請求項９に記載の車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法。
【請求項１１】
前記エラー処理では、前記ランタイムオブジェクトにより物理量に基づいた連続した信号が処理される場合、前記ランタイムオブジェクトの最終の正常実行の際に計算された状態変数及び出力変数が利用されることを特徴とする、請求項９に記載の方法。
【請求項１２】
車両制御装置におけるプログラムコードに基づいた動作フローが、シーケンス制御部により継続的に監視されている、車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法であって、
前記プログラムコードが、複数のランタイムオブジェクトに分割され、
ランタイムオブジェクトにおいてエラーが確認された場合、前記シーケンス制御部により、後続のランタイムオブジェクトの実行が控えられ、
前記後続のランタイムオブジェクトの代わりに、安全な状態を実現するための、前記ランタイムオブジェクトに割り当てられた処置を含むエラー処理が、前記動作フロー中の前記ランタイムオブジェクト内で実行され、
前記エラー処理の終了後に、直近の前記後続のランタイムオブジェクトの実行が開始されることを特徴とする、車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特に車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法に関する。
【背景技術】
【０００２】
例えば、車両等の制御装置には、高い安全性及び信頼性が要請される。記憶装置（ＲＡＭ、ＲＯＭ、フラッシュメモリ等）又はプロセッサ・コア等の構成要素内で一時的エラーが発生した際に、対応する規模に応じてシステムの安全性を調整するために、制御装置の様々な箇所に監視機構が実現されている。一時的エラーは、例えば、電磁放射線の作用や、宇宙線又は放射線の作用によっても予期せず発生するので、事前に予測することが不可能である。
【０００３】
検出されたエラーに対しては、様々な形態及び方法で対応することが可能である。制御装置を安全な状態に移行させる最も簡単な方法は、システムを停止することである。さらに、ＥＣＣ（Error  Correction  Code）による誤記憶（Speicherfehler）訂正等のように、エラー処理のための仕組みが知られている。その際、検出されたエラーは、記憶装置で直接処理される。このような処理が可能ではない場合には、多くの場合必要に迫られて制御装置がリセットされる。
【０００４】
他のエラー処理の仕組みとして、異なるプロセッサのシングルコア・システム又はマルチコア・システムにおいて、２つのプログラムコードによる冗長化された計算が行われる。出力値は、比較されて一致しているか否かが監視され、不一致の場合にエラーが検出される。エラーが発生した場合には、エラーのあるプログラムコードによる計算等の処理が中止され、他の正常なプログラムコードのみによる計算等の処理により、制御対象である車両等が引き続き駆動される。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
そこで、本発明の目的とするところは、システムの稼動性を制限することなく、電子制御装置内で発生しうる複数のハードウェアエラー及びソフトウェアエラーに対して適切な処理をおこなうことが可能な、新規かつ改良された車両の制御装置での一時的エラーの処理方法を提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある観点によれば、車両制御装置におけるプログラムコードに基づいた動作フロー（Betriebsablauf）が、シーケンス制御部（Ablaufsteuerung）により継続的に監視されている、車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法であって、上記プログラムコードが、複数のランタイムオブジェクト（Laufzeitobjekt）に分割され、ランタイムオブジェクトにおいてエラーが確認された場合、上記シーケンス制御部により、該ランタイムオブジェクトが中断され、安全な状態を実現するための、上記ランタイムオブジェクトに割り当てられた処置を含む局所的なエラー処理が、上記動作フロー中の上記ランタイムオブジェクト内で実行され、上記エラー処理の終了後に、直近の後続のランタイムオブジェクトの実行が開始されることを特徴とする、車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法が提供される。
【０００７】
また、上記ランタイムオブジェクトは、第１計算命令（Berechnungsvorschrift）に基づいて、入力変数と、状態変数記憶装置（Zusutandsgroessenspeicher）に格納された内部状態変数とから、新状態変数を作成して、上記状態変数記憶装置に再格納する一方、第２計算命令に基づいて、上記入力変数と上記新状態変数とから出力変数を計算すしてもよい。
【０００８】
また、上記ランタイムオブジェクトに割り当てられた上記エラー処理では、上記ランタイムオブジェクトの最終の正常実行の際に計算され上記状態変数記憶装置に格納された状態変数が、少なくとも部分的に変更されずに上記状態変数記憶装置に再格納されてもよい。
【０００９】
また、上記ランタイムオブジェクトに割り当てられた上記エラー処理では、上記ランタイムオブジェクトの最終の正常実行の際に計算された出力変数が、少なくとも部分的に変更されずに出力変数として再利用されてもよい。
【００１０】
また、上記ランタイムオブジェクトに割り当てられた上記エラー処理では、所定の基準値を少なくとも部分的に上記内部状態変数として上記状態変数記憶装置に格納する処理、及び／又は、所定の基準値を上記出力変数として利用する処理が実行されてもよい。
【００１１】
また、上記ランタイムオブジェクトに割り当てられた上記エラー処理では、上記状態変数のための置換計算命令（Ersatzberechnungsvorschrift）、及び／又は、上記出力変数のための置換計算命令が呼び出されてもよい。
【００１２】
また、上記ランタイムオブジェクトに割り当てられた上記エラー処理では、所定の初期化関数（Initialisierungsfunktion）が実行され、初期値（Initialisierungswert）を上記内部状態変数として上記状態変数記憶装置に格納する処理、及び／又は、初期値を上記出力変数として利用する処理が実行されてもよい。
【００１３】
また、上記ランタイムオブジェクトに割り当てられた上記エラー処理では、エラーに対応して代替的に選択される複数の相異なるエラー処理が割り当てられてもよい。
【００１４】
また、上記ランタイムオブジェクトは、上記状態変数のための上記第１計算命令、及び／又は、上記出力変数のための上記第２計算命令に対応してクラスに分けられ、
各上記クラスには、少なくとも１つのエラー処理が割り当てられてもよい。
【００１５】
また、上記エラー処理は、上記ランタイムオブジェクトが信号処理アルゴリズム（signalverarbeitender  Algorithmus）を含む場合、上記所定の基準値を用いて行なわれてもよい。
【００１６】
また、上記エラー処理では、上記ランタイムオブジェクトにより物理量（physikalische  Groesse）に基づいた連続した（kontinuierlich）信号が処理される場合、上記ランタイムオブジェクトの最終の正常実行の際に計算された状態変数及び出力変数が利用されてもよい。
【００１７】
また、上記課題を解決するために、本発明の別の観点によれば、車両制御装置におけるプログラムコードに基づいた動作フロー（Betriebsablauf）が、シーケンス制御部（Ablaufsteuerung）により継続的に監視されている、車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法であって、上記プログラムコードが、複数のランタイムオブジェクト（Laufzeitobjekt）に分割され、ランタイムオブジェクトにおいてエラーが確認された場合、上記シーケンス制御部により、後続のランタイムオブジェクトの実行が控えられ、上記後続のランタイムオブジェクトの代わりに、安全な状態を実現するための、上記ランタイムオブジェクトに割り当てられた処置を含むエラー処理が、上記動作フロー中の上記ランタイムオブジェクト内で実行され、上記エラー処理の終了後に、直近の上記後続のランタイムオブジェクトの実行が開始されることを特徴とする、車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法が提供される。
【発明の効果】
【００１８】
以上説明したように本発明によれば、システムの稼動性を制限することなく、電子制御装置内で発生しうる複数のハードウェアエラー及びソフトウェアエラーに対して適切な処理をおこなうことができる。
【発明を実施するための最良の形態】
【００１９】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２０】
＜概要＞
まず、本発明の各実施形態の概要について説明する。
本発明の各実施形態に基づいて、上記課題は、プログラムコードが複数のランタイムオブジェクト（Laufzeitobjekt）に分割され、ランタイムオブジェクトにおいてエラーが確認された場合に、このエラーが確認されたランタイムオブジェクトがシーケンス制御部により中断され、動作フローの間にランタイムオブジェクト内で局所的なエラー処理が実行されており、その際、エラー処理は、安全な状態を実現するための、ランタイムオブジェクトに割り当てられた処置を含み、エラー処理の終了後に直近の後続のランタイムオブジェクトの実行が開始されることによって、解決される。
【００２１】
本発明の各実施形態の利点は、ハードウェア構成要素内での直接的な、コストのかかる特別なエラー処理を行なわずに済むことにある。エラーがあるランタイムオブジェクトは、続行中の制御装置の通常の動作フローの間に訂正されるので、制御装置の停止又はリセットによってシステムの稼動性が妨げられることが全くない。従って、動作フロー（Betriebsablauf）の各時点で、制御装置の安全性に関わらない機能が、中断されずに提供される。エラー処理のための本方法は、発生した複数の異なるエラーのために使用できるので、コストが非常に安価である。車両の制御装置のような制御サイクルが固定された制御システムにおいて、計算時間が追加して確保される必要がない。
【００２２】
本発明の更なる実施形態において、ランタイムオブジェクトは、第１計算命令に基づいて、入力変数と、状態変数記憶装置に格納された内部状態変数とから、新状態変数を作成し、その新状態変数は、状態変数記憶装置に再格納される一方で、第２計算命令に基づいて入力変数と共に計算されて出力変数が算出される。
【００２３】
ランタイムオブジェクトは、プログラムコードにおいて実現された機能の構成要素を含んでおり、入力及び出力インタフェースを介して外部と通信する。このようなランタイムオブジェクトを利用し、エラー処理によって、エラーによる作用を局所的及び時間的に制限する。エラーの際には、制御装置の出力側における作用・影響が最小限に抑えられる。エラーによる作用は、放置可能な程度に小さく、しばらく経つともはや検出が不可能となる。
【００２４】
ランタイオブジェクトの作動、個々のランタイムオブジェクトの計算順序、及び、ランタイムオブジェクトの動的な内部構成は、シーケンス制御部によって検証される。
【００２５】
原則的に、システム全体及び外部に対する作用を最小限に抑えるため、エラー検出及びエラー処理は、同一ランタイムオブジェクトの内部で局所的に行なわれる。
【００２６】
本発明の各実施形態において、ランタイムオブジェクトに割り当てられたエラー処理では、ランタイムオブジェクトの最終の正常実行の際に計算され状態変数記憶装置に格納された状態変数が、少なくとも部分的に変更されずに状態変数記憶装置に再格納される。従ってエラー処理の際に、目下の状態変数が、先に実行の状態変数と置き換えられる。すなわち、最後のエラーのない演算結果が再利用される。
【００２７】
同等の処置が、出力値に関しても利用される。この場合、ランタイムオブジェクトに割り当てられたエラー処理では、ランタイムオブジェクトの最終の正常実行の際に計算された出力変数が、少なくとも部分的に変更されずに出力変数として利用されることになる。
【００２８】
本発明の各実施形態において、ランタイムオブジェクトに割り当てられたエラー処理では、所定の基準値が、少なくとも部分的に状態変数として状態変数記憶装置に格納される処理、及び／又は、所定の基準値が、出力変数として利用される処理が実行されてもよい。この所定の基準値は、通常ではランタイムオブジェクトの正常なプログラム実行（Programmdurchlauf）において生成される内部状態変数及び出力変数の経験値（Erfahrungswert）に基づいている。
【００２９】
ランタイムオブジェクトに割り当てられたエラー処理の他の方法では、状態変数のための第１計算命令（Berechnungsvorschrift）が実現されている箇所、及び／又は、出力変数のための第２計算命令が実現されている箇所で、状態変数のための置換計算命令（Ersatzberechnungsvorschrift）、及び／又は、出力変数のための置換計算命令が呼び出されてもよい。これら置換計算命令は、基本の計算命令に類似していてもよいが、先行するプログラム実行において利用されていないため、置換計算命令にはエラーが存在しない。置換計算命令は、内部状態変数と出力変数とを、正常として知られる所定の状態に置く。この置換計算命令は、目下の入力変数にも依存しうる。置換計算命令は、必要とされる記憶容量及びランタイム（Laufzeit）のリソースが基本的により少ないという点で、実際の計算命令と異なる。従って、ランタイムオブジェクトが要する全ランタイムを超過しないことが保障される。
【００３０】
さらに、ランタイムオブジェクトに割り当てられたエラー処理では、所定の初期化関数（Initialisierungsfunktion）が実行され、その際、初期値（Initialisierungswert）が内部状態変数として状態変数記憶装置に格納される処理、及び／又は、初期値が出力変数として利用される処理が実行されてもよい。このような初期化によって、ランタイムオブジェクトは、正常な出力状態に設定され、次の制御サイクルで、正常に、プログラムフロー制御の際に再度利用されうる。従って、この代理関数（Ersatzfunktion）は初期化という形態で利用される。
【００３１】
上記の全エラー処理は、検出されたエラーに対応して選択され、従って代替的に利用されてもよい。
【００３２】
エラー処理の選択を簡略化するために、ランタイムオブジェクトは、状態変数のための第１計算命令、及び／又は、出力変数のための前記第２計算命令に対応してクラスに分けられてもよい。そして、各クラスには、少なくとも１つのエラー処理が割り当ていてもよい。
【００３３】
特に、ランタイムオブジェクトが信号処理アルゴリズム（signalverarbeitender  Algorithmus）を含む場合に、エラー処理は、所定の基準値を用いて行なわれてもよい。この場合、短い静定時間（Einschwingzeit）が発生する。すなわち、一時的なエラーの後で、全入力変数がしばらく経つと再び正常になり、算術演算（Rechenoperation）が正確に実行されうる。従って、ランタイムオブジェクトの出力口において、エラーによる作用がもはや検出不可能である。
【００３４】
他の実施形態において、物理量（physikalische  Groesse）に基づく連続した（kontinuierlich）信号が処理される場合に、エラー処理は、ランタイムオブジェクトの最終の正常実行の際に計算された状態変数及び出力変数を利用してもよい。このエラー処理は、広範囲で変化する物理量のために推奨される。この適用の場合、代理関数の利用も構想可能である。
【００３５】
ランタイムを節約するために、本発明の他の実施形態において、プログラムコードは、複数のランタイムオブジェクトに分割され、ランタイムオブジェクトにおいてエラーが確認された場合、シーケンス制御部により、このランタイムオブジェクトの実行が控えられ、このランタイムオブジェクトの代わりに、動作フロー中に局所的なエラー処理が実行され、その際、エラー処理は、安全な状態を実現するための、ランタイムオブジェクトに割り当てられた処置を含み、エラー処理の終了後に直近の後続のランタイムオブジェクトの実行が開始されてもよい。
提供される残りのランタイムは、もはや十分ではないことが、実行サイクル中に判明した場合には、この処置は特に有利である。
【００３６】
＜第１実施形態＞
次に、図１〜図３を参照しつつ、本発明の第１実施形態について説明する。
図１は、車両で通常使用されるような制御装置１の主要な内部構成の例を説明する説明図である。
【００３７】
図１に示すように、ＣＰＵ（Central  Processing  Unit）は、中央演算ユニット２として、データバス７を介して異なる記憶ユニットと接続されている。図１では、これらの記憶ユニットとして、ＲＡＭ（Random  Access  Memory）３、ＲＯＭ（Read  Only  Memory）４及びフラッシュメモリ５を例示している。
【００３８】
中央演算ユニット２は、入力／出力インタフェース６を介して外部と通信可能であり、入力変数Ｅ（入力情報）を受信し、車両に出力変数Ａ（出力情報）を出力する。その際、入力変数Ｅとしては、様々な入力信号を設定できる。ここでは入力変数Ｅの例として、車輪速度（Raddrehzahl）、エンジン速度（Motordrehzahl）、又はエンジン温度（Motortemperatur）が挙げられる。これらの入力変数Ｅは、物理量に基づく時間的に連続した信号の一例でもある。一方、出力変数Ａも、多様な情報等であっても良いが、この出力変数Ａとして、ここでは例えば速度が設定される場合について説明する。
【００３９】
シーケンス制御部として、及び中央演算ユニット２の構成要素としての駆動システムは、ランタイム（実行時間・実行時）に対して動的に制御装置１を構成し、信号処理工程の正確なフローに貢献する。
【００４０】
制御装置１による処理工程は、一時的エラーによって妨害される可能性がある。この一時的なエラーは、例えば、放射線がデータ記憶装置でビット破損（Bit-Verfaelschung）を引き起こすエラー、又は、電磁散乱（elektromagnetische  Streuung）の影響によりＣＰＵでの計算に誤りが引き起こされるエラー等に相当する。また、一時的エラーには、ソフトウェアの作成段階で検出及び修正できなかった散発的に作用するソフトウェアエラーも含まれる。
【００４１】
車両の制御装置１内で周期的に駆動されて処理される信号処理ソフトウェア、つまり、プログラムコードは、例えば、上記記憶ユニット等に記録されている。そして、このプログラムコードは、上記構成を有する制御装置１によって周期的に駆動・処理されて、その制御装置１（例えばコンピュータ）に所定の機能を実現させる。
【００４２】
また、この信号処理ソフトウェア、つまり、プログラムコード（例えば図３のプログラムコード１３）は、複数のランタイムオブジェクト（例えば図３のランタイムオブジェクト８，９）に分割される。そして、各ランタイムオブジェクトには、プログラムコードが制御装置１に実現させる１又は２以上の機能に対応する構成要素（図３の構成要素１〜３等）が含まれる。この構成要素をコード構成要素ともいう。つまり、この構成要素それぞれが、制御装置１に所定の機能を実現させることになる。なお、以下、説明の便宜上、プログラムコード、ランタイムオブジェクト、構成要素、コード構成要素等という場合、それぞれのコード等が制御装置１に実現させる機能（手順・手段）を表すものとする。そして、各機能は、制御システムを構成する構成部材であるとも言える。
【００４３】
ランタイムオブジェクトは、入力及び出力インタフェースを介して外部と通信する。ランタイムオブジェクトの作動と、個々のランタイムオブジェクトの並行して実行可能な計算順序又は順次実行可能な計算順序と、ランタイムオブジェクトの動的な内部構成とが、駆動システムによって検証される。ランタイムオブジェクトは、論理的又は構造的に関連するひとまとまりに相当しうる。又は、異なる構成要素の部分を含むことが可能である。
【００４４】
このようなランタイムオブジェクトは、例えば、制御装置１で計算・実行等されるような、関数・タスク・工程として構成でき、このランタイムオブジェクトには、他のランタイムオブジェクトから入力変数が伝達されたり、外部へのインタフェースから入力変数が伝達される。
【００４５】
図２を参照しつつ、ランタイムオブジェクト８の構成を詳細に解説する。
ランタイムオブジェクト８は、内部状態変数ｘｋを格納し、かつ、後続のサンプリング時点に関する情報を伝達するための状態変数記憶装置９を有しているか接続される。この状態変数記憶装置９は、「記憶装置（Gedaechtnis）」とも呼称される。第１アルゴリズムｆｋ（第１計算命令の一例）によって、状態変数記憶装置９に格納された旧内部状態変数ｘｋ−１及び入力変数ｕｋから、新内部状態変数ｘｋが計算される。第２アルゴリズムｇｋ（第２計算命令の一例）によって、入力変数ｕｋ及び新内部状態変数ｘｋから、出力値ｙｋが計算される。すなわち、以下の式のような計算が行われる。
ｘｋ＝ｆｋ（ｘｋ−１；ｕｋ）
ｙｋ＝ｇｋ（ｘｋ；ｕｋ）
【００４６】
一時的エラーは、このランタイムオブジェクト８の様々な箇所で発生する可能性がある。
データエラー等のように入力変数ｕｋにエラーがある場合には、全計算及び全出力変数ｙｋが関わっており、この全出力変数ｙｋが、誤っている可能性がある。
ＲＡＭエラー等により状態変数記憶装置９でエラーが発生した場合も同様に、全計算及び全出力変数ｙｋが潜在的に関わっており、この全出力変数ｙｋが、誤っている可能性がある。
アルゴリズムｆｋの計算中に一時的なハードウェアエラー又は散発的に作用するソフトウェアエラーにより発生したエラーの場合は、新たに計算される全状態変数ｘｋが誤っており、従って出力変数ｙｋにも作用する。すなわち、出力変数ｙｋにも同様にエラーが生じる可能性がある。
アルゴリズムｇｋの計算中に一時的なハードウェアエラー又はソフトウェアエラーのせいで計算に誤りが発生する場合にも、出力変数ｙｋに誤りがあるが、この計算誤りは、状態変数ｘｋには関連しない。
【００４７】
図３は、本実施形態に係るエラー処理の概要について説明する説明図である。つまり、図３には、エラー処理が如何に行なわれるのかについて示す。
【００４８】
（監視処理）
正確に駆動するコード、すなわちランタイムオブジェクト８の構成要素１において、例えば、電磁放射線・放射線・宇宙線等により、プログラムシーケンスに一時的なエラーが発生する。このエラーが発生したコードを、構成要素２と呼称する。ランタイムオブジェクトのコードは、継続的に監視される。この監視は、様々な形態及び方法で行なわれる。この監視を行う形態及び方法の例としては、リソース監視、ランタイムエラー検出及びランタイムエラー監視等のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）の仕組みが適用可能である。そして、他のアプリケーション・ソフトウェアも、エラー検出のために利用可能である。アプリケーション・ソフトウェアを使用する場合、特に、例えば、プログラムフロー署名（Programmdurchflusssignaturen）・妥当性検査（Plausibilisierungen）・値域監視（Wertebereichsueberwachungen）が提供される。ソフトウェアによる監視の他に、更に、ウォッチドック（Watchdog）又はアドレス監視等によるハードウェア監視を用いることも可能である。
【００４９】
（中断処理）
１又は２以上の上述の監視処置によって、コード構成要素２が誤って実行されていることが確認される。このエラー検出は、上述の通り、シーケンス制御部として機能する駆動システム（例えば、制御装置１がプログラムコードを実行することにより実現される一機能）に知らされる。この駆動システムは、中断処理１０を実行し、エラーが検出されたランタイムオブジェクト８のプログラムシーケンスを中断させる。従って、図３で、後続のコード構成要素３として示されるプログラムコードは、プログラムシーケンスが中断されているため、引き続いては処理されない。
【００５０】
（エラー処理）
エラーが検出されたランタイムオブジェクトの中断後、可能な限り迅速に、整合性のある安全な状態にシステムを戻すために、エラー処理１１が実行され、所定のエラー処理の処置が開始される。この場合、このエラー処理としては、様々な変更例が構想される。そして、様々な形態のエラー処理の１又は２以上が、エラーの種類に対応して代替的に選択されて実行される。このエラー処理の例について説明すると以下の通りである。
【００５１】
最も簡単な例としては、完全又は部分的に先行する計算サイクルの旧値を用いて、状態変数ｘｋ及び出力変数ｙｋを記述する（beschreiben）ルーチンが呼び出される場合が挙げられる。この場合、最終の正常実行の際に計算されて状態変数記憶装置９に格納されていた状態変数及び出力変数が、状態変数ｘｋ及び出力変数ｙｋとして使用されることになる。すなわち、最終の正常な演算結果が再度利用される。
【００５２】
また、代替的に、ランタイムオブジェクトに特有の所定の基準値によって状態変数ｘｋ及び出力変数ｙｋを上書きする（ueberschreiben）ルーチンが呼び出されてもよい。この場合、全変数が例えば０で記述されることが可能であり、これは、同様に部分的又は完全に、状態変数ｘｋ及び出力変数ｙｋの全値に対しても実行可能である。
【００５３】
また、更なる別の可能性として、ランタイムオブジェクトに関連する代理関数（置換計算命令の一例）を呼び出すことが挙げられる。この代理関数は、状態変数記憶装置９に格納された内部状態変数ｘｋと、関連するランタイムオブジェクト８の出力変数ｙｋとを、目下の入力変数ｕｋに依存する定義された状態に移行させるという特別な目的を持って、プログラムされていることが望ましい。
【００５４】
また、更に、ランタイムオブジェクトに依存する初期化関数を用いて再初期化を実行することが提供されてもよい。この際、基準値としての初期化値が、内部状態変数ｘｋ又は出力変数ｙｋとして設定される。
【００５５】
また、これら全処置は、上述のとおり、各ランタイムオブジェクトのために特別にコールバック・ルーチン（Callback-Routine）等として定義され、提供される。エラー処理１１の制御は、駆動システムによって行なわれる。
【００５６】
また、これら全エラー処理の処置は、許容可能な内部状態変数ｘｋ及び出力変数ｙｋを提供することを目的としている。上述の処置によって、エラーは、許容可能な、正常な関数との偏差へと変換される。その際、この偏差は、しばらく経つと完全に解消されることになる。
【００５７】
（後続ランタイムオブジェクトの実行処理）
エラー処理の処置１１が終了した後に、駆動システムは、以前に中断された制御フローの続行を促し、プログラムフロー制御により確定された直近の後続のランタイムオブジェクト１２の処理を開始する。
【００５８】
（エラー処理の選択）
エラー処理の処置の選択は、上述の通り、エラー形態にのみ依存せず、ランタイムオブジェクトの形態にも依存する。従って、エラー処理の選択が、エラーの種類や形態に対応して行われるだけでなく、ランタイムオブジェクトは異なるクラスに分けられ、各クラスには少なくとも１のエラー処理が割り当てられることが望ましい。なお、このクラス分けは、ランタイムオブジェクトで処理される第１アルゴリズム及び／又は第２アルゴリズムに対応して行われることが望ましい。
【００５９】
ランタイムオブジェクトが基本的に信号処理アルゴリズムを含む場合には、これらの関数は、セトリング・タイム（settling  time）が最も短い。すなわち、一時的エラーの後において、全入力変数が再び正常となり、そして算術演算が正確に実行される場合、エラーによる作用は、短時間が経過するだけでランタイムオブジェクトの出力側においてもはや追跡不可能となるくらい、小さく抑えられうる。このようなランタイムオブジェクトは、比較的危機的な状態ではない。この場合、原則的に、上記に例示した全エラー処理の処置が利用可能であるが、全内部状態値及び全出力値のための標準（デフォルト）値又はパッシブ値（Passivwert）、及び、出力変数が設けられているので、状態変数及び出力変数に、この基準値を割り当てることが最も簡単であり、かつ、処理時間が短く済む。
【００６０】
デフォルト値又はパッシブ値が設けられていない場合などでは、物理量に基づく時間的に連続した信号を処理する場合が典型例として該当するように、やむを得ず他のエラー処理を行なう必要がある場合がある。この場合には、代理関数の適用が有利である。しかし、先行する計算サイクルの旧変数を利用することも可能である。この旧変数は、内部状態変数として状態変数記憶装置に登録される、又は、出力変数として設定される。
【００６１】
実現されたプログラムコードの要請に、提供される計算能力が対応しない場合、すなわち、設定されたよりも多くの計算時間がプログラムコードの実行のために必要となる場合には、ランタイムに関する問題も発生しうる。この場合には、駆動中にエラーとして、ランタイムの超過が示される。このエラーが発生した場合には、エラー処理のために、駆動されるべきランタイムオブジェクトがスキップされ、より短い計算時間を要する代理関数と置換される。
【００６２】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されないことは言うまでもない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【図面の簡単な説明】
【００６３】
【図１】車両で通常使用されるような制御装置１の主要な内部構成の例を説明する説明図である。
【図２】車両で通常使用されるような制御装置１によるランタイムオブジェクトの構成の例を説明する説明図である。
【図３】本発明の第１実施形態に係るエラー処理の概要について説明する説明図である。
【符号の説明】
【００６４】
１        制御装置
２        中央演算ユニット
３        ＲＡＭ
４        ＲＯＭ
５        フラッシュメモリ
６        入力／出力インターフェイス
７        データバス
８，１２  ラインタイムオブジェクト
９        状態変数記憶装置
１０      中断処理
１１      エラー処理
１３      プログラムコード
Ｅ        入力変数
Ａ        出力変数
【図１】
2009129463.tif 000003
【図２】
2009129463.tif 000004
【図３】
2009129463.tif 000005