JP4648396B2 - コンピュータプログラムを処理する方法、駆動システムおよび計算装置 - Google Patents

コンピュータプログラムを処理する方法、駆動システムおよび計算装置 Download PDF

Info

Publication number
JP4648396B2
JP4648396B2 JP2007537281A JP2007537281A JP4648396B2 JP 4648396 B2 JP4648396 B2 JP 4648396B2 JP 2007537281 A JP2007537281 A JP 2007537281A JP 2007537281 A JP2007537281 A JP 2007537281A JP 4648396 B2 JP4648396 B2 JP 4648396B2
Authority
JP
Japan
Prior art keywords
error
program
computing device
program object
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007537281A
Other languages
English (en)
Other versions
JP2008518294A (ja
Inventor
ヴァイベルレ,ラインハルト
ミュラー,ベルント
ハルター,ヴェルナー
アンゲルバウアー,ラルフ
コトゥケ,トーマス
コラーニ,ヨルク
グメーリッヒ,ライナー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of JP2008518294A publication Critical patent/JP2008518294A/ja
Application granted granted Critical
Publication of JP4648396B2 publication Critical patent/JP4648396B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0715Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Retry When Errors Occur (AREA)
  • Transmission And Conversion Of Sensor Element Output (AREA)
  • Measurement Of Length, Angles, Or The Like Using Electric Or Magnetic Means (AREA)
  • Position Input By Displaying (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、計算装置上、特にマイクロプロセッサ上でコンピュータプログラムを処理する方法に関する。コンピュータプログラムは、複数のプログラムオブジェクトを含む。本方法においては、計算装置上でコンピュータプログラムが処理される間にエラーが検出される。
本発明は、さらに、計算装置上、特にマイクロプロセッサ上で実行可能な、駆動システムに関する。
そして、本発明はまた、複数のプログラムオブジェクトを含むコンピュータプログラムを処理する計算装置に関する。計算装置は、計算装置上でコンピュータプログラムが処理される間にエラーを検出するためのエラー発見機構を有する。
計算装置上でコンピュータプログラムを処理する場合に、いわゆる過渡的エラーが発生することがある。半導体モジュール(いわゆるチップ)上の構造はますます小さくなるが、信号のクロックレートはますます大きくなり、かつ信号の電圧はますます低くなるため、過渡的エラーは常に頻繁に発生する。過渡的エラーは、恒久的エラーとは異なり、一時的にのみ発生し、通常、幾らかの時間の後にまた自ずから消えてしまう。過渡的エラーにおいては、1つのビットが歪曲されるだけであって、計算装置それ自体が恒久的に損傷されることはない。過渡的エラーは、たとえば電磁的影響、アルファ粒子またはニュートロンのような、種々の原因を有することができる。
通信システムにおいては、今日すでに、エラー処理における重点は過渡的エラーにおかれている。通信システムにおいて(例えば、Controller Area Network、CANにおいて)は、エラーが検出された場合に、誤って伝達されたデータを送り直すことが知られている。さらに、通信システム内ではエラーカウンタが使用されることが知られており、そのエラーカウンタは、エラーが検出された場合に増加され、送信が正しい場合に減少される。エラーカウンタは、所定の値を上回った場合に、データの送信を阻止する。
しかし、コンピュータプログラムを処理するための計算装置においては、エラー処理は、大体において恒久的エラーについてだけ行われる。過渡的エラーの考慮は、エラーカウンタのインクリメントと、場合によってはデクリメントとに限定される。これが、メモリに格納されておりオフラインの場合、すなわち、例えば計算装置が自動車制御装置として形成されている場合、修理工場に滞在している間に、診断情報またはエラー情報として読み出すことができる。その場合に初めて、それに応じてエラーに反応することができる。
従って、エラーカウンタによるエラー処理は、1つには、特に安全上重要なシステムのために必要な短いエラー許容時間内のエラー処理を許さず、他方で、エラー許容時間内にコンピュータプログラムが再び秩序通りに処理される意味における、構造的エラー処理も許さない。その代りに、従来技術においては、エラーカウンタが所定の値を上回った場合に、コンピュータプログラムは、非常走行駆動に切り替えられる。これは、コンピュータプログラムのエラーのある部分の代りに他の部分が処理され、それにより求められた代用値がそれ以降の計算のために利用されることを意味している。代用値は、たとえば他の変量を用いてモデリングすることができる。あるいは、コンピュータプログラムのエラーのある部分によって計算された結果がエラーがあるとして破棄され、それ以降の計算には非常走行駆動のために設けられている標準値で代用される。従って、計算装置上で進行するコンピュータプログラムの過渡的エラーを処理するための既知の方法では、ほとんどのエラーの過渡的性質を系統的、構造的に取り扱うことができない。
従来技術では、さらに、計算装置上でコンピュータプログラムを処理する際に発生する過渡的エラーに、計算装置を完全に再起動することによって対処することが知られている。この解決も、実際には満足のゆくものではない。というのは、コンピュータプログラムの処理のそれまでの推移において獲得された変量が失われてしまい、かつ計算装置は再起動の間その所定の機能をもはや満たすことができないからである。これは、特に、安全上重要なシステムにおいて受け容れられない。
また、計算装置上で処理されるコンピュータプログラムの過渡的エラーのためのエラー処理として、コンピュータプログラムを数クロック戻して、コンピュータプログラムの個々の機械命令を繰り返すことも、知られている。この方法は、ミクロロールバックとも称される。この既知の方法においては、機械レベル(クロック、機械命令)上のオブジェクトだけジャンプバックされる。これには、それに応じた機械レベル上のハードウェア支援を必要とし、このことが計算装置の領域における著しいコスト増と結びついている。既知の方法を純粋にソフトウェアによって制御して実行することは、不可能である。
従来技術から知られているエラー処理機構は、計算装置上でコンピュータプログラムを処理する際に発生する、過渡的エラーに適切な方法で反応することはできない。
しかし、過渡的エラーは、未来のテクノロジーにおいては極めて頻繁に発生する。従って、たとえばデュアルコア機構を介して過渡的エラーを発見する場合には、正しい結果を識別するために、常にまだエラー位置特定の問題を解決しなければならない。これは、過渡的エラーが常に計算機の再起動をもたらさないようにすることを目的とする場合に、より当てはまる。エラー位置特定は、説明したように大体において、比較的煩雑な方法を介してしか達成できない。
本発明の課題は、計算機システム内でコンピュータプログラムを処理する際過渡的エラーが発生した場合に、できる限り短いエラー許容時間内に計算機システムの完全な機能能力と機能安全性が再び形成されるように、過渡的エラーを構造的に処理することである。
この課題を解決するために、冒頭で挙げた種類の方法に基づいてエラーが検出された場合に、すでに処理が行われている、少なくとも1つのプログラムオブジェクトが定義された状態へ移行されて、この状態から新たに開始されることが、提案される。
システムレベル上では、もちろん、どのようにしてタスク繰返しのこの種のコンセプトをきちんと使用することができるか、という問題がある。通常、エラーのある任意のタスクを単純に再度計算できる、ということにはならない。というのは、付加的に必要とされる計算時間とそのために用いられる時期も、システムの観点から計画されるからである。プロセッサの負担がすでに100%に近い場合(そして通常そうである)、この種の計画されていない負担増(タスク繰返しのような)がシステムの過負荷をもたらし、それが大体においてクラッシュをもたらすおそれがある。それは、時間制御されるシステムを考えた場合(少なくとも部分的にスルーランされることを特徴とする)、さらにはっきりとする。これらのシステムにおいては、多くの他の厳しいリアルタイムコンセプトの場合と同様、デッドライン違反は許容できない。
従って、その結果、システムの視点から、潜在的なタスク繰返しによって生じる負担増を計画に入れなければならないことが生じる。各タスクの後に、タスク繰返しが必要とする計算時間をとる場合には、システムは確実に機能し得るが、エラー処理しないシステム100%に比較して、付加的なパフォーマンスの補償をしなければならない。これは、コストの理由から、受け容れられない。
従って、本発明の課題は、さらに、タスクの2倍の計算を常に計画に組み込む(それに伴って恒久的かつ非常に大きいオーバーヘッドをもたらす)ことなく、同時に、時間制御される考え方とどのように組み合わせるか、という問題を解決する、最適なシステムストラテジーを提供することである。
発明の利点
従って、本発明に基づくシステムストラテジーの枠内で、タスク繰返しのコンセプトを最小限のオーバーヘッドで、あるいは特にそれなしで、組み込むことを許す、方法、駆動システムおよび計算装置が提案される。その場合にこの種のシステムストラテジーは、以下においては特に、1つまたは複数のプログラムオブジェクトと称される、タスク、課題、プログラムまたはプログラム部分をスケジューリングする方法のための周辺条件である。
新たに開始されるプログラムオブジェクトは、エラーが検出された場合に完全に処理されている必要はない。本発明の主旨において、エラー検出の時点でまだ完全に処理されていないが、その処理がすでに開始されているプログラムオブジェクトも、新たに開始することができる。従って本発明によれば、過渡的エラーまたは恒久的エラーが発生した場合に、少なくとも1つの駆動システムオブジェクトが新たに実行される。ミクロロールバックに対する利点は、特に、プログラムオブジェクトの繰返しを極めて小さいハードウェア支援で実現できることにある。プログラムオブジェクトの新たな実行のために必要な幾つかの情報(たとえばプログラムオブジェクトの入力量)を格納することができるようにするために、たかだか付加的なメモリスペースが必要となるだけである。本発明に基づく方法の本来の管理は、計算装置の駆動システムによって実施することができる。すなわち、本発明に基づく方法は、付加的なハードウェアを必要とすることなく、従来の、市場において一般的なプロセッサによって実現可能である。しかし、本発明に基づく方法をハードウェア支援で実現することも、もちろん可能である。
従って好ましくは、従来技術と比較して、エラーのあるタスク、すなわちエラーのある課題、あるいはエラーのあるプログラムまたはプログラム部分、あるいはプログラムオブジェクトまたは少なくとも駆動システムオブジェクトが、再度計算される。エラーがもともと過渡的であった場合には、新規計算の際に2つの出力は同一であり、従ってエラーは消滅し、かつ新規計算によって処理される。
従って好ましくは、複数のプログラムオブジェクトを有するコンピュータプログラムを処理中にエラーを検出する計算装置上、特にマイクロプロセッサ上でコンピュータプログラムを処理する方法であって、プログラムオブジェクトが少なくとも2つのクラスに分割され、1つのランスルー内で複数のプログラムオブジェクトが処理される場合に、エラーが検出された場合、第1のクラスのプログラムオブジェクトが繰り返され、かつ第1のクラスの、すでに処理へ供給されているプログラムオブジェクト内でエラーが検出された場合、ランスルーの第1のクラスの他のプログラムオブジェクトの後に、第1のクラスの上記プログラムオブジェクトが、第2のクラスのプログラムオブジェクトの代りに新たに開始される方法が示される。
その場合に、エラーの検出は、新たに開始されるクラスにおいてのみ実行される。
エラー検出自体は、任意の方法に従って行うことができる。コンピュータプログラムの処理の間に(いわゆるconcurrent checking)エラーを検出することができる、他の種類のエラー発見機構を使用することも考えられる。たとえば、デュアルコアアーキテクチャの場合には、全計算機コアが二重に形成されている。計算機コアがロックステップモードで駆動される場合には、各インストラクションについて2つの計算機コアが同一の結果をもたらすかを比較することができる。この場合、結果が異なっていれば、確実にエラーを推定させる。従ってこのエラー発見機構は、プログラムオブジェクトを処理する際にリアルタイムでエラーを発見する。プログラムアーキテクチャ内で一貫して使用されるエラー検出コード、あるいは計算装置の二重化された部分コンポーネントについても、同様のことが当てはまる。これらすべてのエラー発見機構に共通なのは、それらが過渡的エラーを極めて迅速に発見し、エラーが検出された場合にエラー信号を供給することである。
この種のエラー信号に、プログラムオブジェクトを繰り返すエラー処理機構を組み合わせることができる。新たに実行した際同じエラーが再度発生した場合には、恒久的エラーを推定することができる。あるいは、エラーカウンタがアップされ、エラーカウンタが所定の値を上回った場合に初めて、恒久的エラーが推定される。これに対してプログラムオブジェクトが新たに実行された場合に、エラーがもはや発生しないときは、エラーが過渡的なものであったと推定することができる。プログラムオブジェクトがまだエラーなしで新たに実行されている間に、コンピュータプログラムはその所定の機能のための準備を行う。従って極めて短い時間の後に、可用性が再び形成される。従って少なくとも1つのプログラムオブジェクトの繰返しは、過渡的エラーを処理するための良好な手段である。
本発明の好ましい展開によれば、プログラムオブジェクトがコンピュータプログラムのランタイムオブジェクトとして形成されており(以下においては特にタスクと称する)、エラーが検出された場合に少なくとも1つのタスクが新たに実行されることが提案される。タスクは、特に駆動システム上の、典型的なオブジェクトである。タスクの繰返しは最小限のコストと手間で、好ましくは特に純粋にソフトウェア制御で、実現することができる。
本発明の好ましい実施形態によれば、エラー検出の時点で実行されていたプログラムオブジェクトが新たに開始されることが、提案される。その代わりに、あるいはそれに加えて、エラーの検出の時点ですでに完全に処理されているプログラムオブジェクトも開始して、新たに処理することができる。
プログラムオブジェクトの処理の間、特にプログラムオブジェクトの処理の開始時に、プログラムオブジェクトの少なくとも1つの定義された状態が生成されて、格納されることが提案される。これは、たとえば、プログラムオブジェクトの状態にとって重要な全ての変数の値が格納されることによって、行うことができる。
さらに、エラー検出のために、複数のプログラムオブジェクトを有するコンピュータプログラムが処理される計算装置に対して冗長に作業する、他の計算装置が使用されることが、提案される。もちろん、1つより多い冗長な計算装置を、エラー検出のために使用することもできる。
好ましくは、本発明に基づく方法は、自動車内、特に自動車制御装置内で、コンピュータプログラムを処理する場合に過渡的エラーが不可避であるにもかかわらず、コンピュータプログラムの安全かつ信頼できる処理を保証するために、使用される。これは、特に、自動車内の安全上重要な適用において開ループ制御および/または閉ループ制御プログラムを処理するために重要である。
さらに、少なくとも1つのプログラムオブジェクトを新たに実行した場合、同一のエラーが新たに発生したときに恒久的エラーを推定することが提案される。また、プログラムオブジェクトを予め定めることのできる回数繰り返した後にまだ相変わらずエラーが発生した場合に初めて、恒久的エラーを推定することも考えられる。従ってこの場合には、プログラムオブジェクトを3回またはそれより多く繰り返した後に初めてエラーがなくなった場合でも、過渡的エラーが推定される。本発明のこの展開によって、重要なプログラムオブジェクトは、たとえば2回だけでなく、3回繰り返すことができる。
本発明の他の好ましい展開によれば、少なくとも1つのプログラムオブジェクトの繰返しの数が予め定めることのできる値に制限されることが提案される。それによって、恒久的エラーの場合に、同一のプログラムオブジェクトが任意に何回も繰り返されることが防止される。少なくとも1つのプログラムオブジェクトの繰返しの数を制限することは、たとえば、カウンタを用いて、またはタイムバリアを介して行うことができる。タスクに依存する繰返し値を設定することによって、さらに、重要なタスクは余り重要でないタスクより数多く繰り返し、即ち重要なタスクには過渡的エラーなしでエラーのない実行をする可能性をより多く、あるいはより長く与えることが可能とされる。余り重要でないタスクにおいては、極めて迅速に恒久的エラーが推定され、他のシステムリアクションが導入される。
本発明の他の好ましい実施形態によれば、少なくとも1つのプログラムオブジェクトの繰返しの数が、予め定めることのできる値に動的に制限されることが、提案される。好ましくは、少なくとも1つのプログラムオブジェクトの繰返しの数は、スケジューリングのために残されている残留時間に従って予め定めることのできる値に動的に制限される。このようにして、たとえば、第1のタスクと第2のタスクはランスルーすることができ、第3のタスクは複数回繰り返すことができる。
本発明に基づく方法を実現するために、コンピュータプログラムの処理の間の、プログラムオブジェクトの実行前に、プログラムオブジェクトの実行のために必要な、あるいはプログラムオブジェクトの状態を定義する変数が格納されることが提案される。従ってこの実施形態によれば、すべてのプログラムオブジェクトの変数が格納される。
あるいは、1つの周期内で周期的に処理すべきコンピュータプログラムは、エラーが検出された場合に、コンピュータプログラムの周期内の予め定めることのできるジャンプバック点にある所定のプログラムオブジェクトへジャンプバックされることが、提案される。従ってこの実施形態によれば、エラーの場合に常に、周期内の同一の箇所へジャンプされる。その場合に好ましくは、コンピュータプログラムの処理の間に、ジャンプバック点でプログラムオブジェクトを処理する前にのみ、プログラムオブジェクトの状態にとって重要なすべての変数の値が格納される。従ってサイクルまたは周期当たり1回だけ、ジャンプバック点でプログラムオブジェクトの重要な変数の値のみを格納すればよい。それによって、記憶のための時間とメモリスペースを節約することができる。
その後、エラーが検出された後にプログラムオブジェクトを新たに実行する場合に、格納されている入力値が呼び出されて、新たに実行すべきプログラムオブジェクトに入力値として提供される。
本発明の他の実施形態として、1つのプログラムオブジェクトに複数のジャンプバック点が設けられることが提案される。エラーが発生した場合には、プログラムオブジェクト全体ではなく、プログラムオブジェクトの一部のみを新たに処理すれば済む。エラーが発生した場合には、単純に、それまでプログラムオブジェクトの処理にエラーがなかった、先行するジャンプバック点へジャンプされる。たとえば、n番目のジャンプバック点までプログラムオブジェクトがエラーなしで処理されていた場合、n番目のジャンプバック点とn+1番目のジャンプバック点との間でエラーが発生したときには、n番目のジャンプバック点へジャンプバックされる。この場合、プログラムオブジェクトは、n番目のジャンプバック点から新たに処理される。それによって、時間の節約が可能である。好ましくはプログラムオブジェクトを処理する間に各ジャンプバック点を通過する場合に、少なくとも1つの定義された状態が生成され、格納される。
特に重要なのは、本発明に基づく方法が駆動システムの形式で実現されることである。その場合に駆動システムは、計算装置上、特にマイクロプロセッサ上で実行可能であって、計算装置上で実行された場合に、本発明に基づく方法を実施するようにプログラミングされている。従ってこの場合において、本発明は駆動システムによって実現されるので、この駆動システムは、駆動システムが実施するのに適している方法と同様に本発明を表す。駆動システムは、好ましくはメモリ素子上に格納され、処理を行うために計算装置へ転送される。メモリ素子として、特に任意のデータ担体、あるいは電気的なメモリ媒体、たとえばランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)またはフラッシュメモリを使用することができる。
本発明の課題の他の解決方法として、冒頭で挙げた種類の計算装置に基づいて、計算装置がエラー処理機構を備え、エラー発見機構によってエラーが検出された場合に、そのエラー処理機構が少なくとも1つのプログラムオブジェクトの新たな実行を促すことが提案される。
本発明の好ましい展開によれば、エラー処理機構は、エラーが検出された場合に少なくとも1つのプログラムオブジェクトを新たに開始させるトリガー論理を備えることが、提案される。
好ましい実施形態によれば、計算装置上でリアルタイム駆動システム、たとえばOSEKタイムが実行されることが、提案される。そして、計算装置はマイクロプロセッサを含むことが、提案される。
本発明の他の特徴、適用可能性および利点は、図面に示す本発明の実施例についての以下の説明から明らかにされる。ここで、記載されたあるいは図示された全ての特徴は、それ自体あるいは任意の組合わせにおいて、特許請求項におけるその要約あるいはその帰属に関係なく、かつ明細書または図面におけるその表現または表示に関係なく、本発明の対象を形成する。
本発明は、計算装置上、特にマイクロプロセッサ上で、コンピュータプログラムを処理する方法に関する。コンピュータプログラムは、好ましくはタスクとして形成された、複数のプログラムオブジェクトを含んでいる。本方法において、計算装置上でコンピュータプログラムが処理される間にエラーが検出される。検出されたエラーは、過渡的(従って一時的)な種類のものまたは恒久的な種類のものであることができる。
過渡的エラーは、計算装置上でコンピュータプログラムを処理する際に発生することがある。計算装置の半導体モジュール(いわゆるチップ)上の構造はますます小さくなるが、信号のクロックレートはますます大きくなり、かつ信号の電圧はますます低くなるので、計算装置上でコンピュータプログラムを処理する場合にますます頻繁に過渡的エラーが発生する。恒久的エラーとは異なり、これは一時的にのみ発生し、1つのビットだけが歪曲され、計算装置それ自体が恒久的に損傷されることはない。過渡的エラーは、たとえば電磁的影響、アルファ粒子または中性子のような、種々の原因を有することができる。
過渡的エラーはほぼ予測不可能に発生し、従って再現できないという事実に基づいて、従来技術から知られている計算装置においては、エラー処理は大体において恒久的エラーについてのみ行われる。過渡的エラーの考慮は、エラーカウンタのインクリメントと場合によってはデクリメントとに限定される。これが、メモリに格納されオフラインの状態で、すなわち、たとえば修理工場に滞在する間に、診断情報またはエラー情報として読み出すことができる。その場合に初めて、それに応じてエラーに反応することができる。従って既知のエラー処理では、特に安全上重要なシステムのために必要な短いエラー許容時間内のエラー処理ができない。他方で、エラー許容時間内にコンピュータプログラムが再び秩序通りに処理され、計算装置がその規程通りの課題を満たすことができるような構造的エラー処理もできない。
それとは異なり、本発明に基づく方法は、ほとんどのエラーの過渡的性質を系統的、構造的に取り扱うことにより、計算装置上で実行されるコンピュータプログラムの過渡的エラーの処理をできるようにする。本発明に基づく方法のフローチャートが、ランタイムオブジェクト、いわゆるタスクの例で、図1に示されている。他のタスクの存在は、原理的なシーケンスに影響を与えず、従って考慮が省かれている。すなわち、図1に示すシーケンスに従ってタスクが処理され、従って本発明に基づいて複数のタスクを処理することができる。特に好ましいのは、並行に作業するエラー発見機構である(いわゆるconcurrent checking)。しかしこれは、フローチャートではそのように示すことはできないので、それに応じた箇所に直列のモジュールとして挿入されている。
本発明に基づく方法が、機能ブロック1で開始される。機能ブロック1において、計算装置上でタスクの処理が開始される。すなわちタスクが呼び出される。機能ブロック2において、ジャンプバック点が形成される。この目的のために、タスクを再スタートのために定義された状態へ移行させて、タスクを再度開始させるのに十分な、安全で重要なタスク入力値が計算装置のメモリ素子内に格納される。好ましくは、タスクのすべての入力値が格納される。その後、機能ブロック3において、タスクがさらに処理される。処理は、他のジャンプバック点、あるいはタスクの最後まで行うことができる。その後、エラー発見機構が実施される。エラー検出は、任意の方法に従って行うことができる。エラーは、コンピュータプログラムの処理の間に検出される(いわゆるconcurrent checking)。すなわち、例えば、いわゆるデュアルコアアーキテクチャにおいては、全計算機コアが二重に形成されている。計算機コアがいわゆるロックステップモードで駆動される場合に、各インストラクションについて、2つの計算機コアが同一の結果をもたらすか比較することができる。ここで、結果が異なる場合、確実にエラーを推定させる。従ってこの種のエラー発見機構は、タスクを処理する際にエラーをリアルタイムに発見する。プロセッサアーキテクチャにおいて一貫して使用されるエラー発見コード、あるいは計算装置の二重にされた部分コンポーネントについても、同じことが当てはまる。好ましくは、過渡的エラーを極めて迅速に発見し、エラーが検出された場合にエラー信号を供給する、このようなエラー発見機構が使用される。
照会ブロック4において、エラー、すなわち過渡的エラーまたは恒久的エラーが発見されたかが調べられる。エラーが発見された場合には、他の照会ブロック7へ分岐して、そこでエラーカウンタ論理の実際の値が調べられる。エラーカウンタが、予め定めることのできるカウンタ状態をまだ下回っていない(デクリメントするエラーカウンタの場合)、あるいは上回っていない(インクリメントするエラーカウンタの場合)場合には、その処理の間にエラーが生じたタスク、すなわちエラーが発生する前に処理された所定数のタスクを、再度実行することができる。タスクの処理の新たなスタートが可能である場合には、機能ブロック8へ分岐して、エラーカウンタ論理のステータスが、他のエラーが発生しているという情報によって更新(デクリメントまたはインクリメント)される。その後、機能ブロック5へ分岐して、機能ブロック2に格納されている変数がロードされ、処理を開始させるために定義された状態を発生させるためにタスクへ供給される。その後、機能ブロック3へ分岐して、そこで、繰り返すべきタスクが部分的に、すなわち例えばすでに処理されたジャンプバック点から、あるいは全体として、すなわちタスクが最初から、もう一度開始され、もう一度処理される。
照会ブロック4において、機能ブロック3におけるタスクの処理の間にエラーが発生していないことが明らかになった場合には、機能ブロック9へ分岐し、エラーカウンタ論理のステータスが、エラーが検出されなかったという情報によって更新される。その後照会ブロック11へ分岐し、コンピュータプログラムが最後まで処理されているかが調べられる。そうである場合には、機能ブロック6内のコンピュータプログラムの最後へ分岐する。そうでない場合には、機能ブロック12へ分岐し、実際のタスクステータスに従って、タスクを再度開始させるのに十分な安全で重要なタスク入力値が定められ格納されることによって、他のジャンプバック点が形成される。その後、再び機能ブロック3へ分岐し、そこで繰り返すべきタスクが新たに開始されて、部分的にあるいは全体として、再度処理される。
判断ブロック7において、エラーカウンタ論理の状態に基づいて、タスクを新たに処理するためのそれ以上の試みがもはや不可能であることが明らかになった場合は、機能ブロック10へ分岐する。判断ブロック7においては、エラーカウンタ論理の値がこのタスクについて、タスクに依存する繰返し値よりも大きいか否かが調べられる。このタスクに依存する繰返し値は、種々のタスクについて等しく設定することも、あるいは各タスクについて個別に設定することもできる。このようにして、特に重要なタスクは、恒久的エラーが報告される前に、まず何回か繰り返すことができる。タスクに依存する繰返し値が1として設定される場合は、恒久的エラーが検出される前にタスクは1回だけ繰り返される。タスクに依存する繰返し値が2または3に設定される場合は、恒久的エラーが検出される前に、タスクは2回または3回繰り返される。従ってこの場合に、タスクは、過渡的エラーがもはや生じなくなるまで、より長い時間、すなわちより多いランスルーを提供される。機能ブロック10において、恒久的エラーが検出されて、それに応じた措置が導入される。この措置は、たとえば、コンピュータプログラムを非常走行駆動へ移行させ、あるいはとりあえず何も行わず、その後コンピュータプログラムの実行を終了することにある。
本発明に基づく方法は、必ずしも、図1に示し、かつ上述したすべての機能ブロックおよび照会ブロックを有する必要はない。すなわち、例えばエラーカウンタ論理に関するブロック7〜9を省くことができる。エラーが検出された場合には、新たに開始して処理すべき1つまたは複数のタスクは、エラーがもはや発生しなくなるまでの間、繰り返される。恒久的エラーは検出されなくなるため、機能ブロック10も省くことができる。あるいは、タスクに依存する繰返し値を1として設定することができるため、エラーカウンタを更新するための機能ブロック8と9とを省くことができる。そして、ジャンプバック点を1つだけ含む1つのタスクのみが実行される場合には、ブロック11と12とを省くことも可能である。
図2には、コンピュータプログラムを処理するための本発明に基づく計算装置の好ましい実施形態が示されている。計算装置は、その全体が参照符号20で示されている。計算装置は、メモリ素子21を含み、それは例えば電子的なメモリとして、特にフラッシュメモリとして形成されている。さらに、計算装置20はマイクロプロセッサ22を含み、その上でコンピュータプログラムを処理することができる。コンピュータプログラムは、電子的なメモリ媒体21上に格納されており、参照符号23で示されている。マイクロプロセッサ22上でコンピュータプログラムを処理するために、コンピュータプログラムが全体として、あるいは部分的に、例えば指令単位で、データ接続24を介してマイクロプロセッサ22へ転送される。データ接続24は、1本または複数本のデータ線として、あるいはデータ伝送するためのバスシステムとして形成することができる。メモリ媒体21上には、さらに、駆動システムが格納されており、その駆動システムは計算装置20を起動する際に少なくとも部分的にメモリ21からマイクロプロセッサ22へ転送されて、そこで実行される。駆動システムは、参照符号25で示されている。駆動システムは、マイクロプロセッサ22上のコンピュータプログラム23の処理と計算装置20に接続されている周辺機器を制御し、かつ管理する課題を有している。本発明によれば、駆動システム25は特別な方法で形成されているので、本発明に基づく方法を実施するようにプログラミングされており、かつそれがマイクロプロセッサ22上で実行された場合に、本発明に基づく方法を実施する。特に、駆動システム25は、マイクロプロセッサ22上でコンピュータプログラム23を処理する間にエラーを検出するためのエラー発見機構へのアクセスを有している。さらに、駆動システム24はエラー処理機構を有しており、それはエラーが検出された場合にコンピュータプログラム23の少なくとも1つのプログラムオブジェクト(タスク)の新たな実行を促す。
従って、本発明に基づくシステムストラテジーの枠内で、タスクを繰り返すこのコンセプトを最小限のパフォーマンスオーバーヘッドで、あるいはそれなしで組み込むことを許す方法、駆動システムおよび計算装置が提案される。
その場合に、それぞれ異なる前提においてパフォーマンスオーバーヘッドとそれに伴ってコストを最小限に抑える、システムストラテジーが基礎となる。その場合に一般的に、タスクが実行される際にエラーを発見することができる(たとえば冗長な処理を有するデュアルコア機構)、特にすでに説明したエラー発見機構が提供されることが前提とされる。さらに、ここで特に過渡的エラーについて詳しく説明する。過渡的エラーを発見するために、たとえばすでに説明したエラーカウンタのような拡張が必要である。
図3に示されるような、タスク繰返しを挿入するための、本発明に基づくストラテジーにおいて、幾つかの前提に注意しなければならない。
タスクの少なくとも2つのクラス(たとえばクリティカルなタスクとアンクリティカルなタスク)が区別される。その場合にすでに、エラー発見機構はタスクのすべてのクラスについて使用されず、かつ/またはタスク繰返しはタスクのすべてのクラスについて実行されない。
図3の例において、タスクの2つのクラスが区別され、一方のクラスにおいてだけタスク繰返しが実行され、かつ/または一方のクラスにおいてだけエラー発見機構が開始される。クリティカルなタスクとアンクリティカルなタスクとを区別する場合に、クリティカルなクラスにおけるエラーのみが本発明に基づいて捕捉され、特に第1のクラスについてだけ、エラー発見機構が使用される。その場合にクリティカルなタスクとは、システムの全機能または基礎となる機能のために正しい処理が必要であって、この機能を得るために、遅くとも所定の時点で行われていなければならないタスクである。アンクリティカルなタスクは、全システム機能または基礎的な機能が該当しないか、あるいはほとんど制限されないタスクである。その場合に特に、システムにおいては、安全上クリティカルな機能と安全上アンクリティカルな機能とが区別される。
第2のクラス、従ってここではアンクリティカルなクラス2内の過渡的エラーは、無視することができる。さらに、説明するように、第2のクラスのタスクは、「順番がくる」ことさえなく、すなわちシステムの視点から、タスク処理サイクル内でこの第2のクラスのタスクが呼び出されない場合に、重要な結果をもたらさない。
その場合に、システムは、幾分大きいジッタ(ランスルーの規模において)をうまく扱えなければならない。これは、好ましくは、アプリケーションとプラットフォーム機構、特に駆動システムを通して一貫していなければならない。その場合に、図5aに、エラーのない実行において、タスクT1、T2、T3、T4、T5及びSを有するランスルーが示されている。
そのために、図3においては、クラス1のタスクT1、T2、T3、T4およびT5とクラス2のタスクSとの間で区別される。T3の間に過渡的エラーが発生した場合に、図3bに示すように、T3は第1のクラスの他のタスクの後に時間S内で再度計算され、Sは完全に、あるいは部分的に省かれる。
すなわち、少なくとも2つのクラスのタスクが生じる(たとえばクリティカルなT1−T5とアンクリティカルなS)。第2のクラスのタスク内の過渡的エラーは、無視することができる。さらに、第2のクラスのタスクは、「順番がくること」さえなく、すなわちシステムの視点からは、このクラスのタスクがサイクルまたはランスルー内で呼び出されない場合に、重要な結果をもたらさない。そして、ランスルー当たり、クリティカルなタスクの最も長いものと同じだけ続く、少なくとも1つのアンクリティカルなタスクがなければならない。この少なくとも1つのアンクリティカルなタスクSは、アイドルタイムとして実現することもできる。
たとえば、図3bに示すT3のような、Ti内でエラーが検出された場合に、Ti(T3)の結果は重要でないと説明されて、その前の例とは異なり、他のタスク(T4、T5)が処理される。Tn(T5)が処理された後に、Ti(T3)が再度計算される。その場合に前提は、あるサイクルのタスクの結果が同じサイクルの他のタスクによってさらに(必然的に)必要とされることを要求しないシステムデザインである。というのは、その場合にはタスクの順序が維持されないからである。
このシステムの考え方は、図1および2についての説明に応じて、該当する装置によって実施されるので、開示に関してはっきりと、各実施例はそれぞれ他の実施例と本発明に基づいて組み合わせることができる。
それによって、本発明に基づいて、過渡的エラーに関して最適なFO特性(FO:Fail Operation(al), Fault Operation(al))を得ることができる。
本発明に基づく方法の好ましい実施形態を示すフローチャートである。 本発明に基づく計算装置の好ましい実施形態を図式的に示している。 図3aと3bからなり、タスク繰返しを組み込むための本発明に基づく考え方を示している。

Claims (13)

  1. 複数のプログラムオブジェクトを有するコンピュータプログラム(23)を処理中にエラーを検出する計算装置(20)上におけるコンピュータプログラム(23)の処理方法であって、
    プログラムオブジェクトが、少なくとも2つのクラスに分割され、1つのランスルー内で複数のプログラムオブジェクトが処理され、エラーが検出された場合第1のクラスのプログラムオブジェクトの処理が繰り返され、
    第1のクラスの、すでに処理が行われているプログラムオブジェクト内でエラーが検出された場合、前記エラーは過渡的エラーとして見なされ、ランスルーの第1のクラスの他のプログラムオブジェクトの後で、第2のクラスのプログラムオブジェクトの代わりに第1のクラスの前記プログラムオブジェクトが開始され、前記プログラムオブジェクトが所定回繰り返された後に前記エラーが未だに発生する場合には、恒久的エラーとして推定されることを特徴とする、計算装置上でコンピュータプログラムを処理する方法。
  2. エラーの検出は、プログラムオブジェクトが再開始されるクラスにおいてのみ実行されることを特徴とする、請求項1に記載の方法。
  3. 異なるクラスのプログラムオブジェクトが交互に処理されることを特徴とする、請求項1に記載の方法。
  4. プログラムオブジェクトは、前記コンピュータプログラム(23)のタスクとして形成されており、エラーが検出された場合に少なくとも1つのタスクが新たに実行されることを特徴とする、請求項1に記載の方法。
  5. エラーが検出された時点で実行されていたプログラムオブジェクトが新たに実行されることを特徴とする、請求項1または4に記載の方法。
  6. プログラムオブジェクトの処理の間、特にプログラムオブジェクトの処理開始時に、プログラムオブジェクトの少なくとも1つの定義された状態が生成され、格納されることを特徴とする、請求項1に記載の方法。
  7. 自動車内、特に自動車制御装置内で用いられることを特徴とする、請求項1に記載の方法。
  8. 前記コンピュータプログラム(23)の処理の間においてプログラムオブジェクトの実行前に、プログラムオブジェクトの処理に必要な変数の値が格納されることを特徴とする、請求項1に記載の方法。
  9. 前記コンピュータプログラム(23)が所定の周期で周期的に処理される場合に、エラーが検出された場合、コンピュータプログラム(23)の前記周期内に予め定めることのできるジャンプバック点の所定のプログラムオブジェクトへジャンプバックすることを特徴とする、請求項1に記載の方法。
  10. 計算装置(20)上で実行可能な駆動システム(25)において、
    駆動システム(25)は、請求項1から9のいずれかに記載の方法を実行するようにプログラミングされており、かつ計算装置(20)上で実行された場合に、請求項1から9のいずれか1項に記載の方法を実行することを特徴とする、駆動システム。
  11. コンピュータプログラム(23)を処理する間にエラーを検出するエラー発見機構を備えた、複数のプログラムオブジェクトを含むコンピュータプログラム(23)を処理するための計算装置(20)であって、
    前記計算装置(20)は、エラー処理機構を備え、
    前記エラー処理機構は、前記エラー発見機構によってエラーが検出された場合に、すでに処理が行われている少なくとも1つのプログラムオブジェクトが開始されることを促し、プログラムオブジェクトが少なくとも2つのクラスに分割され、1つのランスルー内で複数のプログラムオブジェクトが実行され、かつ
    第1のクラスの、すでに処理が行われているプログラムオブジェクト内でエラーが検出された場合、前記エラーは過渡的エラーとして見なされ、第1のクラスの当該プログラムオブジェクトが、ランスルーの第1のクラスの他のプログラムオブジェクトの後で、第2のクラスのプログラムオブジェクトの代わりに開始され、
    前記プログラムオブジェクトが所定回繰り返された後に前記エラーが未だに発生する場合には、恒久的エラーとして推定されることを特徴とする、コンピュータプログラムを処理するための計算装置。
  12. 前記エラー処理機構はトリガー論理を備え、
    前記トリガー論理は、エラーが検出された場合に少なくとも1つのプログラムオブジェクトを開始させることを特徴とする、請求項11に記載の計算装置(20)。
  13. 計算装置(20)上で、リアルタイム駆動システム(25)が実行されることを特徴とする請求項11に記載の計算装置(20)。
JP2007537281A 2004-10-25 2005-10-20 コンピュータプログラムを処理する方法、駆動システムおよび計算装置 Expired - Fee Related JP4648396B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102004051966A DE102004051966A1 (de) 2004-10-25 2004-10-25 Verfahren, Betriebssystem und Rechengerät zum Abarbeiten eines Computerprogramms
DE102004051991A DE102004051991A1 (de) 2004-10-25 2004-10-25 Verfahren, Betriebssystem und Rechengerät zum Abarbeiten eines Computerprogramms
PCT/EP2005/055437 WO2006045754A1 (de) 2004-10-25 2005-10-20 Verfahren, betriebssystem und rechengerät zum abarbeiten eines computerprogramms

Publications (2)

Publication Number Publication Date
JP2008518294A JP2008518294A (ja) 2008-05-29
JP4648396B2 true JP4648396B2 (ja) 2011-03-09

Family

ID=35462117

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2007537273A Pending JP2008518293A (ja) 2004-10-25 2005-10-19 コンピュータプログラムを処理する方法、オペレーティングシステムおよび計算装置
JP2007537281A Expired - Fee Related JP4648396B2 (ja) 2004-10-25 2005-10-20 コンピュータプログラムを処理する方法、駆動システムおよび計算装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2007537273A Pending JP2008518293A (ja) 2004-10-25 2005-10-19 コンピュータプログラムを処理する方法、オペレーティングシステムおよび計算装置

Country Status (6)

Country Link
US (2) US7788533B2 (ja)
EP (2) EP1810139B1 (ja)
JP (2) JP2008518293A (ja)
CN (2) CN100538644C (ja)
DE (2) DE102004051991A1 (ja)
WO (2) WO2006045734A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10136720B2 (en) 2016-04-12 2018-11-27 Amg Co., Ltd. Cosmetic container

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004051991A1 (de) 2004-10-25 2006-04-27 Robert Bosch Gmbh Verfahren, Betriebssystem und Rechengerät zum Abarbeiten eines Computerprogramms
DE102007056218A1 (de) * 2007-11-22 2009-05-28 Robert Bosch Gmbh Verfahren zur Behandlung von transienten Fehlern in Echtzeitsystemen, insbesondere in Steuergeräten von Kraftfahrzeugen
WO2011117156A2 (de) * 2010-03-23 2011-09-29 Continental Teves Ag & Co. Ohg Kontrollrechnersystem, verfahren zur steuerung eines kontrollrechnersystems, sowie verwendung eines kontrollrechnersystems
CN107531194B (zh) * 2014-09-25 2019-07-09 日本精工株式会社 电动助力转向装置的控制装置和控制方法
WO2017012640A1 (en) * 2015-07-17 2017-01-26 Hewlett-Packard Indigo B.V. Electrostatic ink compositions
US9734006B2 (en) * 2015-09-18 2017-08-15 Nxp Usa, Inc. System and method for error detection in a critical system
CN109508260B (zh) * 2018-10-31 2021-11-12 西北工业大学 一种自修复处理器对锁步***的可靠性建模与分析方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10326220A (ja) * 1997-05-27 1998-12-08 Toshiba Corp ファイルシステムおよびファイル管理方法
JP2003263329A (ja) * 2002-03-08 2003-09-19 Oki Electric Ind Co Ltd タスクスケジュール装置
JP2004102492A (ja) * 2002-09-06 2004-04-02 Nippon Telegr & Teleph Corp <Ntt> プロセス再開方法、サーバ再開方法、救済起動方法、プロセス再開装置、サーバ再開装置、救済起動装置、プロセス再開プログラム、サーバ再開プログラム、救済起動プログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3248697A (en) * 1962-11-27 1966-04-26 Ibm Error classification and correction system
US5138708A (en) * 1989-08-03 1992-08-11 Unisys Corporation Digital processor using current state comparison for providing fault tolerance
US5269017A (en) * 1991-08-29 1993-12-07 International Business Machines Corporation Type 1, 2 and 3 retry and checkpointing
US5815651A (en) * 1991-10-17 1998-09-29 Digital Equipment Corporation Method and apparatus for CPU failure recovery in symmetric multi-processing systems
US5530802A (en) * 1994-06-22 1996-06-25 At&T Corp. Input sequence reordering method for software failure recovery
JPH10214198A (ja) 1997-01-29 1998-08-11 Hitachi Ltd 情報処理システム
US6205542B1 (en) * 1997-12-24 2001-03-20 Intel Corporation Processor pipeline including replay
FR2784475B1 (fr) 1998-10-12 2000-12-29 Centre Nat Etd Spatiales Procede de traitement d'un systeme electronique soumis a des contraintes d'erreurs transitoires
TW420771B (en) 1999-08-14 2001-02-01 Ibm Electronic control system for controlling the function of a processing system and method for managing system fault situations of the electronic control system
US20040064756A1 (en) * 2002-09-26 2004-04-01 Sudarshan Kadambi Method and apparatus for improving reliability in computer processors by re-executing instructions
FR2869430A1 (fr) * 2004-04-27 2005-10-28 St Microelectronics Sa Controle de l'execution d'un algorithme par un circuit integre
DE102004051991A1 (de) 2004-10-25 2006-04-27 Robert Bosch Gmbh Verfahren, Betriebssystem und Rechengerät zum Abarbeiten eines Computerprogramms

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10326220A (ja) * 1997-05-27 1998-12-08 Toshiba Corp ファイルシステムおよびファイル管理方法
JP2003263329A (ja) * 2002-03-08 2003-09-19 Oki Electric Ind Co Ltd タスクスケジュール装置
JP2004102492A (ja) * 2002-09-06 2004-04-02 Nippon Telegr & Teleph Corp <Ntt> プロセス再開方法、サーバ再開方法、救済起動方法、プロセス再開装置、サーバ再開装置、救済起動装置、プロセス再開プログラム、サーバ再開プログラム、救済起動プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10136720B2 (en) 2016-04-12 2018-11-27 Amg Co., Ltd. Cosmetic container

Also Published As

Publication number Publication date
US20090031161A1 (en) 2009-01-29
WO2006045734A1 (de) 2006-05-04
CN101048738A (zh) 2007-10-03
CN101048737A (zh) 2007-10-03
JP2008518293A (ja) 2008-05-29
DE102004051966A1 (de) 2006-05-04
CN100538645C (zh) 2009-09-09
DE102004051991A1 (de) 2006-04-27
US7716524B2 (en) 2010-05-11
US7788533B2 (en) 2010-08-31
EP1810140A1 (de) 2007-07-25
JP2008518294A (ja) 2008-05-29
US20090254773A1 (en) 2009-10-08
EP1810139B1 (de) 2010-08-18
EP1810139A1 (de) 2007-07-25
CN100538644C (zh) 2009-09-09
WO2006045754A1 (de) 2006-05-04

Similar Documents

Publication Publication Date Title
JP4648396B2 (ja) コンピュータプログラムを処理する方法、駆動システムおよび計算装置
JP4728334B2 (ja) コンピュータプログラムを処理する方法、オペレーティングシステムおよび計算装置
US9032258B2 (en) Safety system challenge-and-response using modified watchdog timer
US8677189B2 (en) Recovering from stack corruption faults in embedded software systems
JP4903149B2 (ja) コンピュータシステム上でコンピュータプログラムを処理する方法
US20120317576A1 (en) method for operating an arithmetic unit
JP6692763B2 (ja) 制御装置および制御プログラム更新方法
RU2284929C2 (ru) Способ управления компонентом важной для обеспечения безопасности распределенной системы
JP2008513899A (ja) コンピュータシステム上でコンピュータプログラムを処理する方法
JP4596488B2 (ja) コンピュータプログラムを処理する方法、駆動システム、および計算装置
US6772367B1 (en) Software fault tolerance of concurrent programs using controlled re-execution
Leaphart et al. Survey of software failsafe techniques for safety-critical automotive applications
JP2016066139A (ja) 車両制御装置
JP3915411B2 (ja) 車両用電子制御装置
Tarafdar et al. Software fault tolerance of concurrent programs using controlled re-execution
CN114633705A (zh) 带有同步驱动程序的车辆控制装置
JP7504222B2 (ja) 車載用制御システム
CN115629934A (zh) 监控方法、微控制器、计算机程序及其存储介质
WO2001027764A1 (en) Software fault tolerance of concurrent programs using controlled re-execution
TWM643881U (zh) 基於服務導向架構的安全性比較裝置
JPS63263543A (ja) マルチレベルプログラミング方式
JP2002116926A (ja) プログラム処理装置およびプログラム処理方法
JP2024066750A (ja) 電子制御装置、及びタスク実行制御方法
CN117591147A (zh) 一种车辆控制单元升级方法、***、电子设备及汽车
CN116560814A (zh) SoC上的任务调度方法、电子设备及机器可读存储介质

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100518

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100818

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101109

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101209

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131217

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees