JP2007528532A - 安全性重視システムの設計方法 - Google Patents

安全性重視システムの設計方法 Download PDF

Info

Publication number
JP2007528532A
JP2007528532A JP2006548570A JP2006548570A JP2007528532A JP 2007528532 A JP2007528532 A JP 2007528532A JP 2006548570 A JP2006548570 A JP 2006548570A JP 2006548570 A JP2006548570 A JP 2006548570A JP 2007528532 A JP2007528532 A JP 2007528532A
Authority
JP
Japan
Prior art keywords
architecture
functional specification
fault tolerance
mapping
safety
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.)
Pending
Application number
JP2006548570A
Other languages
English (en)
Other versions
JP2007528532A6 (ja
Inventor
サミュエル ボウティン
Original Assignee
ルノー・エス・アー・エス
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 ルノー・エス・アー・エス filed Critical ルノー・エス・アー・エス
Publication of JP2007528532A publication Critical patent/JP2007528532A/ja
Publication of JP2007528532A6 publication Critical patent/JP2007528532A6/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B9/00Safety arrangements
    • G05B9/02Safety arrangements electric
    • G05B9/03Safety arrangements electric with multiple-channel loop, i.e. redundant control systems

Abstract

【課題】安全性重視システムの設計とベリファイのための改良された方法を提供すること。
【解決手段】一組の望ましくないイベントを識別し、該イベントに、それぞれの深刻度の指標を付け、システム・アーキテクチャのインプリメンテーションのための最初のアーキテクチャの機能仕様を開発し、前記機能仕様において、該イベントの深刻度に結びつけて考えられたフォールト・トレランスの要求条件を洗練し、洗練されたフォールト・トレランスの要求条件を発信し、前記機能仕様において、複製と該複製に付けられた該複製の独立性の指標とを作り出し、システム・アーキテクチャのハードウエア構造を限定し、前記機能仕様を前記ハードウエア構造の上に写像し、前記独立性の指標が、写像の過程において、保存されることを自動的にベリファイすることを特徴とする、システム・アーキテクチャを生み出す方法。
【選択図】図6

Description

本発明は安全性重視システムの設計方法に関し、特に、安全性重視システム(safety crytical system)の設計とベリファイすること(verification)のための方法と技術的補助手段に関する。
多くのフォールト・トレラント(fault tolerant)なシステムが、今までに、汎用のプロパティが検証されインストールされている、いわゆる、フォールト・トレラント・フレームワーク上に構築されている。そのようなフレームワークは、原子力プラント、車両あるいは航空機の制御の基礎となりうるであろう。
そのようなフレームワークは、規模拡大可能(scalable)でも柔軟(flexible)でもなく、非常に高価なものであり、その理由は、そのようなフレームワークは高レベルのハードウエア冗長度(redundancy)を頼りとし、ハードウエアの前提条件、たとえば、専用のバス・ドライバあるいは他の構成要素、(特に、既存ソフトウエアを搭載したベリファイ(verify)済みのマイクロコントローラ)が有ること、を満足しなければならないことにある。そのようなフレームワークは、コスト最適化が主要課題となる、長い工程を持つ生産には適用されない。
バーチャル・プロトタイプの作成(virtual prototyping)を実現させる試みがなされつつあり、その一例として、下記非特許文献6に、タイム・トリガード・アーキテクチャのためのシステム・エンジニアリングが引用されている。
タイム・トリガード・プロトコル(time-triggered protocol (TTP))のフレームワーク(下記非特許文献4参照)は、内蔵型エレクトロニクスへの応用のために構築された安全性フレームワークの良い例である。それは、ある程度、柔軟性と規模拡大可能性(scalability)の要求に応えるものであるが、ただしそれは、ノード間の通信のレベルにおいてである。
上記の全ての例には、一つの共通点がある。それは、一般的な安全性重視フレームワークが設定され、その応用の設計は、そのフレームワーク内において、そのフレームワークに固有の規則に従って作成されなければならないということである。安全性の立証はフレームワーク全体に対して得られるのであって、特定のフレームワークに対して得られるのでなない。たとえば、上記TTPフレームワークにおいて、システムの「正常」な動作のために少なくとも4個のノードが要求され、相異なったTTPノードにおけるプロセスの4つのインスタンスの写像(mapping)が、そのプロセスの利用者に、プロセスの結果が適宜利用可能であり正確であることを保証する。このアイディアは、物理的アーキテクチャのための一般的な立証手段が存在し、この立証手段が、安全性のデータフローにおける多くのインスタンスと、システムに内蔵されている機能とに応じて特定化しているということである。
他のアイディアを挙げるならば、その中において安全性重視フレームワーク、SIFT、が設計されているプロジェクトが下記非特許文献3に引用されている。
このSIFTプロジェクトにおいては、いくつかの独立な計算チャネルが有り、その計算チャネルは、近似的に同期して動作する、それぞれに専用のプロセッサを持ち;センサのような単一発信源からのデータは各チャネルに、ビザンチン(すなわち、非同期)故障(Byzantine (i.e. asynchronous) faults)に強い形で配信され、それによって、良好なチャネルは正確に同一の入力データを得;すべてのチャネルは同じアプリケーションのタスクを同じデータに基づいて近似的に同時に実行し、その結果は、アクチュエータに送られる前に、正確一致多数票決(exact-match majority voting)に送られる。
これは安全性重視フレームワークの良い説明例である。しかしながら、上記刊行物の後の方の節には、応用がまったく言及されていないこと注意されたい。このフレームワークは、原子力プラント、スペースシャトル、またはコーヒー・マシンにまで使うことができるように見える。そこで、たとえ、このSIFTフレームワークがフライト制御システムをサポートするために構築されたとしても、設計者は、その上で、彼らの、固定された複製、通信および票決規則に従う安全性重視アプリケーションを設計することができるような「良好な」安全性プロパティを備えた安全性重視フレームワークを設計することを望むであろう。
下記非特許文献5に記載された解析方法が議論されている。特定の故障の実際の影響が安全性の観点から回路の機能への影響に関連して考慮され、その深刻度(severity)の指標(indicator)が付される。一度指定された深刻度の指標は固定される。
従って、安全性重視システムを設計しベリファイする改良された方法の継続的な必要性があることが判り、そのような方法はそのシステムにおけるハードウエア・アーキテクチャの最適化を可能とする。
"Advanced Design and ValidationTechniques for ElectronicControl Units", Max Fuchs et al, SAE, 1998 SAE paper 980199 オンラインで入手可能:www4.informamatik.tu-muenchen.de/publ/papers/FEMPS98.pdf "State charts: A Visual Formalism For Complex Systems", David Harel, Sciece of Computer Programming 8, Elsevier Science Publisher B. V (North Holland), 1987 "Formal Methods and Their Role in the Certification of Critical Systems", John Rushby, Technicalreport CSL-95-1, Computer Science Laboratory, SRI International, Menlo Park, CA, 1995 "The SystematicDesign of Embedded Real-Time Systems", H. Kopetz, Lecture notes, Hermann Kopetz, 1996; また "Real Time Systems: Design Principles for Distributed Embedded Applications", H. Kopetz, publishedby Kluwer Academic,1997 "IEC 61508: Functional safety of electrical/electronic/programmable electronicsafety-related systems", International Electrotechnical Commission (IEC), 1998 "System Engineering for Time TriggeredArchitectures",(SETTA).DeliverableD7.3 Final Document,version 1.0", XP-002264808, 18 April 2002.これは URL を経由して見られる: "http:www.setta.org"
本発明の目的は、安全性重視システム(safety crytical system)の設計とベリファイすること(verification)のための改良された方法と技術的補助手段とを提供することであり、特に、互いに接続された複数の電気デバイスのためのシステムのアーキテクチャを製作する改良された方法を提供することである。
本発明は、互いに接続された複数の電気装置からなるシステムのアーキテクチャを製作する方法を提供し、前記システムは、望ましくは、フォールト・トレラント(fault tolerant)なシステムからなり、
前記方法は、
a)一組の望ましくないイベントを識別(identify)し、前記望ましくないイベントのそれぞれに、それぞれの深刻度(severity)の指標(indicator)を付ける(ascribe)ことを含み、
b)前記望ましくないイベントのそれぞれを、可能性がある場所において、前記アーキテクチャの1つまたは複数のアクチュエータに結びつけて考える(associate with)ことを含み、
c)前記アーキテクチャのインプリメンテーション(implementation)のために提案された最初のアーキテクチャの機能仕様(functional specification)を開発する(develop)ことを含み、前記最初のアーキテクチャの前記機能仕様は、構成要素へのデータフロー(dataflow)と該構成要素間のデータフローとを含み、前記構成要素は、例として、センサまたはアクチュエータを含み、
前記方法は、
d)前記機能仕様において、各前記望ましくないイベントの深刻度に結びつけて考えられた(associated with)フォールト・トレランス(fault tolerance)の要求条件を洗練(refine)し、洗練された、前記機能仕様のフォールト・トレランスの要求条件を発信すること(issuing)を含み、
e)前記機能仕様において、複製と該複製に付けられた該複製の独立性の指標とを作り出すことを含み、前記独立性の指標は前記洗練されたフォールト・トレランスの要求条件を反映し、
前記方法は、
f)前記システムのアーキテクチャのための、相互にネットワークで接続された一連の電子制御ユニットを例とする、ハードウエア構造を限定する(define)ことを含み、
g)前記機能仕様を前記ハードウエア構造の上に写像(mapping)することを含み、
h)前記独立性の指標が、写像の過程において、保存されることを自動的にベリファイ(verify)することを含む。
フォールト・トレランス要求仕様を洗練する(refine)ことは、本発明によって提供される優位性に、特に、それがシステムのアーキテクチャの設計とベリファイのための規模拡大可能な(scalable)プロセスである場合に、貢献する。
この方法は、望ましくはステップ(c)において、一連のオペレーションのモード、たとえばノミナル(nominal)・モードとリンプ-ホーム(limp-home)・モード、を定義することを含んでいてよい。
この方法は、前記一連のオペレーションのモードを1つまたは複数のステート・チャート(state chart)の形で特定化することを含んでいてよい。
この方法は、ハードウエア構成要素を幾何学的写像すること、および/または、配線し、それから、前記幾何学的写像によって前記独立性の指標が保持されていることを自動的にベリファイすることを含んでいてよい。
この方法は、深刻度を単位時間当たりに故障が起こる確率として特定することを含んでいてよい。この方法は、前記システムのアーキテクチャ製作のための1組のデータを出力することを含んでいてよい。そのアーキテクチャは車両のためのアーキテクチャ、たとえばブレーキ・システムのための制御回路のような、安全性重視アーキテクチャからなっていてよい。
本発明は、また、コンピュータ読み取り可能なメモリであって、その上にシステムのアーキテクチャ設計とベリファイのためのプログラムをエンコードしてあり、そのプログラムは本発明の方法を実施するためのコードを含んでいるメモリを含む商品を提供する。
本発明は、また、その上にコンピュータ・プログラム・コード手段を持つコンピュータ読み取り可能な媒体を含むコンピュータ・プログラム製品を提供し、前記プログラムがロードされるとコンピュータ・プログラム・コード手段はコンピュータにシステムのアーキテクチャ設計とベリファイの手順を実行させ、
前記手順は、
a)一組の望ましくないイベントを識別(identify)し、前記望ましくないイベントのそれぞれに、それぞれの深刻度(severity)の指標(indicator)を付ける(ascribe)ことを含み、
b)前記望ましくないイベントのそれぞれを、可能性がある場所において、前記アーキテクチャの1つまたは複数のアクチュエータに結びつけて考える(associate with)ことを含み、
c)前記アーキテクチャのインプリメンテーション(implementation)のために提案された最初のアーキテクチャの機能仕様(functional specification)を開発する(develop)ことを含み、前記最初のアーキテクチャの前記機能仕様は、構成要素へのデータフロー(dataflow)と該構成要素間のデータフローとを含み、前記構成要素は、例として、センサまたはアクチュエータを含み、
前記手順は、
d)前記機能仕様において、各前記望ましくないイベントの深刻度に結びつけて考えられた(associated with)フォールト・トレランス(fault tolerance)の要求条件を洗練(refine)し、洗練された、前記機能仕様のフォールト・トレランスの要求条件を発信すること(issuing)を含み、
e)前記機能仕様において、複製と該複製に付けられた該複製の独立性の指標とを作り出すことを含み、前記独立性の指標は前記洗練されたフォールト・トレランスの要求条件を反映し、
前記手順は、
f)前記システムのアーキテクチャのための、相互にネットワークで接続された一連の電子制御ユニットを例とする、ハードウエア構造を限定する(define)ことを含み、
g)前記機能仕様を前記ハードウエア構造の上に写像(mapping)することを含み、
h)前記独立性の指標が、写像の過程において、保存されることを自動的にベリファイ(verify)することを含む。
本発明は、また、システムのアーキテクチャ設計とベリファイに適合した設計ツールを提供し、前記設計ツールは本発明の方法のステップを実行することに適合しているか、または、本発明に従ったコンピュータ・プログラム製品を用いてプログラムされている。
本発明の実施により、互いに接続された複数の電気デバイスのためのシステムのアーキテクチャを製作する改良された方法を提供することが可能となる。
本発明は、これから、例示の方法のみによって、いくつかの実施例を引用し、上述の図面を参照して記述されるであろう。
機械部品の安全性はその部品の物理的性質と化学的性質とをマスタすることによって得られる:これは、われわれが「マテリアル・レジスタンス」と呼ぶものであり、膨大な経験を伴った進んだ知識領域である。電子部品の安全性は、冗長度と票決を通じて得られる、結果の信頼性のレベルの実証(proof)は、機械部品の世界で可能であるのに比べると、得るのが不便であることが明らかになるかもしれない。
「複製(replicate)」とその派生語について引用しよう。複製とは、一般的術語として、プロセス・データフローとハードウエア・デバイスとの冗長度を持った空間または時間ドメインにおけるインプリメンテーションのことである。たとえば、センサの複製は同じ構造と同じ機能とを持つ物理的複製、たとえば、同じ生産ラインから作り出された別の部品であろう。データフローの複製は、もとのデータフローが運ぶ情報と同じ情報を、問題としているシステムの設計トレランスに十分に適合する正確さとサンプリングレートで運ぶ他のデータフローであろう。複製情報は、複製の目的が、単に、その情報が健全な(sound)ものであることを保証することを目的とした場合に、部分的につくられるものであろう。たとえば、繰り返し冗長度チェック(CRC)は、チェックされるプログラムの空間における部分的複製であると考えられるであろう。
われわれは、本発明において、設計者が同じ値を算出するのに異なったメカニズムを提供するときの機能的複製と、単一の情報源から全体または部分情報をコピーすることによって得られる複製とを区別するであろう。われわれは、機能的複製は、機能的アーキテクチャにおいて、同じ源(source)からのいかなる複製が実行されるよりも前に、取り扱われることを考慮するであろう。われわれの発明は主に同じ源からの複製を取り扱うが、機能的複製から来る要請をも考慮する。
時間と空間における複製は計算の信頼性を改善するための好ましいツールであるので、複製された情報を一緒に集め、一組のプロセスの、誤りかもしれない結果の中から正しい値を決定することもまた必要である。情報の収集は、常に、空間あるいは時間におけるある種の票決にある。票決には異なったアルゴリズムが存在し、われわれは、特定のアルゴリズムが、それぞれの種類の票決(2、3または4個の複製間;そしてフェイル・サイレントまたはフォールト・トレラントの計算)に対して選定されていると仮定する。冗長度は異なった形:空間、時間そして両方の高いかあるいは低い巧妙度の組合わせで用いられるであろうことに注意されたい。われわれは、特定の電子部品の高レベルの安全性を仮定することができないときに冗長度を必要とする。われわれは、これから一組の複製の安全性について論議しよう。
故障(fault)は対称または非対称でありうる。非対称故障は「ビザンチン(Byzantine)」と呼ばれている。異なる電子制御ユニットが同じ情報(異なった情報源からか否かにかかわらない)の複製を受けたとき、われわれは、それらの電子制御ユニットが相互に連絡し合って、それらのユニットが実際に同一の情報を得たことを確認した事実を「アグリーメント(agreement)」と呼ぶ。一致は、また、この技術分野において「コンセンサス(consensus)」としても知られている。
「ビザンチンアグリーメント」は、プロセス間での連絡のコンテキストの中で明確化される。プロセスAが初期値“1”でスタートし、プロセスBが初期値“0”でスタートし、プロセスCが初期値“0”でスタートする、と想像しよう。プロセス全体は同一の数値に収斂することを望み、各プロセスは、究極の多数票決を行い同一の数値に収斂するために、それぞれの初期値を他の2つのプロセスへ送信する。もしも、AとBが正しければ、それらは、それぞれ、“1”と“0”を送信する。Cがビザンチンであるとは、Cが誤った非対称な情報をAとBに送ることを意味する。これが、非対称がビザンチンを表す理由である。たとえば、Cは、Aには“0”を、Bには“1”を送るかもしれない。この場合には、正常に働いているAはBとCから“0”を受取り、“0”を結論とするであろう。正常に働いているBはAとCから“1”を受取り、“1”を結論とするであろう。そこで、結論として、3つの無故障プロセスは、1つのビザンチン故障の存在のために1ラウンドではコンセンサスに到達しない。しかしながら、数ラウンドの後には、もしもそのような補足ラウンドを時間制約が許すならば、コンセンサスが得られることが可能である。
典型的なビザンチンエラー源は、過渡的な短絡回路や誘導効果の存在下では、一般に受入れられている尺度(measure)である。サンプリングがいつ実行されるかに正確に依存して、同じ時間内における捉え方の違いで実際の信号は大きくも小さくもなる。
他の典型的なビザンチンエラー源は、同期アルゴリズムのコンテキストにおけるクロックである。クオーツ・ジッタや通信遅延によって、あるクロックが他のクロックに相反する情報を送るかもしれない。
ビザンチン故障(非対称故障とも呼ばれる)は、1ラウンドでコンセンサスに到達するために、高レベルの冗長度を要求する。しかしながら、ほとんどの時間において、非対称故障は設計において考慮されていない、それは、非対称故障が、多くのの場合に、過渡的であって、「巨視的」な物理的数値に基づいて作業しているときには無視することができるからである。
われわれが非対称故障を考慮すると決めるか否かにかかわらず、本発明の方法は平等に適用される。複製の個数と冗長度「戦略」とが対称故障の場合と異なるだけである。対称故障の例は、コミュニケーション・バスの「オフ」、マイクロ−コントローラのシャットダウンまたはクラッシュ、フューズの溶断、そして、多分もっと一般に、「死んだ」電気部品である。
電子的な安全性アーキテクチャが構成され、特定の物理的アーキテクチャおよびアプリケーション・ドメイン用にチューニングされている。すでに検討したように、原子力プラント、車両および航空機は高度の技能を持った技術者によって設計された高価なシステムの例であり、それらは規模拡大可能(scalable)でも柔軟(flexible)でもない。これらのシステムのために、階層制のアプローチ、すなわち、装置・レベルのアプローチが最初で、それからソフトウエア・レベルのアプローチ、が伝統的に用いられてきていている。この考えは、目的に合った物理的装置を同定し、それから、各ノードにおけるソフトウエアを記述するルールを提供することである。
決定論は安全性重視システムにとって安心できるプロパティであり、決定論は理想主義的であるので、われわれは、「レプリカ決定論」を考え、そのレプリカ決定論においては、1つの部品の異なった複製は、「実の(real)」時間の間だけ、常に「同じ状態」になるとする。ここで、「実の」時間は理論的な概念であり、それは、「同じ状態」が、われわれは数学ではなく物理学を扱っているので、「等しいと考えられることに十分に近いこと」を示している。レプリカ決定論を得るには、最も多く存在する安全性システムはタイム・トリガードである。グローバル・クロックのアイディアは故障:時間故障の完全なカテゴリをスキップすることを許す。完全に対称なアプローチは、時間故障が修繕(fix)され、そして、精度故障が修繕されるような世界における「分割と克服(divide and conquer)」アプローチを許す。実際に、決定論は、安全性重視フレームワークの強制的なプロパティである、何故かというと、そのようなフレームワークは、決定論が無ければ、設計と実証が非常に困難となり、ほとんど不可能であろうからである。
1985年に刊行された論文、“Impossibility of distributed consensus
with one faulty process"(1つの故障プロセスを伴う分散されたコンセンサスの不可能性)は、もし、相異なる分散されたプロセス(それは、異なったCPUにおいて異なった周波数で進行するプロセスを意味する)の間の情報伝達の速さについての仮定がなされなければ、コンセンサスの問題は解けないであろうと、議論している。この論文の結論は、プロセス間での情報交換が同期していないシステムを設計する場合には、或る同期化の手段が必要であるということである:少なくともクロック・スピードについての仮定が期待される。望むらくは、これは、内蔵システムへの適用において常に実現することであり、したがって、少なくとも理論的には、非同期のフォールト・トレラントのシステムを設計することは不可能ではない。
コンファインメント(confinement)は、安全性重視フレームワークの、その他の非常に重要なプロパティである、一般的で高価な規則は、異なったフォールト・トレラントの要求を持ったシステムが、フォールト・トレラントではないシステムが不用意に開発されるであろうという仮定と、本質的でない機能の設計の誤りが安全性システムの故障の理由であるということは受け入れられないという仮定の下で、混じり合うことを避けることである。
故障は、しばしば、一時的であり、過渡的ですらある。故障を持っていた構成要素は、ある時間の後には故障を持っていないかもしれない。電子制御ユニット(ECU)のホット・リセットは良い実例である。もしも、或る理由で、或るECUが正常に動作していないときに、このECUをリセットし、システムの動作中においてさえも、ふたたび、正常に動作させることが一般に可能である。これは、故障は一時的でありうることを意味する。そこで、故障の確率は単位時間当たりとして特定され、これは、決定的な故障と一時的な故障との両方に適用できる。
一時的故障の概念に関連して、診断は、構成要素またはシステムの信頼性を動的に補強する方法と見られることができ、それは、また、構成要素の種類を変えることを許す。たとえば、電子制御ユニットの構成要素が正常に動作していないこと、あるいは、他の電子制御ユニットが正常に動作していないこと検出して、ホット・リセットを始動させることができる。診断は、また、定常的なエラーを一時的なエラーにに変換することを許す。われわれの応用の目的には、われわれは、診断を、応用の一部分または機能的アーキテクチャへの要求仕様に適合する方法であると考える。
他の古典的な安全性重視設計システム技術は異なったソース(source)によるインプリメンテーションである。しかしながら、開発チームが、技術が設計誤りを避けるための強力な方法であるとする同じ考えを持っているので、同じ設計誤りを含んだソフトウエアのよく知られた例がある。このことは、ハードウエアにも当てはまる;われわれは、安全性重視システムの異なったノードに同一のマイクロプロセッサを使うことを避けるべきである。こうすれば、一方で、マイクロプロセッサのうちの1つが故障を起こす確率は広がるが、同時に2つのマイクロプロセッサが故障を起こす確率は大幅に低くなる。
われわれは、非特許文献3おいて定義された設計誤りに言及するつもりはない。設計誤りに基づく事例は、ブレーキ操作のための誤った制御規則であり、それは、或る状況の下では、全くブレーキをかけることに至らないというようなことであろう。むしろ、われわれは、健全な機能設計を正確にインプリメントする問題に注目したい。異なったソースによる複製をインプリメントすることは、設計誤りにうまく対処する優れた方法である。
いわゆるフェイル・セーフ・システムにおいて、システムが機能の一部または全部までも失っても、利用者が、装置を操作できたり、装置を安全と定義されている既定の状態に持っていけるようなオペレーションのモードが存在することは評価されることであろう。たとえば、トラックのブレーキは、加圧空気システムによってオフ位置に保たれるであろう。もしも、加圧空気システムに故障、たとえばパイプ破損、があれば、空気は洩れ出して、ブレーキはオン状態となり、システムが利用者をトラック操縦可能にはしないにしても、この状態は予め安全と定義されている状態である。
故障が起こっても動作を続けるシステム(フェイル・オペレーショナル(fail-operational)システム)には、システムが機能の一部または全部までも失っても、利用者が、装置を操作できたり、装置を安全と定義されている既定の状態に持っていけるようなオペレーションのモードは存在しない。このようなシステムにおいては、最低レベルの運行が要求される。
フェイル・サイレント(fail-silent)な構成要素とは、その構成要素が内蔵されたシステムに故障が起こると動作を行わなくなる(サイレントになる)ような構成要素のことである。これは定性的な定義である。この定義は、われわれが、システムに故障が起こったときに、その構成要素がサイレントになる確率を特定することによって定量的になることが判る。たとえば、われわれは、1時間稼働中に10−9の確率で起こるような故障が起こった場合にサイレントになるフェイル・サイレントな構成要素を対象としてよいであろう。フェイル・サイレントな構成要素は2つの故障が起こったときにサイレントになってもよい。単にフェイル・サイレントと言った場合には、それは、1つの故障が起こったときにサイレントになることを意味する。
フォールト・トレラントな構成要素は、その構成要素が内蔵されているシステムに故障が起こっても、あるレベルでの運行を行うような構成要素である。この定義は、フェイル・サイレントな構成要素の場合と同様に、故障の個数と故障が起こる確率が特定されている場合に拡張される。
安全性重視システム設計において、たとえばフェイル・セーフまたはフェイル・オペレーショナルの場合に、われわれは、多くの場合に、フェイル・サイレントなアクチュエータを考える。これは、少なくとも1つまたは2つのフェイル・サイレントなアクチュエータを考慮に入れることができるようなシステムレベルでのフォールト・トレランスを意味する。もしも、或るアクチュエータがフェイル・サイレントであることが証明されることができなければ、われわれは、そのようなアクチュエータの故障に対してシステム補償を用意する。たとえば、車両のブレーキの1つにおける、車両の安定性の減少に直結する、異常なブレーキ応力を推定することは可能である。このようなことは受入れられない。しかしながら、反対側の車輪に等価のブレーキ応力を印加することは、或るレベルでのブレーキ動作につながるであろう、これは、要求されたブレーキ動作とは異なるけれども、車軸の両側の応力配分は本質的に均等となり、それ自体望ましいことではないが、安全性の観点からは、不均等な応力配分に比べれば、明らかに受入れやすいことである。そのような、通常行う、正常な機能の一時的変更は、しばしば、リンプ-ホーム(limp-home)・モードという名で引用される。多くの電子部品にとって幸いなことに、フェイル・サイレントな挙動を保証することが、ほとんど常に、可能である。それは、電流が切られたときに、アクチュエータが受動的になることを保証するだけで十分であるからである。これは、典型的に、ABSコントロールに許された解決方法である。
自動車への応用の分野において、大規模流れ生産のため、われわれは、部品信頼性の定量的尺度を持っていて、それは、実に優れていて、冗長度を用いる場合の、高水準の信頼性を証明するのに十分である。不幸なことに、これとは別の厳しい制限はコストであり、それは、不必要な冗長度を回避し、特に、ハードウエアのレベルにおいて、すぐに再発するコストとなってしまう。電線によるブレーキ操作(Brake-by-wire)または電線による操舵(Steer-bu-wire)のような、安全性重視システムの応用分野は、われわれの発明のプロセスに特に適している、というのは、われわれは、コストと安全性との間のトレードオフの柔軟な関係を提供し、また、本発明の方法の基礎を作ることができ、それによって、われわれは、現実的な部品信頼性に基づく設計手法を生み出し、その手法は、航空工学領域や列車運送領域で設計されるシステムにわたって決定的な優位点となるからである。
本発明の方法によれば、われわれは、一片のコードの正しさや、いかに忠実に数学的関数をエンコードしたかを考慮しない。安全性システムの制御規則を取り扱う際に、信号の遅延や信号処理の正確さが問題にならないように、物理的システムの動作周波数よりも十分に速いペースでソフトウエアと情報通信とを働かせることは一般に可能であるということが起こる。このようなことが起こらない場合には、最適化はずっと困難になるであろうけれども、われわれのプロセスは、安全性への要求は満たされることがもっと困難であるように見えるにもかかわらず、健全な状態を維持する。
われわれの設計プロセスにおいては、われわれは、時間故障と価値故障とを区別しない、なぜかというと、われわれは、どちらの故障も正確性故障であると考えるからだある。センサの場合は、冗長度と、票決と、時間故障と価値故障とを同様に扱ってよいこととを議論する上で、特に興味深い。説明の道筋において、われわれは、ここで、特に図1Aと1Bとを引用して、或るフォールト・トレランスの要求を持っているセンサSを考慮する。
或る機能の或る複製fにおいて、そのような複製はセンサSの複製であるセンサS1、S2およびS3からのデータを使わなければならない。これらのセンサは、それぞれのデータフローD1、D2およびD3を通して情報を提供することを仮定しよう。簡単のため、また、範囲を限定する例とはしないということで、センサS1、S2およびS3はブレーキ・ペダルの位置を測るものであるとしよう。
さらに、第1近似として、信号は2値であるとしよう。信号が高ければ、それは運転者がブレーキをかけていることを意味し;信号が低ければ、それは運転者がブレーキをかけていないことを意味するとする。入力に対して或るフィルタリングが遂行され、500マイクロ秒毎の5つのサンプルから数値が計算される。フィルタリングは、それがいくつかのサンプルから数値を作ることを意味するので、一種の冗長度であることに注意されたい。これは、ペダル・スイッチが低ければ、スイッチの検出結果が実際に誤りなく伝えられる前には、1.5msが必要であることを意味する。
ここで、われわれは、アーキテクチャにおけるD1、D2およびD3の伝播遅延を考慮しなけならない。センサS1、S2およびS3によるデータの補足は、3つの、異なるクロック;クロック1、クロック2およびクロック3を持つ、相異なるマイクロコントローラの上で行われるとする。そこで、データフローD1、D2およびD3は、実際に、電子制御ユニット(ECU)と通信バスによって構成された複雑な電子的アーキテクチャを通って進む。D1の動作には5ms+/-3ms;D2の動作には8ms+/-4ms、そして、D3の動作には10ms+/-2msが、種々のクロック・ドリフトと種々のジッタとを含めて、要求されると考えよう。さらに、以下のように考えよう:
D1は5ms=毎にクロック1*N1サイクルで送られ、D2は5ms=毎にクロック2*N2サイクルで送られ、D3は5ms=毎にクロック3*N3サイクルで送られる;
クロック1、クロック2およびクロック3は3%よりも少ない変動を持つ;そして
“f" を計算するタスクは1ms以内に、5ms毎に遂行される。
われわれは、fによって受け取られたD1、D2およびD3の最後の3つのサンプルを比較すると仮定し、それらをD1f、D2fおよびD3fと呼ぼう。そのとき、問題は:運転者による実際のペダル・ブレ−キの要請の後に、いつ、ブレ−キの要請の同定に収束するか?ということである。
D1fは古さ(age)が範囲R1[-15,545ms..-11,5ms]の範囲内にある信号を代表する
1,5ms + 5ms+ (0,003*5ms) + 1ms + 5ms + 3ms = 15,515ms
D2fは古さ(age)が範囲R2[-19,545ms..-14,5ms]の範囲内にある信号を代表する
1,5ms + 5ms+ (0,003*5ms) + 1ms + 8ms + 4ms = 19,515ms
D3fは古さ(age)が範囲R3[-19,545ms..-16,5ms]の範囲内にある信号を代表する
1,5ms + 5ms+ (0,003*5ms) + 1ms + 10ms + 2ms = 19,515ms
範囲R1とR2とが共通範囲を持たないことは、われわれが観測する現象の頻度がサンプリングの頻度の桁よりも大きな桁のオーダーである限りは、問題ではない。もしも、われわれが見つけようとしている信号が20msよりも低いか、それと同じオーダーの頻度で進展するものであれば、われわれのサンプリングは無意味となる。人間の行動の場合には、頻度はむしろ数百ミリ秒の範囲内にあり、そして、ブレ−キ・ペダルの場合には、通常、軽いブレーキについては確かに100msを超え、ペダルは少なくとも1秒間は踏まれている。
ここで、図1Bを参照して、いかに、サンプリングと情報通信とが「実」時間の間に行われるかを見ることができる。D1、D2およびD3の数値は、実際の数値が捕捉されてから長くても20msの後には受け取られていることを考慮に入れれば、故障の個数が1を上回る場合を除いて、D1、D2およびD3の間のいかなる票決の計算も1つの結果に到達するであろうことがわかる。上記と同様のことが、ブレ−キ・ペダルが解除されるときにも当てはまる。
もし、われわれが、“f”が5ms毎(最悪の実行時間に基づく最大1msの遅延を伴う)に予定されていることを考慮に入れるならば、“f"は、正確なブレーキ・コマンド“O”を、ブレーキの要求が検知されてから最長26msの後には、生成するであろうことが判る。ブレーキを解除する場合も同様である。
ここで、われわれは、ペダル・ブレ−キの要求を表すものとして、ブール代数的信号ではなく、整数を用いることを考えよう。このとき、次のようなアルゴリズムが使われるであろう:D1、D2、D3の一番新しい数値が“f"によって受け取られ、2つの極端な数値が除外される(われわれはただ1つの故障を考える)。われわれは、比較する異なった数値は正確に同じ時に捕捉されたのではないことに気を付ける、たとえば、古さ(age)の違いは10msになりうる。もしも、われわれが、各センサの精度を知っていて、10ms以内のペダル・ブレ−キの動きが許される範囲内であると考えるならば、アルゴリズムは健全である。
もしも、強いブレーキをかけるコンテキストの中で許されるならば、数値を、先行する3つの数値との間で平均をとることによってフィルタし、コマンドに「慣性」を与えることも可能である。そのようなフィルタリングの詳細なインプリメンテーションは、しかしながら、ペダルのアーゴノミクスの問題であり、われわれの本発明の視野外にある。
実際の設計において、他のフィルタが導入されてもよく、それは、われわれの例において応答時間をさらに改善するであろう。ブレーキシステムの場合には、もしもわれわれが、出力“O"がエレクトロメカニカルな構成要素によって24ms以内に実行されるブレーキの命令であると考えるならば、それは、ペダルブレーキ操作の要求尺度のパーセンテージとして特定化されるであろう正確度をもつ実際の要求が発せられてから最大でも50ms後に、ブレーキ操作がスタートすることを意味する。
われわれの部分的ブレーキ・システムは、ともかく、「同期的」("synchronous")である:われわれの包括的な時間は運転者の行動ペースである。ここに、われわれが示したのは、分散システムは、デッドラインを保証するためにタイム・トリガードである必要はないことである。また、時間誤差は、数値的確度誤差と異なって考えられなくてもよく、伝播する情報のエージングが与えられた確度で制限されている限りにおいて、確度範囲と言い替えてもよい。そのとき、信号が遅れているということは誤差であると考えられてよい。たとえば、バスのノードが常に無制御状態で情報伝達をする、「夢想愚者」("bubbling idiot")として知られているデータ・バスの古典的デフォルトがある。これは、アクセスとトラフィックを無駄にし、通常は、バス上でのメッセージを遅らせる。
本発明に従ったわれわれのアプローチへの入力は、機能的モードと機能的安全性解析とを伴った機能的設計である。これは、下記のステップを実行することによって得られる:
a)一組の好ましくないイベントを識別すること(identifying)と、それらの好ましくないイベントの各々にそれぞれの深刻度(severity)を表す指標(indicator)を付けること(ascribing);
b)それらの好ましくないイベントの各々を、可能な範囲で、機能的設計によって提案されたシステムのアーキテクチャにおける1つまたは複数のアクチュエータに関連させること(associating);
c)そのシステムのアーキテクチャのインプリメンテーションのために提案された初期アーキテクチャの機能的仕様(specification)を開発すること(developing)、その初期アーキテクチャの機能的仕様は、それについての構成要素へのデータフローと構成要素間のデータフローとを含み、その構成要素は、たとえば、センサまたはアクチュエータを含む;そして
d)前記機能的仕様における、前記好ましくないイベントの深刻度に関連したフォールト・トレランスの要求を洗練すること(refining)と、前記機能的仕様における、洗練されたフォールト・トレランスの要求を発信すること(issuing)。
設計手法のインプリメンテーションの過程においては、機能的仕様の複製が、それらの複製の独立性を表す指標と、洗練されたフォールト・トレランスの要求を反映する指標とを付けられて作られる。設計プロセスは、また、提案されたシステムアーキテクチャ、たとえば、一連の相互にネットワークで接続された電子制御ユニットのためのハードウエア構造を限定し、それから、機能的仕様をそのハードウエア構造の上に写像(map)する。
このプロセスは、これらの独立性を表す指標を、写像(mapping)中に、自動的にベリファイすることを含む。このようにして、設計プロセスは、出力過程において、提案されたシステムアーキテクチャが、或る、すでに定義された安全性への要求条件に合致するか否かをの確証(proof)を得る。もしも、この確証が、システムが特定された安全性への要求条件を満足することを示したときには、それはテストのための実証(validation)モデルへの入力として用いられる。
設計プロセスのさらなる出力は、各構成要素に適用される、究極的にシステムを構築する際には実証されなければならない一連の局所的要求条件であろう。これは、さらに下流に向かっての入力として使われるデータの形をしていて、最終的には、一連の、機械製造用の構成要素との共同作業、または、そのシステムアーキテクチャに使われる回路のレイアウトにおける用途に適した指示に移行する(translate)であろう。
本発明の利点の中に、安全性概念の抽象があり、その抽象は、分割と克服(divide and conquer)のアプローチを可能とする。これは複雑なシステム・デザインのための鍵である。さらに、われわれは特定の技術、バス・プロトコルまたはいかなるあらかじめ定義された安全性設計のフレームワークを頼りにしない。そうではなくて、われわれのアプローチにおいては、TTPのようなフレームワークは「パラメータ」として見ることができ、それは、われわれが、フォールト・トレラント・システムを、既存のフォールト・トレラント技術なしに、作り出すことさえもできることを意味する。換言すれば、われわれが発明し、開示した方法は、既存のフレームワークを考え、比較することを許すけれども、また、それらを結合させる方法を提供する。上記の点は、前に述べたように、異なる技術を結合することは設計誤りを避ける最善の方法であるので、特に興味深い。
われわれは、ここで、特別の、しかしこれに制限されない、図2における車両のスピードの検出と、図3Aないし5において図示された方法論を用いた抽象における取り扱いとを参照する車両のブレーキ操作に関連する例を考える。この設計プロセスの概要は図6に示されている。
図2において、機能「車輪スピード計算」405はデータフロー“V”403を、車輪スピードセンサ401からの入力として持つ。提案されたインプリメンテーションにおいては、同じ車輪スピードセンサ420が1つのECU436に接続され、機能「車輪スピード計算」405はECU434において実行される。
機能的アーキテクチャからの車輪スピードセンサ401は、ハードウエア・アーキテクチャからの車輪スピードセンサ420に変換される(矢印410)。機能的アーキテクチャからの機能「車輪スピード算出」405は、ECU434上の実行可能なプロセスに変換される(矢印412)。車輪センサ401と機能「車輪スピード計算」405との間のデータフローは複雑な道筋に移行し、その道筋は下記を含む:
・ECU436、434、そして、それらそれぞれのコネクタ428、432;
・ネットワーク430;
・リンク422、426;そして
・コネクタ424。
図3Aにおいて、機能“F”603は,少なくとも1つの入力データフロー“i”601と1つの出力データフロー“o”605を持つ。他の入力と出力とは、簡単化のために、描かれていない。
"F”とその入力と出力とは、フォールト・トレランス特性のタグをつけることができる:611、613および615。タグ“FT(F)”(613)は、機能“F”に対しるフォールト・トレランスの要求条件が存在することを意味する。これは直感的に、"F”のインプリメンテーションは、異なるECUそれぞれの上に複製を要求し、一組の入力が与えられたときに、たとえ1つの故障が起こっても、"F”の処理(process)実行の大部分が行われるようにするであろうことを意味する。"FT(o)”(615)は、データフロー“o”に対してフォールト・トレランスの要求条件が存在することを意味する。"FT(i)”(611)は、データフロー“i”に対してフェイル・サイレントの要求条件が存在することを意味する。
本発明において述べられた処理に従えば、タグFT(o)は或る、データフロー"i”を消費する機能に対する安全性要求条件(の結果)に比較して劣性である。図3Bにおいて、システム設計者は、"o”に対する安全性要求条件から、"F”はフォールト・トレラントであり、"i”はフェイル・サイレントであろうと推論する。
本発明のさらに先の処理のステップにおいて、われわれは、図3Cにおいて、データフロー“i”と"o”は、タグ611、613および615によって特定された安全性要求条件に対処するために複製されることを見ることができる。図3Cにおいて、複製は1つの対称的故障に対して定義される。これは、1つのフォールト・トレラントな構成要素に対してただ3つの複製が要求され、1つのフェイル・サイレントな構成要素に対してただ2つの複製が要求されることを意味する。
図3Cにおいて、F1 641、F2 643、F3 645は、機能“F”の複製であり、FT(o) 651、FT(o) 653、655はデータフロー“o”の複製であり、FS(i) 621、625、629およびFS(i) 623、627、631はデータフロー“i”の複製である。
図3Cにおいて、データフローFT(o)は、FとFとにおいて、"o"(624)と“o"(626)とで処理(process)され、Fにおいて、入力FS(i)とFS(i)との“o”で処理される。この処理の遂行に当たって、票決手順(vote procedure)がFS(i)とFS(i)と間と、"o"、"o"(624)および“o"(626)の計算の間に適用されるであろう。さらに一般的な実施例においては、FT(o)は、単に、F1によって処理された“o”、"o"(624)、“o"(626)よりなるトリプレット(triplet)であろう。この場合に、票決はFT(o)を消費する任意の機能によって遂行することができる。
“o"(626)と“o"(632)とは、同じ物理的道筋を通らないので、異なった形で誤るので、相異なることに注意されたい。そこで、われわれは、F3で処理され、F1で受け取られる“o"(626)と、F3で処理され、F2で受け取られる“o"(632)とを区別する。
F1の処理をするとき、"o"(624)と“o"(626)と十分に最近に計算される必要があり、上記の票決前の“o”、"o"(624)、“o"(626)の計算が、上記のブレーキ・ペダルの要求条件の例のように、時宜を得た形で、実行されたことの正当化が存在するべきである。それらのサンプリングとエージングとは、データフロー“o”における正確さに関して("w.r.t.")健全であるべきである。このような正当化は、タイム-トリガード・システムのコンテキストにおいて、より簡単であり、これが、タイム-トリガード・システムが、電子部品のコストが問題にならないほとんどの場合(短いインスタンスの場合)に用いられる理由である。
フェイル・サイレントなオブジェクトの2つの複製は、1つの対称的故障が同時に誤差を生じえない場合に、1つの対称的故障に対して自由であるといわれる。対照的な例としては、図3Dにおける“G”は、機能“G”の処理における誤差は潜在的に x1 と x2 とに誤差を生じるので、データフロー x1 673 と x2 675 は連結されている場合を示す。
フォールト・トレラントなオブジェクトの3つの複製は、1つの対称的故障が同時に1つ以上の複製において誤差を生じえない場合に、1つの対称的故障に対して「自由」であるといわれる。
1つの整数を“k”としたときに、フォールト・トレラントなオブジェクトの "2k+1" 個の複製は、“k”個の対称的故障が同時に1つ以上の複製において誤差を生じえない場合に、“k”個の対称的故障に対して「自由」であるといわれる。
これらの定義は、データフローに対するように、正確に適用され、処理の誤差は間違った実行であり、フローの誤差は間違った情報伝送であるかまたは情報不伝送である。或る誤差が検出できるか否かということは、設計者がデータフローにタグを付ける際に気がつくことである。
Fやその他のオブジェクトの複製を作ることに付随して、任意のオブジェクトの複製間の「自由性(freeness)」の要求条件が生成される。これは、好ましくは自動的に実行されるが、結局は複製と票決の戦略に依存するであろう
図3Cにおいて、データフローFT(o) 651、FT(o) 653およびFT(o) 655は自由せあるべきであり、それは、或る1つの故障が、同時に、これらの1つよりも多いフローにおける誤差を生じえないことを意味する。
同様に、
- FS(i)とFS(i)とは自由であり、
- F1、F2、F3は自由であり、それは、単一の故障は、複数の複製の
処理中に同時に故障を生じえないことを意味し、
- F2に送られたデータフロー "o"(622)と F3に送られたデータフ
ロー "o"(628)とは自由であり、
- F2で作られた "o" と、F3で作られた“o" とは自由である。
他の複製のスキームがインプリメントされることが可能であり、それらに付けられた自由性の要求条件は異なるであろう。例えば、非対称故障を容認するシステムに対しては、4つの複製がFに対して必要であろうが、ただ1つの対称故障のみが許されるような例においては、図3Aないし3Dにおけるように、3つの複製が必要なだけである。
自由性は、複製が同一源からのコピーであるかぎり、局部的なプロパティである。もしも、フォールト・トレラントな入力が、データフローの3つの機能的複製(例えば“d、e、f”であって、それらは設計者によって提案され、同じ結果を得る異なった計算方法)の間の票決に基づくものであれば、“d、e、f”は自由であり、1つの故障は他の2つにインパクトを与えないことを保証するであろうし、このときには、自由性のプロパティは局部的ではなくなる。設計者によって提供された3つの独立なデータフローが「自由」であるということは、それらのうちの2つについての計算のいかなる段階にも関与するオブジェクトは存在しないことを意味する。このようなプロパティは大変に証明することが困難であり、その理由は、そのような証明には機能的アーキテクチャ全体が関ってくることにある。タグを付ける前の機能的アーキテクチャと複製であって、本発明に係る方法において実施される、設計プロセスの最初の部分となるものについては、上記の証明を行うことができる。そしてまた、機能的複製の解析から得られた自由性の要求条件は機能的アーキテクチャに適合すべきでろうし、ハードウエア・アーキテクチャ上に写像されるであろう。
項目 621 ないし 655 からなる機能的アーキテクチャを物理的アーキテクチャに写像するときに、自由性の要求条件は、インプリメンテーション後に、満たされるべきである。これは、ハードウエア・アーキテクチャにおいて写像を受けた構成要素は同じ自由性の要求条件を満たすことを意味する。図4Aないし4Dにおいて、われわれは、ハードウエア・アーキテクチャ上へのフェイル・サイレントな機能の写像を説明している。われわれは、図3Aないし3Dにおけるのと同じ処理のステップを開始する。
第1のステップ(図4A)において、項目 701 ないし 705、機能“J”705 が、入力データフロー“k”701 と出力データフロー“i”701 によって、特定化される。
第2のステップ(図4B)において、項目 711 ないし 715、アクチュエータからセンサまでからの逆行性解析の後、機能Jと、その入力と出力の流れに安全性の属性のタグ(Jには(713)、"k”には(711)、"i" には(715))を付けられる。"FS(J)" 713 は、Jがフェイル・サイレントであるべきであり、故障が起こった場合に、FS(J)は、フォールト-フリーな処理の結果を送るか、または、何も送らないかのいずれかであることを示す。
第3ステップ(図4C)において、項目 721 ないし 725、複製と自由性の要求条件とが、要求された安全性のレベルを提供するために、特定化される。例えば、インスタンス i と i とは自由であり、機能J1とJ2とは自由であるとする。
第4ステップ(図4D)において、冗長度のある機能的アーキテクチャが、ECUとネットワークとからなるハードウエア・アーキテクチャの上に写像される。機能J1はECU 741 で処理され、機能J2はECU 743 で処理される。われわれは、このインプリメンテーションにおいては、J1とJ2は自由であることをチェックできる。しかしながら、データフロー "i" と "i" が、設計者によって、通信バス上に写像されたとすると、 "i" と "i" の自由性の条件もはや満足されない、というのは、1つの故障(バスはオフである)が、"i" と "i" の両方の誤りの下位にあるからである。そこで、"i" をバス 745 で送り、"i" をバス 747 で送るのが、自由性の条件に明らかに適合するために、より健全である。
冗長度のある機能的アーキテクチャをハードウエア・アーキテクチャの上に写像する過程において、われわれは、安全性と自由性の要求条件を洗練することに進むことに注意されたい。例えば、"i" と "i" とが自由であるという要求条件は、これらの流れのインプリメンテーションが自由であるという要求条件となり、これはさらに複雑な条件である。
もしも、これから、構成要素が故障する確率を考えるとしたら、フォールト・トレラントのシステムの設計はさらに正確である。自由性の条件は確率を使って特定化される。
ここで、"p”を、ある期間において、ある故障が、データフロー "i" と "i" の両方の故障を生じる最大の許容しうる確率であるとしよう。確率 "p”は、いくらか、 "i" と "i" の自由性の程度を表している。それは、また、システム(および、特に、機能F)が、故障が起こったときに、フェール・トレラントでない確率でもある。
そこで、もしも、フロー "i" と "i" が、故障確率が "p”よりも小さいバスに送られとしたとき、自由性の条件は満たされる。もしも、反対に、"p1”がバス 745 の故障確率であり、"p2”が バス 747 の故障確率であるすると、p1*p2 が "p”よりも大きければ、自由性の要求条件は満たされず、もっと信頼性の高い設計が要求される。
図5に、われわれは、タグをつけることと、安全性要求条件とが、機能を組み合わせたときに、どのように安定化するかを説明する。この様子は、非常にに重要であり、その理由は、これがわれわれの「分割と克服」アプローチのための鍵となるものであり、そこにおいて、システム上で実証さるべきすべての安全性要求条件が一組の処理または一組のデータフローが自由であることの証明に帰着するからである。
このことは、もしもわれわれが、FとGとの合成(FoG)に対する安全性要求条件を持つとしたとき、これは、一方ではFとGとの間のフローの安全性要求条件の結果であり、他方では他の機能についてのFとGとの安全性要求条件の結果であることを意味する。結局は、システムがフォールト・トレラントであることを証明することは、機能のレベルにおけるいくつかの簡単な証明であることが判明する。或る複雑なシステムが或る安全性要求条件を満たすことを証明することは、そのシステムにおける各機能が、システムレベルにおける安全性要求条件から洗練(refine)された「局部的な」安全性要求条件を満たすことを証明することと等価である。例えば、機能の100セットの複製および/または5つのECUに写像されたデータフローが自由であることを証明することは、各セットの複製が自由であることを、それぞれに、証明することからなるであろう。この安全性要求条件の合成的性質は、「分割と克服」アプローチのための鍵であり、このことは、結果として、規模拡大可能(scalable)である。
図3Aないし3Dと4Aないし4Dにおける例は、図3Aないし3Dと4Aないし4Dにおいて、機能が結合されたときに、いかに、解析が結合されるかを示すために、図5に付加されている。これは、いくつかの機能を含む複雑なシステムに対して、いかにものごとが扱われるかを知るのに役立つ。
機能JとFが結合されるときに、データフロー 601 と 705 とは、それらが同じデータフロー "i" を表しているので、等価とされる。もしも、いくつかの機能がデータフロー "i" を消費するならば、"i" に対する安全性要求条件は、"i" を消費する各機能から受け継がれた安全性要求条件の最大値である。そこで、複製の個数とその信頼性は、また、同じ方法で計算される。
逆に、もしも、1つのデータの3つの複製が利用可能であるならば、例えば、フォールト・トレランス要求条件が特定化されているので、このデータは或る、安全性要求条件を持たない機能によって消費される。これは、その機能を計算するために1つの複製を選びだすのに十分である。他方、3つの複製が存在している場合に、これは、少なくとも1つのフォールト・トレラントな機能の複製が3つのデータフローの複製のすべてを消費するであろうからである。
図5における輪郭 821 は、図3Aないし3Dと図4Aないし4Dに示された機能FとJの合成を説明している。データフロー "i" に対して、一方でデータフロー 725、他方でデータフロー 621、625 および 629 が等価とされていることに注意されたい。同様に、一方でデータフロー 735、他方でデータフロー 623、627 および 631 が等価とされている。
もしも、われわれが、FとJの合成であるFoJを考えるならば、FoJへの自由性の要求条件に適合することは、一方で輪郭 821 内でのFとJとの間の自由性の要求条件と、他方で輪郭 821 外でのF、Jそれぞれの自由性の要求条件とに適合することを意味する。
そこで、機能的アーキテクチャは、アクチュエータからセンサまでの繰り返しで、回帰的に完全にタグ付けられる。そして、機能的複製は、自由性の要求条件とともに、生成されることができる。そのような生成は、もしも、複製の戦略がフォールト・トレランスの各レベルに対して標準的である場合には、自動的に実行されることができるに注意されたい。例えば、すべてのフェール・サイレントな機能が、多くても1つの故障が存在する場合に、図4におけるJと同様な方法で複製される。
冗長度のある機能的アーキテクチャが(複製生成の後に)ハードウエア・アーキテクチャの上に写像されれば、最適化は、いかなる機能に対しても、インプリメンテーションが高価でないデータフローの複製からなる。例えば、機能Fが、3つの複製、i1、i2およびi3を伴うデータフロー "i" を消費するとする。Fが、入力 "i" から、いかなるフォールト・トレランスのプロパティも要求しない場合を考えよう。そうならば、"i" の複製の1つは消費されなければならない。もしも、例えば、インスタンス i1 が、処理Fを行うECU上で利用可能であり、i1 が他のECU上で利用可能であれば、Fへの入力としては i1 を選ぶのがよい。
図6において、フォールト・トレラントなアーキテクチャの設計プロセスの好ましい実施例が本発明に従って記載されている。このプロセスは以下のステップを含む。
1 望ましくないイベントとその重要性(gravity)の識別(identification)。
2 実または仮想のセンサとアクチュエータによって構成されたシステムの機能
仕様決定(functional specification)。
3 リンプ-ホーム・モード(limp-home modes)の記述。
4 望ましくないイベントを実または仮想のアクチュエータと関連づけること
(association)。
5 機能的アーキテクチャの上での望ましくないイベントの洗練(refinement)。
6 安全性要求条件の洗練(refinement)とともに冗長度の導入。
7 ハードウエア・アーキテクチャの定義。
8 電子制御ユニット上へ機能を写像すること。
9 結果として生じる電子的アーキテクチャのフォールト・トレランスをベリフ
ァイすること。
10 物理的構成要素の幾何学的写像と配線。
11 結果として生じる電気-電子的アーキテクチャのフォールト・トレランス
をベリファイすること。
このプロセスは線形(linear)であることは意図されていない。少数のループが表現(presentation)に隠されている。例えば、ステップ6は相異なる、多くのやり直しを誘起するであろう経路で実行されてもよい。また、相異なるハードウエア・アーキテクチャが、ステップ7において、与えられたフォールト・トレラントの要求条件の下において、より高価でないアーキテクチャを見つけることのゴールとして、調査されるであろう。ステップ8において、別の写像が、特に、ステップ9が、或る写像が満足すべきものではないことを立証し、さらなる作業を要求するときに、調査されるであろう。また、ステップ10において、別の場所(location)のノードが調査されるであろう。図6に示された新しいプロセスのステップは、これから、詳細に、記述されるであろうが、古典的技術の様態は、ここでは、完全に詳細には記述されない。
1.望ましくないイベントとその重要性(gravity)の識別(identification)
このステップはよく知られている、機能的故障解析(Functional Failure Analysis)(FFA)のステップであり、FFAは安全性解析の古典的部分である。或るシステムに対するFAAの結果は望ましくないイベントを、そのイベントが起こったときの結果の深刻度(severity)とともに識別することである。
2.実または仮想のセンサとアクチュエータによって構成されたシステムの機能仕様決定(functional specification)
このステップは、例えば図2に関連して上記された技術を用いて遂行されるであろう。
この段階において、われわれは設計欠陥(design fault)を洗練(refine)することができ、このことはすでに言及した。
3.リンプ-ホーム・モード(limp-home modes)の記述
モードの記述は、機能的アーキテクチャを補足するものである。或るシステムは、制御-自動機械(control
automata)、例えば、ステート・チャート(state chart)によって構成されるとして記述されることができ、ステート・チャートはデータフローをトリガ(trigger)する(上記非特許文献1参照)。最高のレベルにおいて、自動機械はシステム・ノードをインプリメントしなければならず、システム・ノードとしては、初期化、ノミナル・モード、リンプ-ホーム・モード、および、或るモードから他のモードへのスイッチ機能がある。
例えば、車両のブレーキ・システムの場合に、もしも前左のブレーキが機能せず、他のブレーキは正常に働いているとすると、ブレーキをかけることは、車両の安定性の損失を結果として生じ、このことは、多くの場合に、ブレーキをまったくかけないよりも悪いことになる。そこで、その場合に、信頼できるリンプ-ホーム・モードは、前右のブレーキと後左のブレーキの、両ブレーキへの適切なブレーキ圧力によるブレーキングであろう。その場合に、車両の速さは結果的に減少し、車両は安定な状態に留まるであろう。
安全性重視システムにおいては、リンプ-ホーム・モードは、多くの場合に、或る故障のためにノーマル・モードが利用できない場合に、低級な働きを提供することにあるであろう。これは、われわれが図6において出発するステップである。
4.望ましくないイベントを実または仮想のアクチュエータと関連づけること(association)と状態遷移(図6のステップa))
われわれのプロセスにおいて、われわれは、FFAの結果の部分のみを考える。各望ましくないイベントに対して、われわれは、関連のあるアクチュエータ、すなわち、他のアクチュエータは正常に機能しているのに、そのアクチュエータの故障が望ましくないイベントを生じるアクチュエータを考える。例えば、車両のブレーキ・システムに対しては、われわれは、望ましくないイベントは、「ブレーキ操作における安定性の欠如」と考えることができる。これは、アクチュエータの1つがブレーキ操作をしていず、他のアクチュエータがブレーキ操作をしている場合に、可能であろう。もしも、われわれの目標が、システムが1つの故障に対してトレラントであることにあるならば、或る解析が、例えば、安全性の欠如はアクチュエータの1つの故障によるとの結論に導くかも知れない。その場合に、われわれは、「ブレーキ操作中の安定性の欠如」を各ブレーキ・アクチュエータのみと関連づける(associate)ことであろう。いま、われわれが、望ましくないイベントを「ブレーキ操作が要求されているのにブレーキをかけないこと」と考えるならば、アクチュエータのいずれもが、この望ましくないイベントが明らかにすべてのブレーキに関連づけられるような健全なコマンド受け取っていないことは明白である。
しかしながら、われわれのブレーキ・システムは、制御自動機械によってトリガされ、ブレーキをかける要求は、その制御自動機械の移行(transition)であり、その制御自動機械は「ブレーキ」状態へ導くと仮定しよう。もしも、その移行が正常に遂行されないときには、ブレーキが正常に働いているとしても、望ましくないイベントが起こるであろう。そこで、或る望ましくないイベントは、或る状態の移行に、もしも、その状態の移行の故障が上記の望ましくないイベントを引き起こす場合には、、結びつけられる(attached)であろう。ステップの終わりにおいて、望ましくないイベントの各々は、1つまたは少数の、アクチュエータまたは状態の移行の結果の組合わせに結びつけられるであろう。
深刻度のレベルについての可能性のある引用例は上記非特許文献5において提供されている。深刻度に応じて、1つまたは2つの故障が存在するときに、フェイル・サイレントまたはフォールト・トレランスのレベルが、故障を受け取ることの予測される確率とともに、予期される。
電気的ブレーキ・システムの場合には、アクチュエータは「フェイル・サイレント」であることが要求され、ブレーキが、それが機能しない物理的状態に置かれうることが確証されなければならない。もしも確率が予期されるのであれば、われわれは、電気的ブレーキが、単位時間における確率 "p"("p"は非常に小さく、例えば、1時間当たり10−8である)の場合を除いて、それが機能する物理的状態に置かれるということができるであろう。
5.機能的アーキテクチャの上での望ましくないイベントの洗練(refinement)
スタート 901 において、機能的アーキテクチャはセンサ、アクチュエータおよびデータフローで構成され、いくつかのデータフローは電流をモデル化し、バッテリーはセンサとしてモデル化され、前のステップ(a)において、望ましくないイベントが識別され、アクチュエータと結びつけられる;設計技術者は、それから、彼がフェイル・サイレントを期待するのか、フォールト・トレラントを期待するのか、なにも要求しないのかを、各アクチュエータの異なった入力の流れから、その隔離されたアクチュエータに付随する望ましくないイベントに応じて示すことができる。
ブレーキ・システムの場合に、例えば、ブレーキ単独では故障してはいけないという要求があるときには、各ブレーキのブレーキ力命令はフォールト・トレラントとして特定できる。しかしながら、設計者は簡単に、ブレーキ・システムが故障が検知された後に十分に速やかに反応するならば、フェイル・サイレントの要求で十分と考えるかも知れない。このタギング(タグをつけること)は、アーキテクチャとその性格に依存する。
繰り返し、われわれは、機能とセンサとの安全性要求条件を、各機能とその機能に関連する望ましくないイベントに同様の解析を適用して、決定する。
もしも、機能がデータフローを生成し、そのデータフローが機能的アーキテクチャを通して、一組のアクチュエータの制御に直接貢献するならば、われわれは、その機能について、アクチュエータの組のなかの一部に関連付けられている望ましくないイベントの全てを、前記機能とそれへの入力に対する安全性要求条件を確立するために、考えなければならない。さらに、われわれは、その機能に対して、その出力への制限が、その出力を消費する機能についての以前の安全性解析からもたらされることもまた考えなければならない。図5において、例えば、機能Fの出力への要求条件 615 は、機能Fの入力への要求条件 611 を含んでいる。これは、機能Jについても当てはまり、機能Fの以前の解析が、機能Jの出力と機能J自体の制限とへの要求条件 711 を含んでいる。
ステップ(b)において、われわれは、その出力または関連する望ましくないイベントが処理されてない一組の機能を計算する。
ステップ(c)において、(b)において計算された機能に対して、われわれは解析する:
i)入力についてどのような新しい安全性要求条件が求められているか;そして、
ii)機能それ自体に対して、どのようなレベルの安全性が要求されているか(フォールト・トレランス(FT)、フォールト・サイレンス(FS)、なにも要求しない(N))。
われわれは、それから、ステップ 907 と 911 をたどり、繰り返して、(b)と(c)とを、(b)の中が空でない限り、適用する。
ステップ(e)において、各センサは、それが生成するデータフローに要求される最高レベルのフォールト・トレランスを取る。
また、データフローへの安全性要求条件の洗練(refinement)は各モードで実行されるべきであり、それは、オペレーションの各モードは個別に考慮されなければならないからである。望ましくないイベントは、各望ましくないイベントに関連して、どの間違ったモード移行が巻き込まれるであろうかを考慮して、モード移行に適用されるべきである。モード移行は状態移行の特別の場合であることに注意されたい。ある移行に要求条件が設定された場合に、われわれは、アクチュエータの場合と同様に、正確に進む。
モード移行は、それを活性化するような望ましくないイベントの下では失敗しないことが要求される。そこで、モード移行を引き起こす望ましくないイベントの各々に対しては、モード移行は、望ましくないイベントの深刻度に対応した安全性要求条件を受け継いでいて、その望ましくないイベントに結びつけられていなければならない。
6.安全性要求条件の洗練(refinement)とともに冗長度の導入(図6における931)
それから、ステップ 931 において、それぞれの機能に対して、複製をインプリメントするように選ばれた機能のインプリメンテーションモードと、票決機構とが要求されれ、それは、それまでに生成された安全性要求条件に依存している。このステップにおいて、われわれはまた、図3Aないし3D、4Aないし4Dに示されているように、自由性条件を収集する。
結果として生じる機能的アーキテクチャは、初めのものよりも大きい。フォールト・トレランスもフェイル・サイレントも、この段階では、仕様決定されず、機能的アーキテクチャは変化していないことに注意されたい。
7.ハードウエア・アーキテクチャの定義
この段階において、われわれは電子制御ユニット(ECU)と、システムをインプリメントするネットワークを特定する。安全性解析が定量的なコンテキストにおいては、各ハードウエア構成要素の予期される単位時間当たりの故障率が特定される。
8.電子制御ユニット上へ機能を写像すること(933)
このステップにおいて、例えば図4において図解されているように、機能が電子制御ユニットに写像される。
9.結果として生じる電子的アーキテクチャのフォールト・トレランスをベリファイすること(935)
このステップは、自由性条件のベリフィケーションからなる。このベリフィケーションは自動的に実行されることが可能である。例えば、自由性条件に結びつけられたデータフローは、設計ツールとしてプログラム化されたコンピュータに受入れらるようなデータベース中に記録されることができるであろう。データフローをインプリメントする構成要素も、また、類似のやり方でそのようなデータベース中に記録されることができるであろう。われわれは、それから、その設計ツールを用いて、いくつかの自由なデータフフローをインプリメントする構成要素が存在するか否かを、自動的に見いだす。
本発明のプロセスをインプリメントするためのソフトウエアは役に立つように、コンピュータ読み取り可能なメモリのようなコンピュータ・プログラム製品中に、設計ツールとして動作するのに適合したコンピュータによる実行に適するコンピュータ・プログラムの形で記録されるであろう。そのコンピュータ・プログラム製品は、コンピュータ読み取り可能な媒体からなるであろう。そして、その媒体上には、コンピュータ・プログラム・コードが、そのプログラムがロードされたときに、それは、コンピュータに、システム・アーキテクチャを本発明の方法に従って設計し、ベリファイする手順を実行させるような形でエンコードされていてる。
要求の出力はそのような構成要素のリストであることができ、その出力は、マニュアルまたは、物理的設計の提案されたアーキテクチャの強靱度の自動的チェックに適した形をしているであろう。確率が特定されている場合には、要求の出力は、予期された自由性条件の故障確率より低い信頼性を持った構成要素のリストであろう。
10.物理的構成要素の幾何学的写像と配線 (再び933)
このステップにおいては、配線の経路、コネクタおよび電子制御ユニット間のケーブル、バッテリー、センサ、アクチュエータおよびさらに一般な電気構成要素が特定される。
11.結果として生じる電気-電子的アーキテクチャのフォールト・トレランスをベリファイすること (再び935)
自由性のプロパティは、構成要素の写像を通じて洗練される:2つの配線W1とW2とが、それぞれ、データフローD1とD2を同一のコネクタCに運んでいるとする。もしもCが誤っているとすると、W1とW2の両方が、同じ誤りによって非接続となり、それは、自由性条件条件に関して、健全ではない。
そこで、幾何学的写像の後で行われるべきベリフィケーションは、コネクタとケーブル(配線を集めている)に関係し、自由性条件は次のように洗練される:
−同じコネクタへ自由なデータフローを運んでいる配線を、確率が特定されている場合と、コネクタが誤っている確率が、要求されている自由性の誤りの確率よりも低い場合とを除いて、非接続とすること。
−集結し、1つのケーブル中で自由なデータフローを運んでいる配線を、ケーブル製造プロセスが、十分に低い確率にまで、短絡、断線の発生を抑えている場合を除いて、非接続とすること。
配線中のデータフロー自由性条件は、新しい要求条件(不可能性要求条件)を生み出すであろう。これのベリフィケーションは自動的に実行される。例えば、自由性条件が結びつけられたデータフローは、設計ツールとしてプログラム化されたコンピュータがアクセスできるようなデータベース中に記録されることができる。構成要素をインプリメントするデータフローも、また、そのようなデータベース中に、類似の方法で、記録されることができる。われわれは、そのとき、その設計ツールを用いて、構成要素をインプリメントするいくつかのデータフローが存在しているか否かを自動的に見いだす。本発明のプロセスをインプリメントするためのソフトウエアは、有用な形で、コンピュータ読み取り可能なメモリに、その設計ツールとして動作するのに適合したコンピュータの実働のためのコンピュータ・プログラムの形で、記録されることができる。
このようにして、本発明は、安全性重視システムの規模拡大可能な設計のための、方法ステップを持つ設計プロセスを提供することが明らかとなる。さらに、解析が、機能のレベルで遂行され、それから、異なるハードウエアのインプリメンテーションに用いられる。すなわち、例えば、提案されたハードウエアのインプリメンテーションが、他のものよりも、より高価でないか、および/または、より安全であるかを評価することに用いられる。
図1A、1Bは、1つのフォールト・トレランス装置を持つ複製の模式的図とグラフ的図である。 本発明の方法における1つの段階に従って、機能アーキテクチャをハードウエア・アーキテクチャの上に写像することを描いた図である。 図3A〜3Dは、機能アーキテクチャのタグ付けの段階と本発明の方法に従った付加条件と複製へのタグの拡張を描いた図である。 図4A〜4Dは、フォールト・トレランスの必要条件を、本発明の方法における1つの段階に従って、ハードウエア・アーキテクチャの上に写像することを描いた図である。 本発明の方法に従った機能構成によるフォールト・トレランスの必要条件の安定性を説明する図である。 本発明の方法に従った、フォールト・トレラントな電子的アーキテクチャの設計とベリファイの全体のプロセスを説明する図である。
符号の説明
401、420:車輪スピードセンサ、422:リンク、424:コネクタ、426:リンク、428:コネクタ、430:ネットワーク、432:コネクタ、434、436:ECU。

Claims (9)

  1. システムのアーキテクチャを生み出す方法であって、前記アーキテクチャは相互に接続された複数の電気装置を含み、前記システムは、望ましい例としてフォールト・トレラントなシステムを含み、
    前記方法は、
    a)一組の望ましくないイベントを識別し、前記望ましくないイベントのそれぞれに、それぞれの深刻度の指標を付けることを含み、
    b)前記望ましくないイベントのそれぞれを、可能性がある場所において、前記アーキテクチャの1つまたは複数のアクチュエータに結びつけて考えることを含み、
    c)前記アーキテクチャのインプリメンテーションのために提案された最初のアーキテクチャの機能仕様を開発することを含み、前記最初のアーキテクチャの前記機能仕様は、構成要素へのデータフローと該構成要素間のデータフローとを含み、該構成要素は、例として、センサまたはアクチュエータを含み、
    前記方法は、
    d)前記機能仕様において、各前記望ましくないイベントの深刻度に結びつけて考えられたフォールト・トレランスの要求条件を洗練し、洗練された、前記機能仕様のフォールト・トレランスの要求条件を発信することを含み、
    e)前記機能仕様において、複製と該複製に付けられた該複製の独立性の指標とを作り出すことを含み、前記独立性の指標は前記洗練されたフォールト・トレランスの要求条件を反映し、
    前記方法は、
    f)前記システムのアーキテクチャのための、相互にネットワークで接続された一連の電子制御ユニットを例とする、ハードウエア構造を限定することを含み、
    g)前記機能仕様を前記ハードウエア構造の上に写像することを含み、
    h)前記独立性の指標が、写像の過程において、保存されることを自動的にベリファイすることを含むことを特徴とするシステムのアーキテクチャを生み出す方法。
  2. 請求項1に記載のシステムのアーキテクチャを生み出す方法において、望ましくは前記 c)の段階において、ノミナル・モードおよびリンプ-ホーム・モードを例とする一連のオペレーションのモードを定義することを特徴とするシステムのアーキテクチャを生み出す方法。
  3. 請求項2に記載のシステムのアーキテクチャを生み出す方法において、前記一連のオペレーションのモードを1つまたは複数のステート・チャートの形で明確化することを特徴とするシステムのアーキテクチャを生み出す方法。
  4. 請求項1、2または3に記載のシステムのアーキテクチャを生み出す方法において、ハードウエア構成要素および/または配線に、写像を幾何学的に行った後に、前記独立性の指標が該写像に際して保存されていることを自動的にベリファイすることを特徴とするシステムのアーキテクチャを生み出す方法。
  5. 請求項1、2、3または4に記載のシステムのアーキテクチャを生み出す方法において、深刻度を、単位時間当たりに故障が起こる確率の形で特定することを特徴とするシステムのアーキテクチャを生み出す方法。
  6. 請求項1ないし5のいずれかに記載のシステムのアーキテクチャを生み出す方法において、前記アーキテクチャを製造するために一組のデータを出力することを特徴とするシステムのアーキテクチャを生み出す方法。
  7. 請求項1ないし6のいずれかに記載のシステムのアーキテクチャを生み出す方法において、前記アーキテクチャは、ブレーキ・システムのための制御回路を例とする安全性重視アーキテクチャを例とする、車両のためのアーキテクチャであることを特徴とするシステムのアーキテクチャを生み出す方法。
  8. コンピュータ読み取り可能な媒体を含むコンピュータ・プログラム製品において、前記媒体は、コンピュータ・プログラムのコード手段を有し、前記プログラムがロードされたときに、前記コード手段は、コンピュータに、システムのアーキテクチャを設計し、ベリファイする手順を実行させ、
    前記手順は、
    a)一組の望ましくないイベントを識別し、前記望ましくないイベントのそれぞれに、それぞれの深刻度の指標を付けることを含み、
    b)前記望ましくないイベントのそれぞれを、可能性がある場所において、前記アーキテクチャの1つまたは複数のアクチュエータに結びつけて考えることを含み、
    c)前記アーキテクチャのインプリメンテーションのために提案された最初のアーキテクチャの機能仕様を開発することを含み、前記最初のアーキテクチャの前記機能仕様は、構成要素へのデータフローと該構成要素間のデータフローとを含み、前記構成要素は、例として、センサまたはアクチュエータを含み、
    前記手順は、
    d)前記機能仕様において、各前記望ましくないイベントの深刻度に結びつけて考えられたフォールト・トレランスの要求条件を洗練し、洗練された、前記機能仕様のフォールト・トレランスの要求条件を発信することを含み、
    e)前記機能仕様において、複製と該複製に付けられた該複製の独立性の指標とを作り出すことを含み、前記独立性の指標は前記洗練されたフォールト・トレランスの要求条件を反映し、
    前記手順は、
    f)前記システムのアーキテクチャのための、相互にネットワークで接続された一連の電子制御ユニットを例とする、ハードウエア構造を限定する(define)ことを含み、
    g)前記機能仕様を前記ハードウエア構造の上に写像することを含み、
    h)前記独立性の指標が、写像の過程において、保存されることを自動的にベリファイすることを含むことを特徴とするコンピュータ読み取り可能な媒体を含むコンピュータ・プログラム製品。
  9. システムのアーキテクチャの設計とベリフィケーションに適合した設計ツールであって、前記設計ツールは、請求項1ないし7のいずれかに記載のシステムのアーキテクチャを生み出す方法における各段階のインプリメンテーションに適合するか、または、請求項8に記載のコンピュータ読み取り可能な媒体を含むコンピュータ・プログラム製品を用いてプログラムされることを特徴とする、システムのアーキテクチャの設計とベリフィケーションに適合した設計ツール。
JP2006548570A 2004-01-13 2005-01-13 安全性重視システムの設計方法 Pending JP2007528532A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP04300018A EP1555587B1 (en) 2004-01-13 2004-01-13 Design of safety critical system
EP04300018.1 2004-01-13
PCT/IB2005/050701 WO2005069089A2 (en) 2004-01-13 2005-01-13 Design of safety critical systems

Publications (2)

Publication Number Publication Date
JP2007528532A true JP2007528532A (ja) 2007-10-11
JP2007528532A6 JP2007528532A6 (ja) 2008-01-17

Family

ID=34610242

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006548570A Pending JP2007528532A (ja) 2004-01-13 2005-01-13 安全性重視システムの設計方法

Country Status (6)

Country Link
US (1) US7694250B2 (ja)
EP (2) EP1555587B1 (ja)
JP (1) JP2007528532A (ja)
AT (2) ATE511669T1 (ja)
DE (1) DE602005006732D1 (ja)
WO (1) WO2005069089A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11151076B2 (en) 2016-04-28 2021-10-19 Hitachi Automotive Systems, Ltd. Vehicle control system verification device, vehicle control system, and vehicle control system verification method

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2936766A3 (fr) * 2008-10-07 2010-04-09 Renault Sas Procede de traitement de signaux issus de differents capteurs pour determiner la position d'un organe de commande de direction d'un vehicule automobile
US8117483B2 (en) * 2009-05-13 2012-02-14 Freescale Semiconductor, Inc. Method to calibrate start values for write leveling in a memory system
US9678483B2 (en) 2011-01-26 2017-06-13 Honeywell International Inc. Programmable controller with both safety and application functions
DE102011075545A1 (de) * 2011-05-10 2012-11-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Überprüfung eines Sensorsignals und zur Ansteuerung eines Insassenschutzmittels eines Fahrzeugs
US8397191B1 (en) * 2011-11-07 2013-03-12 Xilinx, Inc. Determining failure rate from circuit design layouts
US10379143B2 (en) 2014-07-23 2019-08-13 Cummins, Inc. System and method for improving a battery management and accumulator system
CN106573530B (zh) 2014-08-26 2018-08-03 康明斯有限公司 电动发动机附件控制
EP3110061B1 (de) * 2015-06-23 2020-03-11 TTTech Auto AG Verteiltes echtzeitcomputersystem sowie verfahren zur erzwingung des fail-silent-verhaltens eines verteilten echtzeitcomputersystems
KR20170111076A (ko) * 2016-03-25 2017-10-12 엘에스산전 주식회사 철도 차량의 제동장치 고장 진단 장치와 이를 이용한 제동 성능 저하에 따른 자동 열차 운전 장치 및 철도 차량의 제동장치 고장 진단 방법
WO2017179059A1 (en) * 2016-04-14 2017-10-19 B. G. Negev Technologies And Applications Ltd., At Ben-Gurion University Self-stabilizing secure and heterogeneous systems
US10417077B2 (en) 2016-09-29 2019-09-17 2236008 Ontario Inc. Software handling of hardware errors
CA3052954C (en) 2017-02-10 2023-04-04 Nissan North America, Inc. Autonomous vehicle operational management including operating a partially observable markov decision process model instance
KR102090919B1 (ko) 2017-02-10 2020-05-18 닛산 노쓰 아메리카, 인크. 자율주행 차량 운용 관리 차단 모니터링
WO2019089015A1 (en) 2017-10-31 2019-05-09 Nissan North America, Inc. Autonomous vehicle operation with explicit occlusion reasoning
WO2020204871A1 (en) 2017-12-22 2020-10-08 Nissan North America, Inc. Shared autonomous vehicle operational management
WO2019164531A1 (en) 2018-02-26 2019-08-29 Nissan North America, Inc. Centralized shared autonomous vehicle operational management
US11120688B2 (en) 2018-06-29 2021-09-14 Nissan North America, Inc. Orientation-adjust actions for autonomous vehicle operational management
CN110807773B (zh) * 2019-11-12 2023-04-11 中广核检测技术有限公司 一种核电站表面缺陷全景图像检测方法
US11635758B2 (en) 2019-11-26 2023-04-25 Nissan North America, Inc. Risk aware executor with action set recommendations
US11899454B2 (en) 2019-11-26 2024-02-13 Nissan North America, Inc. Objective-based reasoning in autonomous vehicle decision-making
US11613269B2 (en) * 2019-12-23 2023-03-28 Nissan North America, Inc. Learning safety and human-centered constraints in autonomous vehicles
US11300957B2 (en) 2019-12-26 2022-04-12 Nissan North America, Inc. Multiple objective explanation and control interface design
US11577746B2 (en) 2020-01-31 2023-02-14 Nissan North America, Inc. Explainability of autonomous vehicle decision making
US11714971B2 (en) 2020-01-31 2023-08-01 Nissan North America, Inc. Explainability of autonomous vehicle decision making
US11782438B2 (en) 2020-03-17 2023-10-10 Nissan North America, Inc. Apparatus and method for post-processing a decision-making model of an autonomous vehicle using multivariate data

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5598344A (en) * 1990-04-06 1997-01-28 Lsi Logic Corporation Method and system for creating, validating, and scaling structural description of electronic device
WO1993013340A1 (en) * 1991-12-23 1993-07-08 Caterpillar Inc. Vehicle diagnostic control system
US5365423A (en) * 1992-01-08 1994-11-15 Rockwell International Corporation Control system for distributed sensors and actuators
DE19527541A1 (de) * 1995-07-27 1997-01-30 Siemens Ag Vorrichtung zur Erzeugung von Steuersignalen
US6999824B2 (en) * 1997-08-21 2006-02-14 Fieldbus Foundation System and method for implementing safety instrumented systems in a fieldbus architecture
US6199173B1 (en) * 1997-10-01 2001-03-06 Micron Electronics, Inc. Method for mapping environmental resources to memory for program access
US5914845A (en) * 1998-05-01 1999-06-22 Chase; Ronald Cole Surge protector system
US6161071A (en) * 1999-03-12 2000-12-12 Navigation Technologies Corporation Method and system for an in-vehicle computing architecture
US6647301B1 (en) * 1999-04-22 2003-11-11 Dow Global Technologies Inc. Process control system with integrated safety control system
US6789054B1 (en) * 1999-04-25 2004-09-07 Mahmoud A. Makhlouf Geometric display tools and methods for the visual specification, design automation, and control of adaptive real systems
EP1100007A3 (en) 1999-08-13 2001-12-05 General Electric Company A method of optimizing a design project
US7865349B2 (en) * 2001-01-19 2011-01-04 National Instruments Corporation Simulation, measurement and/or control system and method with coordinated timing
SE522545C2 (sv) * 2001-03-06 2004-02-17 Goalart Ab System, anordning och förfarande för diagnostisering av flödesprocesser
US7451063B2 (en) * 2001-07-20 2008-11-11 Red X Holdings Llc Method for designing products and processes
GB0122681D0 (en) * 2001-09-20 2001-11-14 Mead Corp Packaging systems apparatus and method therefor
US7260505B2 (en) * 2002-06-26 2007-08-21 Honeywell International, Inc. Method and apparatus for developing fault codes for complex systems based on historical data
FR2846117B1 (fr) * 2002-10-21 2008-08-22 Renault Sas Procede et dispositif pour synthetiser une architecture electrique
JP2006510990A (ja) * 2002-12-20 2006-03-30 ルノー・エス・アー・エス 機能アーキテクチャの機能の欠陥診断方法
US7913232B2 (en) * 2003-02-21 2011-03-22 The Math Works, Inc. Certifying software for safety-critical systems
US8180466B2 (en) * 2003-11-21 2012-05-15 Rosemount Inc. Process device with supervisory overlayer
US7076350B2 (en) * 2003-12-19 2006-07-11 Lear Corporation Vehicle energy management system using prognostics

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11151076B2 (en) 2016-04-28 2021-10-19 Hitachi Automotive Systems, Ltd. Vehicle control system verification device, vehicle control system, and vehicle control system verification method

Also Published As

Publication number Publication date
ATE511669T1 (de) 2011-06-15
EP1555587B1 (en) 2011-06-01
DE602005006732D1 (de) 2008-06-26
US20070168096A1 (en) 2007-07-19
EP1706799B1 (en) 2008-05-14
US7694250B2 (en) 2010-04-06
WO2005069089A2 (en) 2005-07-28
EP1706799A2 (en) 2006-10-04
EP1555587A1 (en) 2005-07-20
WO2005069089A3 (en) 2005-10-27
ATE395643T1 (de) 2008-05-15

Similar Documents

Publication Publication Date Title
JP2007528532A (ja) 安全性重視システムの設計方法
JP2007528532A6 (ja) 安全性重視システムの設計方法
JP4749414B2 (ja) 組み込まれたシステムの実証方法
Kopetz Software engineering for real-time: A roadmap
Pataricza et al. UML-based design and formal analysis of a safety-critical railway control software module
JP5680514B2 (ja) 自己診断機能を備えたコンピュータ、ソフトウェア作成方法、およびソフトウェア作成装置
Pimentel An architecture for a safety-critical steer-by-wire system
Gunzert et al. Component-based development and verification of safety critical software for a brake-by-wire system with synchronous software components
Banci et al. The role of formal methods in developing a distributed railway interlocking system
Battram et al. A Modular Safety Assurance Method considering Multi-Aspect Contracts during Cyber Physical System Design.
Qiu Decentralized/distributed failure diagnosis and supervisory control of discrete event systems
Morel Model-based safety approach for early validation of integrated and modular avionics architectures
KR20060110358A (ko) 안전 임계 시스템의 설계
Zhai et al. Achieving ASIL D for microcontroller in safety-critical drive-by-wire system
Philippi Analysis of fault tolerance and reliability in distributed real-time system architectures
Braun et al. Simulation-based verification of the MOST netinterface specification revision 3.0
Chaaban et al. Simulation of a steer-by-wire system using FlexRay-based ECU network
Hedenetz A development framework for ultra-dependable automotive systems based on a time-triggered architecture
Ammar et al. Formal verification of Time-Triggered Ethernet protocol using PRISM model checker
Touloupis et al. Safety-critical architectures for automotive applications
Debouk et al. Architecture of by-wire systems design elements and comparative methodology
Pimentel Safety-critical automotive systems
Papadopoulos et al. Component Failure Behaviour: Patterns and Reuse in Automated System Safety Analysis
France et al. The Modeling and Simulation of an Automotive Braking System Using the TTP/C Protocol
Hall et al. Verification and validation of distributed flight critical systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100810

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100929

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20101006

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101012

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20101104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110201

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110927