JP6599431B2 - 複数のプロセッサを含む、機能安全を有するアプリケーション用の電子システムにおいてプログラムを実行する方法、対応システム、およびコンピュータプログラム製品 - Google Patents
複数のプロセッサを含む、機能安全を有するアプリケーション用の電子システムにおいてプログラムを実行する方法、対応システム、およびコンピュータプログラム製品 Download PDFInfo
- Publication number
- JP6599431B2 JP6599431B2 JP2017506354A JP2017506354A JP6599431B2 JP 6599431 B2 JP6599431 B2 JP 6599431B2 JP 2017506354 A JP2017506354 A JP 2017506354A JP 2017506354 A JP2017506354 A JP 2017506354A JP 6599431 B2 JP6599431 B2 JP 6599431B2
- Authority
- JP
- Japan
- Prior art keywords
- self
- test
- stl
- chk
- sys
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/079—Root cause analysis, i.e. error or fault diagnosis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/008—Reliability or availability analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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/0721—Error 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 within a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
開示される技術では、
前記アーキテクチャにより実行されるプログラムを複数の並列サブプログラムに分解する動作を行い、
システムの各処理モジュール、具体的には、前記プロセッサのうちの1つに関連する物理プロセッサまたは仮想マシンに各並列サブプログラムの実行を割り当て、
機能安全目標を満たすよう設計される自己テスト動作を前記アーキテクチャの通常動作中のプログラムのサイクル頻度に従って周期的に実行し得る。
診断型自己テスト動作、すなわち、プロセッサ上でテストを実行し、その結果を設計段階で事前に計算された数値と比較する動作と、
アーキテクチャ上でシステム値(純粋な例として、電圧と温度)を測定し、その結果を予想される基準範囲と比較する自己テスト動作と、
前記サブプログラムの部分結果どうしを比較する動作と、が含まれ、
前記自己テスト動作が、
自己テスト動作に関する各自己テストデータを生成することと、
前記自己テストデータ上でチェック動作を実行することと、
メッセージプロトコルを用いて、別の独立制御モジュールと前記自己テストデータのやり取りを連続して行うことと、
前記別の独立制御モジュール内で前記チェック動作を少なくとも部分的に実行することと、
前記診断型自己テスト動作により決定されるカバレッジ値、アーキテクチャ上で測定されるシステム値の自己テストの動作の所与のカバレッジ値、および前述のサブプログラムの部分結果どうしを比較する動作により決定されるカバレッジ値の関数である故障確率目標に重点を置くために、プログラムを複数の並列サブプログラムに分解する前記動作を実行することと、を含む。
図3に示される通り、プロセッサ11に関連する自己テストライブラリ(STL)50を実行することにより、診断テストを実行する診断型自己テスト動作Astlと、
好ましくは、自己テストライブラリ(STL)50を実行することにより実行される、アーキテクチャ上で測定されるシステム値の自己テストの動作Asysと、
図3に示される、アプリケーション比較ソフトウェアモジュール60により実行されるサブプログラムP1〜Pn間の比較の動作Achkと、が含まれる。
安全度のレベル(SIL):システムにより重点を置かれるカバレッジkの要求事項につながるシステム(具体的には、2チャネルシステム)に関して達成される。
動作のベースサイクル周波数fcycおよび診断テスト間隔(DTI):これに関して、図2に示される通り、サイクル時間Tcyc、およびこれに伴いベースサイクルの周波数fcycでプログラムP全体が周期的に実行され、安全機能SFがサイクル時間Tcycよりも短い安全実行時間Tsの前述のプログラムPの時間セグメントを占有する。
実行されるチェックの数とタイプ:具体的には、考慮されるアーキテクチャ内で、単位時間内の診断型自己テスト動作Astlの結果に基づいて制御モジュール15により実行され、安全実行時間Tsは、安全規格により要求されるカバレッジf(k)の制限の関数である。
なお、k1、k2は、2つのプログラムP1とP2を実行する2つのプロセッサ、例えば、C1とC2の故障カバレッジ値であり、s1、s2は、それぞれ2つのプログラムP1とP2を実行する2つのプロセッサC1、C2の安全側故障の一部であり、βは、2つのプロセッサC1、C2間の共通原因故障(CCF)を引き起こし得る故障の一部であり、k12は、2つのプロセッサC1、C2間の共通原因故障を引き起こし得る故障カバレッジ値であり、s12は、2つのプロセッサC1、C2に共通の安全側故障の一部であり、texpは、第1の故障の暴露時間である。暴露時間texpは、システムの使用のタイプおよび故障モデルのタイプにより規定され、究極には、システムのサービス時間を同じでよい。所与のサブプログラムPiを考慮し、ベース故障確率λが1と等しく、故障モデルΛの分布が1と等しいと想定すると、一対の数値si、ki(対応プロセッサの安全側故障の一部、および故障カバレッジ値で)により、それらの故障確率がそれぞれ実質的に特定される。
kstl、すなわち、診断型自己テスト動作Astlを実行することにより(自己テストライブラリ50により実行される、具体的には、モジュール15上に存在するモジュール51と協働して)保証されるカバレッジの一部。
kchk、すなわち、プログラムP1とP2の中間結果の比較を行うことにより、すなわち、自己テスト動作Achkを実行することにより(比較要素60で実行される、具体的には、制御モジュール15上に存在するモジュール61と協働して)、保証されるカバレッジの一部。
ksys、すなわち、自己テスト動作Asys(好ましくは、マルチプロセッサ10のモジュールとモジュール15のモジュールの間の協働により、プログラムP1とP2が実行される温度およびプロセッサC1、C2の電圧などのマルチプロセッサのアーキテクチャ10のシステムパラメータ間、および基準値または限界値、すなわち範囲Rattで実行される)により得られるシステム自己テストデータDsysを比較することにより保証されるカバレッジの一部。
2つのプロセッサC1およびC2に関する各自己テストカバレッジkstl1、kstl2、およびkstl12を用いて規定される自己テストライブラリ50に基づく前述の診断型自己テスト動作Astl、
比較カバレッジkchkを有するプログラムP1およびP2の中間結果間(アプリケーション自己テストデータDchk)の比較の動作Achk、および
プログラムP1およびP2が実行されるプロセッサC1、C2のシステム自己テストデータDsysとシステムカバレッジksysを規定する予想範囲Rattとの間の比較の動作Asysは、
マルチプロセッサ10内では実行されないが、マルチプロセッサ10とは独立したさらに別の要素である制御モジュール15により順序通り実行される。これは、マルチプロセッサ10と制御モジュール15との間のデータのやり取り(メッセージMC)により実行される。
データ交換期間tは、安全実行時間Tに対応する。
それらの属する論理チャネルVCの機能としてのメッセージMCの階層化専用のフィールドと、
メッセージMCのパケットの基本および時間シーケンスのためのフィールドと、
制御モジュール15のコマンドのフィールドと、
そのデータに対して制御モジュール15が自己テスト動作を完了しなければならないデータを含むペイロードフィールドと、を含む。
例えば、マルチプロセッサ10のコアC1〜Cmの電圧および/または温度の測定を含む、アーキテクチャ上で測定されるシステム値を自己テストする動作Asysにより生成されるシステム自己テストデータDsys、および、自己テストライブラリ50の特定の診断型自己テストの手順の1つに従って行われる計算の中間結果に関する診断型自己テストデータDstlなどの、マイクロプロセッサ10上で実行されるプログラムPの特性とは関係ないデータを含むメッセージ。
アプリケーション比較ソフトウェアモジュール60を介するサブプログラムP1〜Pn間の比較動作Achkにより生成されるアプリケーション自己テストデータDchkなどの、プログラムPの処理の中間結果に関するデータを含み、これに伴いプログラムPまたはアプリケーション自体に依存するメッセージ。
制御モジュール15は、前述の制御モジュール15内に格納される事前に計算された予想値Dstlaのセットを用いて、自己テストライブラリ50の特定の診断型自己テストの手順のうちの1つに従って、マルチプロセッサ10のコアC1〜Cm上で行われる計算の中間結果に関する診断型自己テストデータDstlの比較を論理モジュール51内で行うことにより、診断型自己テスト動作Astlを完了し、潜在的な共通原因故障(CCF)を検知し、前述の診断型自己テストデータDstlと事前に計算された予想値Dstlaのセットとの間の潜在的な差は、マルチプロセッサ10のコアC1〜Cmの論理回路内またはその状態の故障の影響(恒久的な、あるいは一時的な)を示し、
それと同時に、制御モジュール15は、事実上、仮想マシンまたはコアのどちらかのプロセッサモジュール11の対により独立して生成されるアプリケーション自己テストデータDchkの論理モジュール61内で連続して比較を行うことにより、2つの対応する安全チャネル間のクロスチェックの機能を実行し、
同様に、制御モジュール15内に格納されるシステム自己テストデータDsysが予想範囲Ratt内に入るかどうかをチェックすることにより、制御モジュール15は、アーキテクチャ上で測定されるシステム値の自己テスト動作Asysをチェックと伴に完了する。
メッセージMCの着信の順番、および、比較に関して考慮されるサイクルに属しているかどうかだけを考慮し、したがって、別の実施形態では考慮されているかもしれないが、個々のメッセージMCの着信の絶対時間を考慮しないことが好ましい。
制御モジュール15は、前に示された通り、2つのプロセッサモジュール11のそれぞれのシーケンス内の順番を十分に尊重して、異なる供給源、すなわち、異なるプロセッサ要素11(この場合2つの)からのメッセージMCに仲介ができるよう構成される。
制御モジュール15は、サイクル時間Tcycにより規定される各サイクルのチェックを完了することにより、サイクルベースで独自のチェックを適用する。
マルチプロセッサ処理システム10の診断型自己テスト動作Astlにより示される自己テスト動作を実施する。計算の結果、すなわちマルチプロセッサ10により、テスト自体が行われるときに処理される診断型自己テストデータDstlと、事前に計算され、格納される正確な結果、すなわち予想結果Dstlaとを比較して、この診断型自己テスト動作Astlは実施され、この診断型自己テスト動作Astlに割り当てられたプログラムシーケンスをマルチプロセッサ10が計算し正確に実行しているどうかをチェックする。マイクロプロセッサ11の様々な回路要素に最も完全、広範、網羅的に関与するために、この計算結果Dstlは、通常、演算および論理タイプの動作ならびに対応動作のシーケンスから取得される。前に記載された通り、本明細書に記載される方法およびアーキテクチャでは、予想値Dstlaと比較する動作は、外部の処理モジュール、制御モジュール15との協働により実施される(すなわち、図3の階層表現内のモジュール50および51の協働動作を用いて)。
システム自己テストデータDsys、すなわち、各マイクロプロセッサの動作および/または動作の状態に関する全パラメータ、好ましくは、マイクロプロセッサの動作電圧、およびシステムの温度、またはマイクロプロセッサ内部の温度の数値を測定し、この機能は、マイクロプロセッサの潜在的な故障の状況、具体的には、マイクロプロセッサの共通原因故障を判定可能な状況を特定する上で特に重要であり、別のライブラリ内に供給され、論理モジュール51内の予想範囲Rattに対してチェックされ得ても、前に記載した通り、前述のシステム自己テストデータDsysは、ライブラリ50内に含まれる対応プログラムを介して取得されることが好ましい。
a)自己テストソフトウェア自体による検知、この検知により、診断型自己テストデータDstlと、事前に計算されたもの、すなわち、予測結果Dstlaとを比較することで差を検知することにより、エラーが判定され、プログラム的に対応手段が適用されて、検知されたエラーが示される。これは故障によりプログラムフローの制御に悪影響を及ぼさないが、データの演算/論理計算の一部だけに悪影響が及ぶ通常の場合である。
b)STL50のテストを実行することにより得られる、故障の発生に伴う刺激、この刺激により、エラーを通知する外部の監視装置により監視される実行時間t上のテスト極値を破る、プログラムPの実行シーケンス内のエラーが判定される。これは故障によりプログラムフローの制御の論理責任に悪影響が及ぼされる通常の場合である。なお、この監視装置はシステムの専用要素、あるいは、別のコアでよく、このコアがクロスチェックを実行することにより、考慮されるマイクロプロセッサ上のテスト50の実行の誤作動または一時的な挙動を検知する。
マイクロプロセッサC1〜Cmにより行われる比較の結果の実行フローのチェック(チャネル内)を実施すること、および
各マイクロプロセッサC1〜Cm上のライブラリ50のテストを処理することにより得られる部分結果上でクロスチェック(チャネル間)を実施することの両方により、
診断型自己テストデータDstl上でクロスチェックを実行する動作。
比較の結果すなわち部分結果が、所定の時間窓内に(最大待ち時間と最小待ち時間により特徴づけられる)かつ所定の順番で送受信されているかチェックすることによる、適切な一時実行のチェックを実行する動作。これにより、フローの実行中の潜在的なエラーの検知が可能になるが、前にも示した通り、STL50のテストの実行フロー中にエラーを検知する機構では、外部構成要素の支援が必要となる。
測定値Dsysが、測定値(一般には、動作電圧と温度)の変動の規定の範囲内に収まっているかどうかのチェックを実行する動作。さらに、テスト50のライブラリにより取得され、実行中のシステムの状態を示す、システム構成の整合性のチェックも実行することができる。
ずっと繰り返す{
スーパーバイザ層上の、または直接各物理コア上のマルチプロセッサ10上で実行される、自己診断ライブラリの全てのプログラムからデータを受け取る
コア、仮想チャネル、およびタイプに従ってデータを分割し、構成する
ライブラリ50の各プログラムに対応する中間結果を並べ、対応する中間結果と最大待ち時間の間の最大スキューをチェックする
ライブラリ50の中間結果間のクロスチェックを実行し、エラーを検知する
異なるコアから測定値を集め、対応する中間結果と最大待ち時間との間の最大スキューをチェックする
その範囲でチェックを実行し、違反を特定する
}
・中間結果が同じものか、あるいは、修正されたものかを確認する、数値のチェック。
・メッセージ内のカウンタよってメッセージの順番が正確かどうかを確認する、順番のチェック。
・進行中の実行サイクル内の予想最小時間および予想最大時間と、かつ/または、他のコアからの対応メッセージと、メッセージの着信の時間とのを比較する、着信時間のチェック。
・測定値が所定の範囲Ratt内に入っているかどうかを確認する、範囲のチェック
VC0:安全VC−アプリケーション層L4において、安全機能SFを有するプログラムから発生する安全論理チャネル(識別子ID0およびID1を有する物理チャネル)。
VC1:スーパーバイザVC−本実装形態に従った、スーパーバイザ層L2またはアプリケーション層L4から発生する論理チャネル(識別子ID0を有する物理チャネル)。
VC2:Q&S−本実装形態に従った、スーパーバイザ層L2、または仮想マシンおよびオペレーティングシステム層L3から発生する、システム上でメンテナンス動作(品質およびサービス)を実行する、品質−および−サービス論理チャネル(識別子ID0およびID1を有する物理チャネル)。
論理チャネルVC0およびVC2は、2つの物理チャネルID0およびID1をサポートするため安全チャネルであり、
論理チャネルVC1は一方の物理チャネルID0だけをサポートする。
物理チャネルID0、ID1に関する論理チャネルVC0−このチャネルより安全機能SFのデータ、すなわち、アプリケーション自己テストデータDchkが運ばれ、制御モジュール15の構成要素61とのこのデータの整合性がテストされ、チャネルID0およびID1に属する類似メッセージが互いに比較され、この比較により、正しい結果、すなわち、同じであるが、違いに関して、例えば、符号化が異なるデータが必ず生み出され、実際、データを、共通原因エラーの確率を下げるために、異なる方法で符号化することができる(例えば、チャネル内で補完される)。
物理チャネルID0に関する論理チャネルVC1−このチャネルにより、スーパーバイザ層L2から着信する診断型自己テストライブラリ50の診断型自己テストデータDstlが運ばれる。
物理チャネルID0、ID1に関する論理チャネルVC2−このチャネルにより、温度、電圧の数値などの計測値、すなわち、システム自己テストデータDsysが運ばれる。
チャネル内チェックITC(図5には図示されず)、1つで同じ論理チャネルVCに属するメッセージ、および1つで同じ識別子IDに属するメッセージに適用されるチェック。
チャネル間チェックINTC、異なる論理チャネルVCに属するメッセージMCに適応される(例えば、ID1の第1のメッセージSq1の0,1と比較されるID0の第1のメッセージSq1の0,0、およびID1の第2のメッセージSq2,1と比較されるID0の第2のメッセージSq1の2,0など)チェック。:これらのチャネル間チェックINTは、各チャネルから着信するメッセージの整合性に関するチャネル内チェックITCに加えて行われ、チャネル内チェックITCよりも高いレベルを有する。
チャネル間チェックINTC(モジュール114)−このタイプの比較には、数値の比較、例えば、マルチプロセッサの異なるコアにより計算されたものと同じと予測される数値の比較、および事前に計算された予想値の比較が含まれ、これらの比較によりチャネル間アラームAlintcが生成される。
チャネル内チェックITC(モジュール116)−このタイプの比較には、事前に計算された予想値との比較、すなわち、所定の基準範囲(例えば、動作温度または動作電圧の範囲)に対するチェックが含まれ、これらの比較によりチャネル内アラームAlitcが生成される。
タイミング上のチェック(モジュール113)、例えば、実行時間がチェックに関する極値設定内に残っているかどうかに対するチェック。これらのチェックにより、タイミングアラームAltが生成される。
考慮されている例における公式な視点からの構造およびメッセージの構成の異常、インターフェース112への入力でメッセージのテキスト上でCRCモジュール112aにより行われるCRCタイプのチェックの故障。このチェックにより、アラームALcが生成される。
所定の時間窓内の事象の発生のチェックを課し、既定のシーケンスに重点を置き、前述の診断型自己テスト動作に対応する、プロセッサにより決定される、すなわち、いずれにしても計算される数値に対するチェックを行うことによる、一時タイプと数値およびシーケンスタイプの両方のチェック機能。
プロセッサにより計算された数値、あるいは、プロセッサ内、または、通常は、マルチプロセッサ内の使用可能なセンサにより測定された数値をシステム値の自己テストの前述の動作に対応する事前に計算された正確な値と比較することによる、プロセッサ内のCCFの発生の検知。
プログラムの中間結果の自己テストの前述の動作に対応する、クロスチェックに基づくプロセッサの保全性を判定するための、プロトコルの実装形態。
1oo1ボーティングを有するアーキテクチャと、loo2ボーティングを有するアーキテクチャの両方に関する診断を実施、
マルチコアのハードウェアに関する情報(状態、温度、供給状態など)の監視、
自己監視、
SIL−2システムとSIL−3システム内に統合され得るIEC61508−2の規格に準拠するシステム、
ソフトウェアと伴に用いられる標準インターフェース、
構成可能な反応、
選択される実装形態の技術(FPGAまたはASIC)の最適化の可能性。
Claims (12)
- 単一プロセッサまたはマルチプロセッサ処理システム(10)、および別の独立制御モジュール(15)を含む、機能安全を備えたアプリケーション用の電子システムにおいてプログラム(P)を実行する方法であって、
安全機能(SF)を含み、前記システム(10)により実行されるプログラム(P)を複数の並列サブプログラム(P1〜Pn)に分解する動作を実行するステップと、
各並列サブプログラム(P1〜Pn)の実行を前記システムのそれぞれの処理モジュール(11)、具体的には、前記マルチプロセッサのアーキテクチャ(10)のプロセッサ(C1〜Cm)、または前記プロセッサ(C1〜Cm)のうちの1つに関連する仮想マシン(V1〜Vn)に割り当てるステップと、
前記システム(10)において、前記システム(10)の通常動作中の前記プログラム(P)のサイクル頻度(fcyc)に従って周期的に前記安全機能(SF)のフレームワーク内で、前記サブプログラム(P1〜Pn)の各々とそれらが実行される対応する前記処理モジュール(11)とに関連する自己テスト動作(Astl、Asys、Achk)を実行するステップと、を含み、
前記自己テスト動作(Astl、Asys、Achk )は、
診断型自己テストを実行する診断型自己テスト動作(Astl)と、
測定されるシステム値の自己テストの動作(Asys)と、
前記サブプログラム(P1〜Pn)の中間結果間の比較の自己テスト動作(Achk)と、
を含み、
前記自己テスト動作(Astl、Asys、Achk)は、
前記自己テスト動作(Astl、Asys、Achk)に対応するそれぞれの自己テストデータ(Dstl、Dsys、Dchk)を生成し、前記自己テストデータ(Dstl、Dsys、Dchk)上でチェック動作(51、61)を実行することと、
前記別の独立制御モジュール(15)と、メッセージ(MC)のプロトコル(PL)を介して、前記自己テストデータ(Dstl、Dsys、Dchk)を連続してやり取りすることと、
前記別の独立制御モジュール(15)において前記チェック動作(51、61)の少なくとも一部を実行することと、
目標とする所与の故障確率(g12;g)を順守するようにして、それぞれのサブプログラム(P1〜Pn)または処理モジュール(11)に関連する前記自己テスト動作(A stl 、A sys 、A chk )の各々に関する目標とする保証範囲(k stl 、k sys 、k chk )を得るように、前記プログラム(P)を複数の並列サブプログラム(P1〜Pn)に分解する動作を実行することと、
を含む、
方法。 - 前記所与の故障確率(g12;g)は、前記診断型自己テスト動作(Astl)により決定される保証範囲(kstl)を示す値、前記処理システム(10)上で測定されるシステム値の自己テストの前記動作(Asys)により決定される保証範囲(ksys)を示す値、および前記サブプログラム(P1〜Pn)の中間結果間の比較の前記動作(Achk)により決定される保証範囲(kchk)を示す値の関数である、請求項1に記載の方法。
- 前記所与の故障確率(g12;g)の計算は、
前記サブプログラム(P1〜Pn)と同じ数の入力を有するAND論理関数(AG)の入力として前記サブプログラム(P1〜Pn)を見なすことと、
前記AND論理関数(AG)を、前記サブプログラム(P1〜Pn)間に構成される対を入力として有する2入力AND論理関数に分解し、原因を共通とする故障の割合(β)の補数による各2入力ANDゲートからの出力とシステム稼働時間(texp)との積を計算することと、
前記原因を共通とする故障の割合(β)を乗算した、サブプログラム(P1〜Pn)の対の間の原因を共通とする故障の確率にOR関数を適用することにより得られる値に、前記積を加えた結果の関数として、所与の故障確率(g)を計算することと、を含む、請求項1に記載の方法。 - 前記サブプログラム(P1〜Pn)の故障確率は、サブプログラム(P1〜Pn)ごとの前記診断型自己テスト動作(Astl)により決定される前記保証範囲(kstl)を示す値、前記アーキテクチャ(10)上で測定されるシステム値の自己テストの前記動作(Asys)により決定される前記保証範囲(ksys)を示す値、および前記サブプログラム(P1〜Pn)の前記中間結果間の比較の前記自己テスト動作(Achk)により決定される前記保証範囲(kchk)を示す値のユニオンの関数として評価される、請求項2に記載の方法。
- 前記システム(10)は、前記サブプログラム(P1〜Pn)を実行可能な仮想マシン(V1〜Vn)を生成する仮想マシン管理モジュール(17)を実装している、請求項1〜4のいずれかに記載の方法。
- 前記別の独立制御モジュール(15)において前記チェック動作(51、61)の少なくとも一部を実行する前記動作は、
事前に計算され格納される予想値(Dstla)のセットを用いて行われる前記診断型自己テスト動作(A stl)に従って、単一プロセッサまたはマルチプロセッサタイプの前記処理システム(10)の前記プロセッサ(C1〜Cm)上で行われる計算の中間結果に対応する診断型自己テストデータ(Dstl)の前記比較を実行することと、
前記サブプログラム(P1〜Pn)の前記中間結果間の比較の動作(Achk)により生成されるアプリケーション自己テストデータ(Dchk)の前記比較を実行することと、
格納されている予想範囲(Ratt)に対するシステム自己テストデータ(Dsys)の前記比較を実行することと、を含む、請求項1〜5のいずれかに記載の方法。 - 前記別の独立制御モジュール(15)は、前記自己テストデータ(Dstl、Dchk、Dsys)上で、
前記中間結果、具体的には、前記アプリケーション自己テストデータ(Dchk)および/または診断型自己テストデータ(Dstl)が同じか、修正されたかを確認するための値のチェックと、
前記システム上で測定される自己テストデータ(Dsys)の値が所定の値(Ratt)の範囲に属しているかどうかを確認するための値の範囲のチェックと、
前記メッセージの順番が正確かどうか確認するための順番のチェックと、
前記メッセージの着信の時間のチェックと、を実行するよう構成される、請求項6に記載の方法。 - メッセージ(MC)のプロトコル(PL)を介して、前記別の独立制御モジュール(15)と前記自己テストデータ(Dstl、Dsys、Dchk)を連続してやり取りをする前記動作は、前記メッセージ(MC)を生成する階層レベル(L)および前記メッセージ(MC)を生成する物理チャネル(ID0、ID1)に従って、論理チャネル(VC)内で前記メッセージ(MC)を構成することを含む、請求項1〜7のいずれかに記載の方法。
- 前記別の独立制御モジュール(15)において前記チェック動作(51、61)の少なくとも一部を実行する前記動作は、
同一の論理チャネル(VC)および同一の物理チャネル(ID)に属するメッセージに適用されるチャネル内チェック(ITC)の動作、および
異なる論理チャネル(VC)に属するメッセージ(MC)に適用されるチャネル間チェック(INTC)、
の動作を実行することを含む、請求項8に記載の方法。 - 単一プロセッサまたはマルチプロセッサタイプの処理システム(10)を含む、機能安全を備えたアプリケーション用の電子システムにおいてプログラム(P)を実行する方法であって、
安全機能(SF)を含み、前記システム(10)により実行されるプログラム(P)を複数の並列サブプログラム(P1〜Pn)に分解する動作を実行するステップと、
各並列サブプログラム(P1〜Pn)の実行を前記システムのそれぞれの処理モジュール(11)、具体的には、前記マルチプロセッサのアーキテクチャ(10)のプロセッサ(C1〜Cm)、または前記プロセッサ(C1〜Cm)のうちの1つに関連する仮想マシン(V1〜Vn)に割り当てるステップと、
前記システム(10)において、前記システム(10)の通常動作中の前記プログラム(P)のサイクル頻度(fcyc)に従って周期的に前記安全機能(SF)のフレームワーク内で、前記サブプログラム(P1〜Pn)の各々と、それらが実行される対応する前記処理モジュール(11)とに関連する自己テスト動作(Astl、Asys、Achk)を実行するステップと、を含み、
前記自己テスト動作(Astl、Asys、Achk )は、
診断型自己テストを実行する診断型自己テスト動作(Astl)と、
測定されるシステム値の自己テストの動作(Asys)と、
前記サブプログラム(P1〜Pn)の中間結果間の比較(60)の自己テスト動作(Achk)と、
を含み、
前記自己テスト動作(Astl、Asys、Achk)は、
前記自己テスト動作(Astl、Asys、Achk)に対応するそれぞれの自己テストデータ(Dstl、Dsys、Dchk)を生成し、前記自己テストデータ(Dstl、Dsys、Dchk)上でチェック動作(51、61)を実行することと、
目標とする所与の故障確率(g12;g)を順守するようにして、それぞれのサブプログラム(P1〜Pn)または処理モジュール(11)に関連する前記自己テスト動作(A stl 、A sys 、A chk )の各々に関する目標とする保証範囲(k stl 、k sys 、k chk )を得るように、前記プログラム(P)を複数の並列サブプログラム(P1〜Pn)に分解する動作を実行することと、
を含む、
方法。 - 請求項1〜9のいずれかに記載の方法のステップを実行するよう構成される、単一プロセッサまたはマルチプロセッサタイプの処理システム(10)と、別の独立制御モジュール(15)とを含む、機能安全を備えた電子システム。
- 少なくとも1つのコンピュータのメモリにロードできるコンピュータプログラムであって、少なくとも1つのコンピュータ上で当該コンピュータプログラムが実行されるときに、請求項1〜10のいずれかに記載の方法のステップを実行するように設計されたソフトウェアコードを含む、コンピュータプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
ITTO20140633 | 2014-08-04 | ||
ITTO2014A000633 | 2014-08-04 | ||
PCT/IB2015/055833 WO2016020815A1 (en) | 2014-08-04 | 2015-07-31 | Method of executing programs in an electronic system for applications with functional safety comprising a plurality of processors, corresponding system and computer program product |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017527895A JP2017527895A (ja) | 2017-09-21 |
JP6599431B2 true JP6599431B2 (ja) | 2019-10-30 |
Family
ID=51663375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017506354A Active JP6599431B2 (ja) | 2014-08-04 | 2015-07-31 | 複数のプロセッサを含む、機能安全を有するアプリケーション用の電子システムにおいてプログラムを実行する方法、対応システム、およびコンピュータプログラム製品 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10248492B2 (ja) |
EP (1) | EP3178000B1 (ja) |
JP (1) | JP6599431B2 (ja) |
KR (1) | KR102352068B1 (ja) |
CN (1) | CN107003912B (ja) |
WO (1) | WO2016020815A1 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ITUB20154590A1 (it) * | 2015-10-13 | 2017-04-13 | Yogitech S P A | Procedimento di esecuzione di programmi in un sistema elettronico per applicazioni in sicurezza funzionale comprendente una pluralita' di processori, relativo sistema e prodotto informatico |
US11262722B2 (en) * | 2016-08-02 | 2022-03-01 | Siemens Aktiengesellschaft | Monitoring and controlling unit for use in an autonomous system with self-x properties |
CN108205490B (zh) * | 2016-12-19 | 2021-05-14 | 比亚迪股份有限公司 | 软件看门狗测试方法和装置 |
US10229042B2 (en) * | 2017-01-19 | 2019-03-12 | International Business Machines Corporation | Detection of meaningful changes in content |
US20190018408A1 (en) * | 2017-07-12 | 2019-01-17 | Qualcomm Incorporated | Systems and methods for verifying integrity of a sensing system |
US10710602B2 (en) * | 2017-10-06 | 2020-07-14 | Uatc, Llc | Systems and methods for a vehicle controller safety monitor |
EP3543718B1 (en) * | 2018-03-19 | 2020-08-19 | Melexis Technologies NV | Method for detecting a failure in an electronic system |
KR20200044206A (ko) * | 2018-10-10 | 2020-04-29 | 삼성전자주식회사 | 전자 장치 및 이의 제어 방법 |
US10846439B2 (en) * | 2019-06-28 | 2020-11-24 | Intel Corporation | Functional safety over trace-and-debug |
CN110727536A (zh) * | 2019-10-09 | 2020-01-24 | 上海元城汽车技术有限公司 | 控制器自检方法、装置、计算机设备和可读存储介质 |
JP2021086359A (ja) * | 2019-11-27 | 2021-06-03 | 株式会社デンソーウェーブ | 産業機器の制御装置 |
CN114428694A (zh) * | 2020-10-29 | 2022-05-03 | 华为技术有限公司 | 一种错误检测方法及相关装置 |
CN115202327B (zh) * | 2022-09-14 | 2022-12-09 | 江苏恒立液压科技有限公司 | 阀口独立控制系统及其安全性能评估方法、装置 |
CN115357519B (zh) * | 2022-10-20 | 2022-12-16 | 中科方德软件有限公司 | 一种测试方法、装置、设备及介质 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08314744A (ja) * | 1995-05-18 | 1996-11-29 | Hitachi Ltd | フォールトトレラントシステム |
JP3991384B2 (ja) * | 1996-07-15 | 2007-10-17 | 株式会社デンソー | 電子制御装置 |
JP2002189706A (ja) * | 2000-12-21 | 2002-07-05 | Nec Miyagi Ltd | 通信装置の分散型初期設定システム及び方法 |
US7113938B2 (en) * | 2002-02-14 | 2006-09-26 | Gravic, Inc. | Method of increasing system availability by splitting a system |
JP2004038654A (ja) * | 2002-07-04 | 2004-02-05 | Mitsubishi Heavy Ind Ltd | 並列計算機の異常検出システムおよび異常検出方法 |
JP2008123357A (ja) * | 2006-11-14 | 2008-05-29 | Honda Motor Co Ltd | 並列計算機システム、並列計算方法および並列計算機用プログラム |
JP5078347B2 (ja) * | 2006-12-28 | 2012-11-21 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 複数のノードを有するコンピュータ・システムの故障ノードをフェイルオーバー(修復)する方法 |
JP2010128627A (ja) * | 2008-11-26 | 2010-06-10 | Hitachi Automotive Systems Ltd | 車載用電子制御装置 |
US8230262B2 (en) | 2010-07-02 | 2012-07-24 | Oracle International Corporation | Method and apparatus for dealing with accumulative behavior of some system observations in a time series for Bayesian inference with a static Bayesian network model |
US8621273B2 (en) * | 2010-11-29 | 2013-12-31 | Infineon Technologies Ag | Enhanced scalable CPU for coded execution of SW in high-dependable safety relevant applications |
CN102707225A (zh) * | 2012-06-21 | 2012-10-03 | 上海华岭集成电路技术股份有限公司 | 集成电路测试优化方法及其测试装置 |
CN102929778B (zh) * | 2012-10-30 | 2015-11-18 | 无锡江南计算技术研究所 | 众核阵列上并行测试的控制方法及硅后验证系统 |
US20170054592A1 (en) * | 2014-04-30 | 2017-02-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Allocation of cloud computing resources |
-
2015
- 2015-07-31 KR KR1020177006149A patent/KR102352068B1/ko active IP Right Grant
- 2015-07-31 WO PCT/IB2015/055833 patent/WO2016020815A1/en active Application Filing
- 2015-07-31 EP EP15762748.0A patent/EP3178000B1/en active Active
- 2015-07-31 JP JP2017506354A patent/JP6599431B2/ja active Active
- 2015-07-31 US US15/501,767 patent/US10248492B2/en active Active
- 2015-07-31 CN CN201580053999.9A patent/CN107003912B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107003912A (zh) | 2017-08-01 |
US10248492B2 (en) | 2019-04-02 |
EP3178000B1 (en) | 2019-01-30 |
JP2017527895A (ja) | 2017-09-21 |
US20170228279A1 (en) | 2017-08-10 |
KR102352068B1 (ko) | 2022-01-17 |
KR20170065497A (ko) | 2017-06-13 |
WO2016020815A1 (en) | 2016-02-11 |
CN107003912B (zh) | 2020-09-08 |
EP3178000A1 (en) | 2017-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6599431B2 (ja) | 複数のプロセッサを含む、機能安全を有するアプリケーション用の電子システムにおいてプログラムを実行する方法、対応システム、およびコンピュータプログラム製品 | |
US10761916B2 (en) | Method for executing programs in an electronic system for applications with functional safety comprising a plurality of processors, corresponding system and computer program product | |
EP2884392B1 (en) | Triple software redundancy fault tolerant framework architecture | |
EP2813949B1 (en) | Multicore processor fault detection for safety critical software applications | |
US7774659B2 (en) | Method of monitoring the correct operation of a computer | |
US20060200278A1 (en) | Generic software fault mitigation | |
EP2416247B1 (en) | Semiconductor device | |
CN107003915A (zh) | 驱动控制装置 | |
JP7202448B2 (ja) | 安全性が要求されるプロセスを監視する自動化システム | |
US20150254123A1 (en) | Symmetric Multi-Processor Arrangement, Safety Critical System, And Method Therefor | |
JP7490334B2 (ja) | アラーム信号を処理する方法および装置 | |
Cosimi et al. | Analysis, hardware specification and design of a programmable performance monitoring unit (PPMU) for RISC-V ECUs | |
KR20140145259A (ko) | 컴포넌트 기반 시스템의 이상 상태 분석 장치 및 그 방법 | |
MX2015001900A (es) | Metodos y aparatos para reducir las fallas de modo comun en los sistemas de control de software relacionados con la seguridad nuclear. | |
JP2012150661A (ja) | プロセッサ動作検査システム、及びその検査方法 | |
US20210278815A1 (en) | Automation System For Monitoring A Safety-Critical Process | |
Arm et al. | Increasing safety and reliability of roll-back and roll-forward lockstep technique for use in real-time systems | |
WO2020109252A1 (en) | Test system and method for data analytics | |
Braun et al. | Increasing the reliability of single and multi core systems with software rejuvenation and coded processing | |
JP2023069059A (ja) | 情報処理装置、車両、及び情報処理方法 | |
JP3962956B2 (ja) | 情報処理装置および情報処理方法 | |
Tummeltshammer et al. | On the risk of fault coupling over the chip substrate | |
Tummeltshammer et al. | Abhängigkeiten von Fehlern und Ausfällen in Multiprozessoren auf einem Chip |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20170914 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180725 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190417 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190521 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190819 |
|
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: 20190903 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191002 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6599431 Country of ref document: JP 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 |