Posts Tagged with "ISO 26262"

既に発行済みのブログであっても適宜修正・追加することがあります。
We may make changes and additions to blogs already published.

ISO 26262のFTAに関する論文(11)

posted by sakurai on March 2, 2020 #212

参照論文は完全冗長系のEPSを題材としているので、本ブログでもこのEPSシステムのPMHFを計算することにします。図212.1にEPSシステム構成図を示します。

図%%.1
図212.1 EPSシステム構成図

このEPSシステムのRBDを図212.2に示します。

図%%.2
図212.2 システムのRBD

表212.1にRBD中のエレメント記号とエレメント名等を示します。

表212.1
エレメント記号 エレメント名 故障率[FIT] SM記号 SM名 DC[%]
P Power Module 233 None None 0
MCU Micro Control Unit 818 SM4 Self test 99
D Motor Drive Module 109 SM2 Output test 99
I Failure Isolation Module 599 SM1 Input test 60
M Aligning Motor 1000 SM5 Motor sensing test 90
SC Current Sensor 1000 SM2 Output test 99
CA CAN Communication Module 51 SM1 Input test 60
SA Angle Sensor 1000 SM3 Sensor compare 99

この表のSMは、通常は1st order SMとしてVSG抑止のためのSMと位置付けられます。ところが、このように冗長の内部(冗長チャネルを構成するエレメントに対するSM)に存在する場合、冗長の相手チャネルが1st order SMとなります。従って、表中のSMは、それによりVSG抑止される場合のLF防止のSM、つまり2nd order SMと位置付けられます。

例えばあるエレメントが故障しても冗長構成であれば、相手チャネルが動作しているので、VSGは抑止されます。ところが冗長系は、故障の検出は一切行わないため、そのエレメント故障の100%がLFとなります。そのエレメントに故障検出のためのSMがあれば、LF防止のためのSM、つまり2nd order SMとなることがわかります。


左矢前のブログ 次のブログ右矢

posted by sakurai on February 28, 2020 #211

今回は余談で、参照論文から離れます。

信頼性工学に関するISOが存在し、それが以前もご紹介したISO 12489です。 ”Petroleum, petrochemical and natural gas industries - Reliability modelling and calculation of safety systems" (ISO/TR 12489:2013)という国際規格であり、本来は「石油、石油化学、天然ガス産業-信頼性モデリングと安全システムの計算」と訳されますが、中身はかなり数学的な定義が多いです。

信頼性関連で使用される用語の定義が数学的に書かれているのが特長です。

ここではその中の「8.5.ブール代数モデルによる計算」を見てみます。

図%%.1
図211.1 FT駆動マルコフ過程モデリング

図211.1 は本ブログの方式と基本的には同一ですが、「FT駆動マルコフ過程モデリング」と書かれています。本ブログの方式はむしろ、(動的な)マルコフモデル駆動による(静的な)Fault Treeによる解析、と逆のように思います。本ブログの方式は、基事象にマルコフモデルを適用し、それを一旦静的なPMHF式に変換し、それに基づきFTを構築する流れであるためです。

本ブログの方式は、一見図211.1と同じように思われますが、根本的に異なります。ISO 26262では動的なマルコフモデルを確率積分し、あらかじめ平均PUDであるPMHF式を求めておくことにより、ISO 12489の図のような複雑な確率過程の計算をする必要が無いわけです。

ともあれ、規格は論文でもなければ教科書でもないと言えども、「マルコフ過程に基づいた確率微分方程式を積分したものがPMHF方程式である」という事実が全く書かれていないので、いろいろな人が試行錯誤しているのは無駄ではないでしょうか。より正しく効率的な運用をしたいと思い、このブログを書いています。

弊社ではFTAに関する論文をRAMS 2021に投稿予定であり、そのため、ブログの一部を一旦非開示(セミナー内でのご紹介と表示)としました。


左矢前のブログ 次のブログ右矢

posted by sakurai on February 27, 2020 #210

参照論文の問題点を挙げていけば、きりがないようです。

図210.1は前稿の事象E2である、AがRFとなった後にBがSPF/RFとなる場合のFTです。

図%%.1
図210.1 参照論文の図6 Residual Fault

図210.2は事象E2のマルコフチェイン図です。

図%%.1
図210.2 参照論文の図8 Residual Faultのマルコフ遷移図

そもそも前述のようにE2事象自体がおかしいのですが、それを無視して考えます。さらに子細に検討すると変なところが目につきます。例えば、マルコフ状態遷移は、

  • 00 E2が起きない、00が起きる確率を$P_{00}(t)$とする。
  • 1 中間状態(??)、1が起きる確率を$P_{1}(t)$とする。
  • 11 E2が起きる、11が起きる確率を$P_{11}(t)$とする。

と遷移するようです。ここで、E2は起きるか起きないかなので、中間はありません。事象とその確率分布は別の話で、それが分離できていないのかもしれません。コイントスの例を挙げれば、事象は表が出るか出ないか(裏が出るか)のどちらか一方です。ただ表が出るといっても確率分布は1/2であり、必ず出るわけではありません。このように事象とその確率分布は分けて考えます。これもおかしな点のひとつです。状態'11'で初めてE2が起きます。

$$ \mathbf{P}'(t)= \begin{bmatrix} P_{00}'(t) \\ P_{1}'(t) \\ P_{11}'(t) \end{bmatrix}\\ \mathbf{P}(t)= \begin{bmatrix} P_{00}(t) \\ P_{1}(t) \\ P_{11}(t) \end{bmatrix} $$ として、遷移行列$\mathbf{A}$は、 $$ \mathbf{A}= \begin{bmatrix} 1-(1-c\%)\lambda_{RA} & \color{red}{(1-c\%)\lambda_{RA}} & 0\\ \color{blue}{-(1-c\%)\lambda_{RA}} & 1-\lambda_{SB} & \lambda_{SB} \\ 0 & \lambda_{SB} & 1 \end{bmatrix}\\ $$ だと言っています。赤字の遷移確率に着目してください。 $$ \mathbf{P}'(t)=\mathbf{A}\mathbf{P}(t) $$ この行列を計算すれば、 $$ \begin{eqnarray} P_{00}'(t) &=& 1-(1-c\%)\lambda_{RA}P_{00}(t) &+& \color{red}{(1-c\%)\lambda_{RA} P_{1}(t)} && \\ P_{1}'(t) &=& \color{blue}{-(1-c\%)\lambda_{RA}P_{00}(t)} &+&(1-\lambda_{SB})P_{1}(t) &+& \lambda_{SB}P_{11}(t) \\ P_{11}'(t) &=& &+&\lambda_{SB}P_{1}(t) &+&P_{11}(t) \end{eqnarray} $$ となります。符号が反対なのも変ですがそれは無視するとして、状態00から状態1へは$\color{blue}{(1-c\%)\lambda_{RA}}$だけ移るので、状態1から状態00へは、反対の符号分$\color{red}{-(1-c\%)\lambda_{RA}}$だけ移しているようです。

しかしながら、前記事でも参照した米国ロチェスター大学の資料によれば、遷移行列の要素は条件付き確率であり、マルコフ遷移図210.2によれば、状態1から状態00へは遷移しないので$\dagger$、遷移の無い条件付き確率はゼロになるため、これは重大な誤りです。

さらに、E2の確率を求めるのに、全体の確率を足していますが、全ての確率を加えると常に1になるはずで、これも誤りです。実際に参照論文中に、初期値は$\mathbf{P}(0)=[1, 0, 0]^T$とあり、AのRFにより'00'から減った分だけ'1'が増え、BのSPFにより'1'が減った分だけ'11'が増えることを思えば、総和は一定だとすぐに気づくはずです。 $$ R_{E2}(t)=P_{00}(t)+P_1(t)+P_{11}(t)\tag{参照論文の式} $$ 上記のとおり「状態'11'で初めてE2が起きる」ことから、$P_{11}(t)$のみであり、かつ故障確率であることからこの確率は信頼度ではなく不信頼度となります。従って1から引いて、 $$ R_{E2}(t)=1-P_{11}(t)=P_{00}(t)+P_1(t)\tag{正しい式} $$ 参照論文のうちの短い記述の中で6個も問題が見つかりました。これ以外に既に述べたAとBが同時に故障することは(a.s.)無いは確率論の基礎であり、重大な誤りと言えます。
https://en.wikipedia.org/wiki/Probability_density_function#Example


$\dagger$修理を考えれば遷移しますが、それは別の問題です。修理を考えていないという問題もありますね。


左矢前のブログ 次のブログ右矢

posted by sakurai on February 26, 2020 #209

再度図208.2を掲載します。

図%%.1
図209.1 図207.1の書き直し図(弊社作成)

本ブログではE1~E5までの事象では正当なのは事象E4, E5のみと判断しましたが、参照論文ではE4, E5は削除されると書かれているので、驚きます。原文を見てみましょう。

In Figure 7, A has a latent dual-point fault first, that is to say, the two faults’ combination will lead to the failure of A, but not be detected or perceived by the driver, then B has a single point/residual fault. That is, A’s latent dual-point fault combined with B’s single point/residual fault will lead to the violation of the safety goal, and they have a time sequence. The fault tree for the middle event E5 is the same as for E4. In this condition, there are three failures in a dual redundancy system, which is beyond the scope of the design, so when calculating the failure rate, the middle events E4 and E5 should be ignored.

Google翻訳したものを多少修正すると、

図7では、エレメントAに最初に潜在的なデュアルポイントフォールトレイテント故障があります。つまり、2つの故障の組み合わせはAの故障につながりますが、ドライバーによって検出または認識されず、エレメントBにSPF/RFが起こる場合です。 つまり、Aの潜在的なデュアルポイント故障とBのシングルポイント/残留故障を組み合わせることで、安全目標の違反が発生し、タイムシーケンスが発生します。 中間事象E5のフォールトツリーは、E4と同じです。 この状態では、二重冗長システムに3つの故障があり、これは設計の範囲を超えているため、故障率を計算するとき、中間事象E4およびE5は無視する必要があります。

ここで、参照論文の著者は「デュアルポイントフォールトレイテント」の意味を誤解しているようです。「デュアルポイントフォールトレイテント」は文字通りの2点の故障ではありません。1点の故障について、$\img[-1.35em]{/images/withinseminar.png}$ の故障のことを「デュアルポイントフォールトレイテント」もしくは短くレイテントフォールト(LF)と呼びます。

上記からすると、著者は事象E4においてAに2点故障が起き、さらにBにSPF/RFが起きるので3点と思っているのでしょうか(図209.2)?

図%%.2
図209.2 誤りの図

ところが、Aの2点目の可能性は、相手のエレメントであるBの故障を指すため、これは3点故障ではなく2点故障です。そもそもAとBはどちらも主機能、意図機能であり、それだけではSMではありませんが、AとBを並列に組み合わせることで冗長性が生まれ、その関係性によりお互いにSMとなる関係が生じます。

参照論文著者がエレメントAやB単独でSPF/RF/LFが起きると考えているため、E2~E5のような事象を考えついたようですが、上記の関係性からエレメントAやB単独では、RFやLFが起きるはずがありません。

この誤解は規格の故障のネーミングから来るようなので、最初からLFと名付けておけば誤解も無かったはずです。1点故障のことを「デュアルポイントフォールト」と呼ぶのはいかにも誤解を招きそうです。 このポイントは機能安全セミナーでも強調して説明しています。


左矢前のブログ 次のブログ右矢

posted by sakurai on February 25, 2020 #208

ここで前稿の図207.1の左端の事象E1について、削除した理由を再度検討します。AとBの同時故障(フォールトですが、わかりやすく故障と表現します)とは2とおり考えられます。

 C1. AとBが時刻tで同時に故障する場合
 C2. AとBが時刻tまでに両方共故障している場合

ただし、事象に重なりが無いように、C2.を以下のように書き換えます。

 C2. AとBが時刻tまでに両方共故障している場合でC1(同時故障)の場合を除く

どちらもANDゲートを用いて図208.1(参照論文の図)のように表現されますが、

図%%.1
図208.1 DPFのFault Tree(参照論文の図)

前述のように、C1は誤りです。同時に故障するDPF確率はほぼ確実にゼロだからです。一方、C2の場合は妥当です。区間$[0, t)$においてAが故障し、それと独立に、区間$[0, t)$においてBが故障する確率はそれぞれの値を持ちます。時刻$t$においてその両方が起きているDPF確率は、(AとBの故障が独立に起こる場合)それらの確率の積で表される値だからです。

それでは、前稿の図207.1の左端の事象E1は上記のどちらの意味でしょうか?

図208.2に前稿の図207.1を弊社で書き直した図を示します。E1, E2, E3を削除しています。

図%%.2
図208.2 図207.1の書き直し図(弊社作成)

E1, E2, E3を削除しE4とE5が残ったのですが、E1をC1と判断し削除した理由を確認します。上記のC2の場合かもしれないので。

さて、E4, E5はそれぞれ、

  • E4: Aが故障してレイテントとなっており、次にBが故障した場合
  • E5: Bが故障してレイテントとなっており、次にAが故障した場合

まず、C2ならばE4 or E5が成り立つかを証明します。「AとBが時刻tまでに両方共故障している」ならば、C2の定義からAとBが同時に故障することは無いので、Aが先に故障するか、Bが先に故障するかのいずれかです。AがSPF/RFの場合はVSGとなるので、AとBのDPFとなる場合は、Aの故障はLFしかありません。Bも同様なので、E4又はE5が成立します。従って、 $$C2\to (E4\lor E5)\tag{208.1}$$

次に逆を証明します。E4の場合には当然C2が成り立ちます。またE5の場合にも当然C2が成り立ちます。これは同時に成り立つため、E4ならばC2かつE5ならばC2が成り立ち、 $$(E4\to C2)\land (E5\to C2)\tag{208.2}$$ ここで、$\to$(ならば)をwikipediaで調べると、論理包含に、以下の性質があるとあります。 $$P\to Q\Leftrightarrow\overline{P}\lor Q$$ これと分配則及びドモルガンの法則を用いて(208.2)式を書き換えれば、 $$(E4\to C2)\land (E5\to C2) \Leftrightarrow(\overline{E4}\lor C2)\land(\overline{E5}\lor C2)\\ \Leftrightarrow(\overline{E4}\land\overline{E5})\lor C2 \Leftrightarrow\overline{(E4\lor E5)}\lor C2\\ \Leftrightarrow(E4\lor E5)\to C2\tag{208.3} $$ 従って、(208.1)かつ(208.3)より、 $$C2\Leftrightarrow(E4\lor E5)$$

以上から、排中律を用いれば、$E4\lor E5$がC2と等価ならば、E1は$\overline{C2}=C1$と等価と証明されます。 従って、事象E1(図208.1)はAとBが同時に故障するC1の場合を指すと証明でき、かつそれは確率ゼロのため、削除可能と判断できます。


左矢前のブログ 次のブログ右矢

posted by sakurai on February 24, 2020 #207

詳細を見れば誤りはさらに種々あります。まず、Fault TreeのTOPの図を示します。ここで、エレメントAやBは前々稿図205.1に示す、完全冗長を構成する2つのエレメントを指します。

図%%.1
図207.1 FT図(参照論文の図)

5つの場合分けをして考えています。
  • E1  A&Bに同時にSPFが起こる
  • E2  AにRFが起き、引き続きBにSPF/RFが起こる
  • E3  BにRFが起き、引き続きAにSPF/RFが起こる
  • E4  AにLFが起き、引き続きBにSPF/RFが起こる
  • E5  BにLFが起き、引き続きAにSPF/RFが起こる

まず事象E1ですが、エレメントAとBは同時に故障する確率はa.s.(almost surely; ほぼ確実に)0なので、これ以下のサブツリーは考える必要がありません。

次に{E2, E4}, {E3, E5}のペアで考えると、{E2, E4}はどちらも先にAに故障が起き、次にBに故障が起きるDPFを意味しています。その中で、Aの先故障をさらにRFとLFに分解しています。

ここで、(書かれていませんが)AにSPFが起こらないのは正しいです。Aに故障が起きても必ず(従属故障が無い限り)Bが代替機能を果たすため、系(サブシステム)としてSPFにはなりません。

次に事象E2においてAにRFが起きるという記述が誤りです。AにRFが起きるということは、Aの1点故障によりVSGが起きることなので、Aに故障が起きても必ず(従属故障が無い限り)Bが代替機能を果たすため、VSGは起きません。従って、Aの故障の場合はLFとなり、全て事象E4になります。従って、E2は考慮する必要がありません。

事象E3も同様です。以上から、E1, E2, E3は不要で、E4, E5のみが残ることになります。


左矢前のブログ 次のブログ右矢

posted by sakurai on February 21, 2020 #206

この論文でも、ターゲットの目標値はPMHFとなっていますが、算出において規格のPMHF式を尊重していません。サブシステムの不信頼度を $$F(t)=1-e^{-\lambda t}$$ との式で計算しており、これは修理可能性を考慮していないことを表しています。ただし、前論文とは異なり図206.1の赤で示すように、$\lambda_{RF}=(1-DC)\lambda$は計算に入っているのでましです。ただし、RFと書かれていますが、後で説明するように、これはLFです。1点故障は全て冗長相手チャネルによりVSG抑止されるので、100%レイテントとなるためです。

図%%.1
図206.1 故障率

再度整理すると、正しい考え方は、

  1. E1及びE2の2つのエレメントにより構成される冗長系は、マルコフ連鎖で表される。
  2. E1、E2それぞれのエレメントは修理可能(つまり不信頼度$F(t)$ではなく、不稼働度$Q(t)$となる)
  3. PMHF式はこれらを考慮し、系の車両寿命における平均不稼働確率Q(T)を表したものであり、 PMHF式に基づきFault Treeを構成する

でなくてはなりませんが、参照論文はこのうち、2.及び3.が満足されていません。

このように専門家であっても同じような誤りを起こす原因は、規格が理解しやすく書かれていないためだと考えます。ただ、規格屋さんに言わせれば、「規格は論文でもなければ教科書でもない」とのことなので、分かりやすさは追究していないようです。そのためこのような解説ブログの存在意義があります。


左矢前のブログ 次のブログ右矢

posted by sakurai on February 20, 2020 #205

次は前回紹介した論文も参照している論文$\dagger$です。本稿ではこれを参照論文といいます。 参照論文の対象は冗長構成のEPSですが、まず一般的な完全冗長サブシステムで議論します。

図%%.1
図205.1 完全冗長サブシステム

参照論文もPMHF式を使用していません。その代わりに定量FTAのそれぞれの基事象において確率が時間変化する、つまり確率過程であることをマルコフチェインを組み合わせて解いています。図205.2に参照論文の概念図を示します。これは論文中には無く、弊社が作成したものですが、前述の言葉で説明したものを図化したものです。

図%%.2
図205.2 論文の概念図

マルコフチェインを用いる考え方は概ね正しいものの、実はマルコフチェインを用いてPMHFを求めたものが、規格のPMHF式であり(ブログ記事#102~109を参照)、PMHF式に従えばこの定期検査修理を含む確率過程を織り込んだものとなっているため、再度基事象を確率過程として捉える必要はありません。

上で概ねと書いた部分ですが、本来マルコフチェインは修理を考慮する必要があります。SM1 (1st order SM)が先に故障する場合、SM2 (2nd order SM)により定期検査を受け、故障が検出された場合は直ちにゼロ時間で修理されるのが、ISO 26262の考え方です。ということは'1'の状態から'00'状態に戻る場合が存在します。


$\dagger$ https://www.researchgate.net/publication/323450274_A_mixed_model_to_evaluate_random_hardware_failures_of_whole-redundancy_system_in_ISO_26262_based_on_fault_tree_analysis_and_Markov_chain


左矢前のブログ 次のブログ右矢

posted by sakurai on February 14, 2020 #204

書き換えたFTの評価

図202.1に対して図203.1の書き換えを適用したものが図204.1のFTです。このFTに対してカットセット分析を実施し、TOP事象の確率を求めます。

図%%.1
図204.1 弊社提案のEBDサブシステムのFT(ワーストケース)

同様にツールを用いてMCSを求めると、MC数は42個に増加します。しかし前述のように、これには3個以上のエレメント故障が含まれるためツールで削除します。すると、表204.1のように24個のMCが得られ、TOP事象の確率は$4.35\times 10^{-5}$、PMHFは8.70[FIT]となります。表204.1中のC_DC_OL_MONは、1からオンラインモニタのDCを引いた定数であるため、これはエレメント故障数にカウントされません(青字で定数を表示)

表204.1 図204.1のFTのMCS
表%%.1

このように、PMHF式を尊重せず、LFを見逃しDPFのみとすることで、2.7倍も故障確率を甘く(低く)見る事になります。保守的に(高く)見積もるのであれば安全側なのでOKですが、不稼働確率の過小評価は危険側のため、良くありません。

再度整理すると、正しい考え方は、

  1. E1及びE2の2つのエレメントにより構成される冗長系は、マルコフ連鎖で表される。
  2. E1、E2それぞれのエレメントは修理可能(つまり不信頼度$F(t)$ではなく、不稼働度$Q(t)$となる)
  3. PMHF式はこれらを考慮し、系の車両寿命における平均不稼働確率Q(T)を表したものであり、 PMHF式に基づきFault Treeを構成する

ですが、参照論文はこのうち、2., 3.が満足されていません。1.は当然なので、ほとんどが間違いということになります。

弊社ではFTAに関する論文をRAMS 2021に投稿予定であり、そのため、ブログの一部を一旦非開示(セミナー内でのご紹介と表示)としました。


左矢前のブログ 次のブログ右矢

posted by sakurai on February 13, 2020 #203

保守的なPMHF式

さらに、参照論文では不信頼度 $$F(t)=1-e^{-\lambda t}$$ を用いた非修理系として扱っていますが、これはISO 26262の考え方と合いません。規格では主機能と安全機構のDPFまで考慮する必要があり、安全機構は修理可能として扱います。そのため2nd order SMが必要であり、周期的な検出(検出周期=$\tau$)と修理(検出カバレッジ=$K_\text{SM,MPF}$)が前提となります。修理系において不信頼度$F(t)$は不稼働度$Q(t)$となり、

$$Q(t)=(1-K_\text{SM,MPF})F(t)+K_\text{SM,MPF}F(t\bmod\tau)\\ =(1-K_\text{SM,MPF})(1-e^{-\lambda t})+K_\text{SM,MPF}(1-e^{-\lambda(t\bmod\tau)})$$ これからPMHFを求めると、

$$M_\text{PMHF}=(1-K_\text{IF,RF})\lambda_\text{IF}+K_\text{IF,RF}\lambda_\text{IF}\lambda_\text{SM}[(1-K_\text{SM,MPF})T_\text{lifetime}+K_\text{SM,MPF}\tau]$$

ここでワーストケースを考え、2nd order SMが無い(カバレージがゼロ、$K_\text{SM,MPF}=0$として評価します。これは保守的な評価です。すると、上式のPMHFは、

$$M_\text{PMHF}=(1-K_\text{IF,RF})\lambda_\text{IF}+K_\text{IF,RF}\lambda_\text{IF}\lambda_\text{SM}T_\text{lifetime}\\ =\lambda_\text{IF}[(1-K_\text{IF,RF})+K_\text{IF,RF}\lambda_\text{SM}T_\text{lifetime}]$$ 従って、基本的にFTはこの評価式を実装することになります。

FTの書き換え

参照論文ではLFを考慮せずに、単純にDPFとしていましたが、上記のようにLFを考慮したほうが正確です。これを確率式で表せば、

$$(\lambda_\text{IF}T_\text{lifetime})(\lambda_\text{SM}T_\text{lifetime})\to(\lambda_\text{IF}T_\text{lifetime})[(1-K_\text{IF,RF})+K_\text{IF,RF}(\lambda_\text{SM}T_\text{lifetime})]$$

となり、図203.1のFTの書き換えのように構成します。図の左は参照論文のFTであり、右は変更後のFTです。

図%%.1

図203.1 DPFの書き換え(LFを追加)

FTAツールは確率で取り扱い、ミッション時間の計算は自動的に行われるため、明示的に$T_\text{lifetime}$を掛ける必要はありません。

弊社ではFTAに関する論文をRAMS 2021に投稿予定であり、そのため、ブログの一部を一旦非開示(セミナー内でのご紹介と表示)としました。


左矢前のブログ 次のブログ右矢


ページ: