Posts Tagged with "FTA"

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

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

posted by sakurai on March 11, 2020 #219

元に戻って最初の論文を見てみたいと思います。元の論文のFTはLFが考慮されていないものでした。これに対して、前稿において、ワーストケース評価をするため、2nd SMのDC(Diagnostic Coverage)をゼロとして評価しました。

これに対して2nd SMのDCを考慮したらどうなるかを前稿と同様の考え方でやってみます。数式やFTの書き換えルールは基本的に前稿を踏襲しますが、IFUモデルとIFRモデルで数式が異なります。いずれにせよ、$K_\text{SM,MPF}=0$とおいたところに仮に$K_\text{SM,MPF}=0.6$と仮定して計算します。

すると、係数$C_\text{SM,MPF}=0.5368$となり、この係数をEBMとOn-line monitorのDPF項に掛けることになるため、そのFTは図219.1のようになります。

図%%.1
図219.1 Fault Tree

図219.2に図219.1のFTの拡大図を示します。C100として上記係数0.5368をかけています。

図%%.2
図219.2 Fault Treeの拡大

MCS分析を実施すると、42個のMCが得られ、3個以上のエレメント故障をカットすると、24個のMCが残ります。結果として、全く変化はありませんでした。

今回カットされた積項を表219.1に示します。加えた定数(赤字)は全て3点故障以上の積項に掛けられており、全てカットされています。ただし、カットされた積項は18個のはずですが、ツールのバグか17個となっています。

表219.1 図219.1のMCSのカット部分
表%%.1

得られたMCSを表219.2に示します。エレメント故障は2以下のみであり、定数を青字で示しています。

表219.2 図219.1のMCS
図%%.2

元々2 outof 4という変則的な2冗長内部のSMなので、IFとSMのANDはそれだけで4エレメント故障の積項ととなります。従って、この積項に何を追加しても元々消えるべき項でした。

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


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

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

posted by sakurai on March 10, 2020 #218

参照論文では、前提が誤っている$\dagger$ものの、2nd Edition規格式に近い形でFTを構成しているようです。例えば、AのRFが先に起きて、BのSPF/RFが後から起きる場合と、その逆パターンのORとなっています。一方、規格式ではAのLFが先に起きて、BのSPF/RFが後から起きる場合と、その逆パターンのORとなっています。従って、参照論文のRFをLFと読み替えれば、規格式と結果的に同じになります。

$$ \begin{eqnarray} \Pr\{\text{TOP Failure}\}&=&M_\text{PMHF}T_\text{L} \\ &=&\frac{1}{2}\lambda_\text{E1}\left[(1-K_\text{E1,MPF})T_\text{L}+K_\text{E1,MPF}\tau\right]\cdot \lambda_\text{E2}T_\text{L} \\ &+&\frac{1}{2}\lambda_\text{E2}\left[(1-K_\text{E2,MPF})T_\text{L}+K_\text{E2,MPF}\tau\right]\cdot \lambda_\text{E1}T_\text{L}\\ &=&\frac{1}{2}(\lambda_\text{E1}T_\text{L})(\lambda_\text{E2}T_\text{L})\left(2-K_\text{E1,MPF}-K_\text{E2,MPF}+(K_\text{E1,MPF}+K_\text{E2,MPF})\cdot\frac{\tau}{T_\text{L}}\right)\\ &=&(\lambda_\text{E1}T_\text{L})(\lambda_\text{E2}T_\text{L})C_\text{1, 2}' \end{eqnarray} $$

今回のE1, E2のペアで$C_\text{1, 2}'$を計算したところ、表218.1に示すようにC10からC19の10種類の定数が得られました。

表218.1
定数記号 定数値
C10 0.23572
C11 0.27046
C12 0.30520
C13 0.38626
C14 0.42100
C15 0.53680
C16 0.61786
C17 0.65260
C18 0.76840
C19 1.00000

よって、2AND項にそれぞれこの定数項を加えて3ANDとすれば、図218.1のようなFTとなります。

図%%.1
図218.1 Fault Tree

このMCSを取得したところ、表218.2のような結果となりました。
表218.2 図218.1のFTのMCS
図%%.1
頂上事象侵害確率は$1.159\times 10^{-3}$、PMHFは77.3[FIT]となりましたが、これは真値に対して38%もの過大評価となっています。

$\dagger$前稿でご説明したように、冗長チャネル内のSMは、2nd order SMなので、冗長チャネル内のエレメントの故障の場合は、RFではなくLFとなります。参照論文ではRF、LFの両方が起きると考えています。


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

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

posted by sakurai on March 9, 2020 #217

この結果はワーストケースの評価であり、2nd order SMを無視しているものです。従って、この結果をより実際に近づけるには、2nd order SMのDCをFTに入れる必要があります。

まず、数式で書けば、 $$ \begin{eqnarray} \Pr\{\text{TOP Failure}\}=M_\text{PMHF}\cdot T_\text{L}&=&(\lambda_\text{E1}T_\text{L})(\lambda_\text{E2}T_\text{L})[\img[-1.35em]{/images/withinseminar.png} ]\\ &=&(\lambda_\text{E1}T_\text{L})(\lambda_\text{E2}T_\text{L})C_\text{1, 2} \end{eqnarray} $$ ただし $$ K_\text{MPF}=1-(1-K_\text{E1,MPF})(1-K_\text{E2,MPF}) $$ $C_\text{1, 2}$はE1, E2に依存する定数で、 $$ C_\text{1, 2}=\img[-1.35em]{/images/withinseminar.png} $$

車両寿命$T_\text{L}=15,000[H]$、定期検査周期$\tau=3,420[H]$として、今回のE1, E2のペアで$C_\text{1, 2}$を計算したところ、表217.1に示すようにC1からC9の9種類の定数が得られました。

表217.1
定数記号 定数値
C1 0.2280772
C2 0.2287720
C3 0.2310880
C4 0.2357200
C5 0.2588800
C6 0.3052000
C7 0.3515200
C8 0.5368000
C9 1.0000000

よって、2入力AND項にそれぞれこの定数項を加えて3ANDとすれば、図217.1のようなFTとなります。今回はマニュアル作業により付加しましたが、モデルもしくはツールを開発した暁には自動的に計算が行われる見込みです。

図%%.1
図217.1 2nd order SM効果を追加したFault Tree

このMCSを取得したところ、表217.2の表のような結果となりました。

表217.2 図217.1のMCS
表%%.2

頂上事象侵害確率は$8.321\times 10^{-4}$、PMHFは55.5[FIT]となりました。このように2nd order SMの効果を入れると、PMHFは25%まで低減することがわかります。

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


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

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

posted by sakurai on March 6, 2020 #216

前稿で作成したFTLをSAPHIREにインポートすると、図216.1のようなFTが構成されます。MCSの論理式で示されるとおり、2入力ANDの積項が40個、ORで接続されています。

図%%.1
図216.1 MCSのFault Tree

検証としてこのFTのMCSを確認しますが、当然前々稿と同一のMCSになるはずです。MCS前後で論理は変化しません。表216.1に得られたMCSを示します。

表216.1 MCSのFTをさらにMCS
表%%.1

この頂上事象侵害確率は$3.380\times 10^{-3}$、PMHFは、225[FIT]となりましたが、前回の結果と同一です。


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

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

posted by sakurai on March 5, 2020 #215

SAPHIREのFTL(Fault Tree Language)の文法を図215.1に示します。これで見ると分かるように、ゲートの記述がコメントとして書けるようです。

図%%.1
図215.1 FTLのフォーマット

ただし、このように記述しインポートしても、モデルは作成されますがゲートの説明等の記述は入りませんでした。さらに、基事象は全てtoolにより作成済みである必要があります。

調べてみると、FTLのインポートではなく、MAR-D(各種データ)の一括インポートにより、完全なFTが構成できるようです。

図%%.2
図215.2 ターゲットのFT

例えば、図215.2のFTをFlat File (ASCII File)で入力しようとすると、
  • .BED --- Basic Eventの説明等の記述
  • .BEI --- Basic Eventの情報、故障率やミッション時間等
  • .FTD --- Fault Treeの説明等の記述
  • .FTL --- 木の構造
  • .GTD --- Top Event、中間ゲートの説明等の記述

の5種が少なくとも必要なようです。図215.3~215.7の構文ファイルを用意し、そのリストを図215.8のMARDファイルとしてMARDをloadすると、図215.2のFTが生成されました。

図215.3は基事象の定義で、3種類の基事象の名前と説明を記述します。

TEST =
* Name , Descriptions , Project
BE01 , Failure of 01 , TEST
BE02 , Failure of 02 , TEST
BE03 , Failure of 03 , TEST

図215.3 ターゲットFT用BED

図215.4は基事象の故障モデル、故障率、ミッション時間を記述します。赤字は故障率、青字はミッション時間です。

TEST =
* Name ,FdT,UdC ,UdT, UdValue, Prob, Lambda, Tau, Mission, Init,PF, UdValue2, Calc. Prob, Freq, Analysis Type , Phase Type , Project
BE01 , 3, , , , , 1.234E-009, , 1.000E+005, , , , , , , ,
BE02 , 3, , , , , 2.345E-009, , 1.000E+005, , , , , , , ,
BE03 , 3, , , , , 3.457E-009, , 1.000E+005, , , , , , , ,

図215.4 ターゲットFT用BEI

ここで、図215.4中のFdtは、表215.1(一部のみ)により規定される故障計算タイプです。
表215.1
故障計算タイプ記号 故障計算タイプ説明
V 数値事象
1 確率
3 指数分布($1-e^{^-\lambda t}$)

図215.5にFT全体の定義として、名前と説明を記述します。

TEST=
* Name , Description, Project
TOP ,PVSG of top , ,TEST

図215.5 ターゲットFT用FTD

図215.6にFTの木構造を記述します。これは図215.1に文法が書かれています。

TEST, TOP =
TOP OR TOP01 BE03
TOP01 AND BE01 BE02

図215.6 ターゲットFT用FTL

図215.7にゲートの名前と説明を記述します。

TEST=
* Name , Description, Project
TOP ,PVSG of top , ,TEST
TOP01 , DPF of 01 and 02 , ,TEST

図215.7 ターゲットFT用GTD

上述のように、TESTフォルダのSubsフォルダに、各種ファイルをまとめ、一括ロードするためのリストです。

TEST_Subs\TEST.BED
TEST_Subs\TEST.BEI
TEST_Subs\TEST.FTL
TEST_Subs\TEST.FTD
TEST_Subs\TEST.GTD

図215.8 ターゲットFT用MARD

ここで調査している理由は、SAPHIRE等のFTA toolによりPMHFを正しく計算させたいためです。FTA toolによりPMHFを正しく計算させる手法には2種類あります。

  • モデルがPMHF計算に対応 ------------ モデルがPMHF計算に対応していれば、パラメータを入力するだけで、モデルがPMHF式を正しく計算します。
  • モデルがPMHF計算に非対応 ------------ しかしながら、一般的にはモデルがPMHF計算に対応していないため、ユーザがPMHF式に沿うようにFTを組み上げる必要があります。プログラムでFTのサブツリーが自動生成できれば、その労力が大幅に軽減されます。

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

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

posted by sakurai on March 4, 2020 #214

次に、MCSの表から逆にFTを構成します。その理由はFTA tool上でMCSのモデルを修正できるようにするためです。

SAPHIREにおいてFTをインポートするにはFTL(Fault Tree Language)が必要です。そのために、MCSをまずExcel形式でエクスポートし、それをテキストエディタで修正し、以下に示すFTLフォーマットに変換します。

TOP2,TOP-MCS2=
TOP-MCS2 OR TMP1 TMP2 TMP3 TMP4 TMP5 TMP6 TMP7 TMP8 TMP9 TMP10 TMP11 TMP12 TMP13 TMP14 TMP15 TMP16 TMP17 TMP18 TMP19 TMP20 TMP21 TMP22 TMP23 TMP24 TMP25 TMP26 TMP27 TMP28 TMP29 TMP30 TMP31 TMP32 TMP33 TMP34 TMP35 TMP36 TMP37 TMP38 TMP39 TMP40
TMP1 AND M1 M2
TMP2 AND M1 SC2
TMP3 AND SC1 SC2
TMP4 AND M2 SC1
TMP5 AND SA1 SA2
TMP6 AND M1 MCU2
TMP7 AND M2 MCU1
TMP8 AND MCU1 SC2
TMP9 AND MCU2 SC1
TMP10 AND MCU1 MCU2
TMP11 AND I2 M1
TMP12 AND I1 M2
TMP13 AND I1 SC2
TMP14 AND I2 SC1
TMP15 AND I1 MCU2
TMP16 AND I2 MCU1
TMP17 AND I1 I2
TMP18 AND M2 P1
TMP19 AND M1 P2
TMP20 AND P1 SC2
TMP21 AND P2 SC1
TMP22 AND MCU2 P1
TMP23 AND MCU1 P2
TMP24 AND I2 P1
TMP25 AND I1 P2
TMP26 AND D2 M1
TMP27 AND D1 M2
TMP28 AND D1 SC2
TMP29 AND D2 SC1
TMP30 AND D1 MCU2
TMP31 AND D2 MCU1
TMP32 AND D2 I1
TMP33 AND D1 I2
TMP34 AND P1 P2
TMP35 AND CA2 SA1
TMP36 AND CA1 SA2
TMP37 AND D2 P1
TMP38 AND D1 P2
TMP39 AND D1 D2
TMP40 AND CA1 CA2


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

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

posted by sakurai on March 3, 2020 #213

FT(fault tree)構築方式について、いろいろと試行してみます。以下のFTに対して、TOP事象侵害確率及びPMHFを取得します。

  • 2nd SM無しのFT
  • 2nd SM有りのFT
  • 規格式どおりのFT

まずワーストケースとして2nd order SMが無いと仮定した場合のFTを構築します。前稿表212.1のデータに基づき、前稿図212.2のRBDから2nd SM無しの場合のFTを作成すると、図213.1のようになります。

図%%.1
図213.1 EPSシステムのFT

TOP事象を単独で侵害する中間事象は2つあり、ひとつはマイコン制御冗長系の故障、もう一つはセンサ冗長系の故障です。従ってこれらはTOP事象にORゲートで接続されます。マイコン制御冗長系もセンサ冗長系もどちらも冗長系なので、例えばマイコン冗長系であれば、チャネル1とチャネル2の故障はANDゲートで接続されます。チャネルの内部は直列系であるため、チャネルを構成するそれぞれのエレメント故障はORゲートで接続されます。

このFTに対してFTA toolでMCSを取得すると、表213.1のように40個の積項(product term)が得られます。

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

この頂上事象侵害確率は$3.380\times 10^{-3}$、PMHFは、225[FIT]となりました。参照論文では、ミッション時間は15,000時間としています。


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

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 12489の前提によれば、それぞれの事象AやBはマルコフモデルを用いた動的な確率分布を持っているものの、AとBは独立であるためです。

本ブログのISO 26262のモデルの$\img[-1.35em]{/images/withinseminar.png}$ 動作は、さらに複雑な確率過程となります。

ともあれ、規格は論文でもなければ教科書でもないと言えども、「マルコフ過程に基づいた確率微分方程式を積分したものが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$修理を考えれば遷移しますが、それは別の問題です。修理を考えていないという問題もありますね。


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


ページ: