Posts Tagged with "PMHF"

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

パターン1

再度、ISO 26262第2版解説書に示された導出過程に沿ってPMHF式を導出します。この導出過程によればパターン2に重大な誤りがあります。その原因はIFのフォールトの積分範囲なのですが、次稿で説明します。

図309.1の再掲になりますが図476.1に解説書のパターン1の導出過程を引用します。

図%%.1
図476.1 規格解説書パターン1

時刻$t$がSM1のフォールト発生時刻、時刻$t'$が引き続くIFのフォールト発生時刻です。$t$と$t'$の制約を示します。 $$ \begin{eqnarray} \begin{cases} t: \text{Time of fault of SM1}, 0\le t\le T_\text{lifetime} \\ t': \text{Time of fault of IF}, t\le t'\le T_\text{lifetime} \end{cases} \end{eqnarray}\tag{476.1} $$

図476.1ではパターン1のIFのフォールトの積分範囲、つまり$t'$の範囲は$t\le t'\le T_\text{lifetime}$となっています。従って、$t$が大となるに従って$t'$の範囲が狭くなり、IFのフォールト発生確率も小さくなります。つまり、$t$と$\Pr\{\text{IF fails at }t'\}$は逆相関の関係があります。

図%%.2
図476.2 2nd editionパターン1積分範囲

基本的には解説書に従った導出過程で計算しますが、誤りを修正します。まずIFのフォールトに関する積分である、「時刻$t$までup、かつ、$t'$でフォールトする確率」という以下の式(476.2)(図476.1から抜粋引用)は $$ \int_t^{T_\text{lifetime}}f_\text{IF,DPF}(t')dt'\cdot R_\text{IF}(t)\quad\quad\color{red}{(誤りであるため注意)} \tag{476.2} $$ (476.3)に示す2か所が誤りとその修正です。ただしこの誤りはたまたま結果に影響しません。 $$ \begin{eqnarray} \begin{cases} R_\text{IF}(t)&\Rightarrow&R_\text{IF}(t')\quad\quad\text{(up条件)}\\ f_\text{IF,DPF}(t')&\Rightarrow&\lambda_\text{IF,DPF}\quad\quad\text{(down条件)} \end{cases} \end{eqnarray}\tag{476.3} $$

(476.3)はIFに関するup条件及びdown条件ですが、この両者は同じIFに関する事象であるため独立ではありません。down条件に関しては(66.8)で示す条件付き確率を用いる必要があります。従って(476.2)を(476.4)のように、「時刻$t'$までup、かつ、$t'$でフォールトする条件付き確率」と修正します。するとIFのフォールトに関する確率(476.2)は、 $$ \begin{eqnarray} &&\Pr\{\text{IF is in }LAT2S\cap\text{IF fails in }[t, T_\text{lifetime})\}\\ &=&\Pr\{\text{IF up at }t\cap\text{IF prevented}\cap\text{IF fails in }[t, T_\text{lifetime})\}\\ &=&\Pr\{\text{IF prevented}\}\int_t^{T_\text{lifetime}}\Pr\{\text{IF down in }[t', t'+dt')\cap\text{IF up at }t'\}\\ &=&K_\text{IF, DPF}\int_t^{T_\text{lifetime}}\Pr\{\text{IF down in }[t', t'+dt')\ |\ \text{IF up at }t'\}\cdot\Pr\{\text{IF up at }t'\}\\ &=&K_\text{IF, DPF}\int_t^{T_\text{lifetime}}\lambda_\text{IF}R_\text{IF}(t')dt'=K_\text{IF, DPF}\int_t^{T_\text{lifetime}}f_\text{IF}(t')dt'\\ &=&K_\text{IF, DPF}\left\lbrack F_\text{IF}(t')\right\rbrack_t^{T_\text{lifetime}}=K_\text{IF, DPF}\left[F_{\text{IF}}(T_\text{lifetime})-F_\text{IF}(t)\right]\\ &\approx&K_\text{IF, DPF}\lambda_\text{IF}\left(T_\text{lifetime}-t\right) \end{eqnarray} \tag{476.4} $$ と表せます。ここで途中の式

$$ K_\text{IF, DPF}\int_t^{T_\text{lifetime}}\lambda_\text{IF}R_\text{IF}(t')dt'=\int_t^{T_\text{lifetime}}\lambda_\text{IF,DPF}R_\text{IF}(t')dt' \tag{476.5} $$ と(476.2)を比較すると、(476.3)で示した解説書の2点の誤りが確認できます。

(476.4)により$t$におけるIFの車両寿命までのフォールト確率を表せました。$t\le t'$の条件下ではSMとIFのフォールトの確率は独立として掛け合わせることができるので、パターン1のPMHFは、 $$ \require{cancel} \begin{eqnarray} M_\text{PMHF,P1}&=&\frac{1}{T_\text{lifetime}}\int_0^{T_\text{lifetime}}\Pr\{\text{SM1 down in }[t, t+dt)\cap\text{SM1 undetected}\\ & &\cap\ \text{SM1 up at }t\}\cdot\left\{K_\text{IF,DPF}\lambda_\text{IF}\left(T_\text{service}-t\right)\right\}\\ &=&\frac{1}{T_\text{lifetime}}\Pr\{\text{SM1 undetected}\}\int_0^{T_\text{service}}\Pr\{\text{SM1 down in }[t, t+dt)\ |\ \text{SM1 up at }t\}\\ & &\cdot\Pr\{\text{SM1 up at }t\}\cdot\left\{K_\text{IF,DPF}\lambda_\text{IF}\left(T_\text{service}-t\right)\right\}\\ &=&\frac{1}{T_\text{lifetime}}(1-K_\text{SM1,DPF})\int_0^{T_\text{lifetime}}\lambda_\text{SM1}R_\text{SM1}(t)\left\{K_\text{IF,DPF}\lambda_\text{IF}\left(T_\text{lifetime}-t\right)\right\}dt\\ &=&\frac{1}{T_\text{lifetime}}(1-K_\text{SM1,DPF})K_\text{IF,DPF}\int_0^{T_\text{lifetime}}f_\text{SM1}(t)\lambda_\text{IF}\left(T_\text{lifetime}-t\right)dt\\ &\approx&\frac{1}{\bcancel{T_\text{lifetime}}}(1-K_\text{SM1,DPF})K_\text{IF,DPF}\lambda_\text{IF}\lambda_\text{SM1}\left\lbrack T_\text{lifetime}\bcancel{t}-\frac{1}{2}t^\bcancel{2}\right\rbrack_0^{T_\text{lifetime}}\\ &=&\frac{1}{2}K_\text{IF,DPF}(1-K_\text{SM1,DPF})\lambda_\text{IF}\lambda_\text{SM1}T_\text{lifetime}\\ &=&\frac{1}{2}\lambda_\text{SM1,DPF,lat}\lambda_\text{IF,DPF}T_\text{lifetime} \end{eqnarray} \tag{476.6} $$ となります。なお、式変形中に弊社積分公式(471.3)を使用しています。

結果の(476.6)は次の図476.3に引用する規格第2版式のパターン1と正確に一致します。導出のベースがIFUモデルとなっているのが理由です。

図%%.3
図476.3 規格第2版式(パターン1をハイライト)

さらに(476.6)は、次の図476.4に引用する規格初版第1式のパターン1に相当する部分(黄色部分)とも(IF⇒mと読み替えることにより)正確に一致します。導出のベースがIFUモデルとなっているのが理由です。

図%%.4
図476.4 規格初版式第1式(パターン1をハイライト)

なお、本稿はRAMS 2024に投稿予定のため一部を秘匿していますが、論文公開後の2024年2月頃に開示予定です。


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

posted by sakurai on May 12, 2022 #475

パターン2

続いてパターン2です。弊社のやり方はCTMCの原理を用い、時刻$t$におけるDPF確率密度を求め、$0$から$T_\text{lifetime}$まで積分するというものです。

  • Pattern 2: SM1⇒IFの順にフォールトが発生し、SM1のフォールトは、SM2によって緩和され通知される。フォールトの暴露時間は、運転手が修理のために車両を持ち込むのに必要な予想される時間。

これはSM1のフォールトが2nd SMの定期周期$T_\text{service}$により検査され、検出割合は$K_\text{SM,DPF}$でありその全量が修理されるパターンです。時刻$t$までに最初のSM1のフォールトが起き、それ以降$t'(>=t)$がVSGとなる2つ目のIFのフォールトが起きた時刻とします。

図%%.1
図475.1 2nd editionパターン2マルコフ図

同様に、IFのフォールトに関する$t$から$t+\delta t$までのDPF確率密度を求めます。次にサブシステムについて、DPF VSGとなる確率密度を0から$T_\text{lifetime}$まで積分します。

まず、検出される部分のSM1は周期的に修理されるため、SM1の$LAT2$での状態確率は、$u\equiv t\bmod T_\text{service}$とすれば、 $$ \begin{eqnarray} \Pr\{\text{SM1(det) in }LAT2\}&=&\Pr\{\text{SM1 down at }u\cap\text{SM1 fault detected}\}\\ &=&K_\text{SM,DPF}F_\text{SM}(u) \end{eqnarray}\tag{475.1} $$

次にIFの$LAT2$での状態確率は、 $$ \begin{eqnarray} \Pr\{\text{IF in }LAT2\}&=&\Pr\{\text{IF up at }t\cap\text{IF fault prevented}\}\\ &=&\Pr\{\text{IF up at }t\}\Pr\{\text{IF fault prevented}\} =K_\text{IF,DPF}R_\text{IF}(t) \end{eqnarray}\tag{475.2} $$

$LAT2$から$DPF1$への微小時間間隔$\delta t$での遷移確率は、IFがフォールトによりDPFとなる場合であり、 $$ \Pr\{\text{IF down in }(t, t+\delta t] | \text{IF up at }t\}=\lambda_\text{IF}\delta t \tag{475.3} $$ 従って、状態確率(475.2)と遷移確率(475.3)の積をとりIFの$(t,t+\delta t]$における確率密度を求めれば、 $$ \begin{eqnarray} \Pr\{\text{IF in }LAT2&\text{ at }&t\cap\text{IF down in }(t, t+\delta t]\}\\ &=&\Pr\{\text{IF up at }t\cap\text{IF fault prevented}\cap\text{IF down in }(t, t+\delta t]\}\\ &=&\Pr\{\text{IF up at }t\}\Pr\{\text{IF fault prevented}\}\\ &&\cdot\Pr\{\text{IF down in }(t, t+\delta t] | \text{IF up at }t\}\\ &=&K_\text{IF,DPF}R_\text{IF}(t)\lambda_\text{IF}\delta t=K_\text{IF,DPF}f_\text{IF}(t)\delta t \end{eqnarray}\tag{475.4} $$

IFとSM1にはフォールトの生起について独立であるため、各々の確率はかけることができます。よって、 IFの項(475.4)とSM1の項(475.1)の積をとり、$0$から$T_\text{lifetime}$まで積分して時間平均をとると、 $$ \begin{eqnarray} M_\text{PMHF,P2}&=&\frac{1}{T_\text{lifetime}}\int_0^{T_\text{lifetime}}d\!\Pr\{\text{LAT2 at }t\cap\text{IF fault prevented}\\ &&\cap\ \text{IF down in }(t, t+\delta t]\}\\ &=&\frac{1}{T_\text{lifetime}}\int_0^{T_\text{lifetime}}d\!\Pr\{\text{IF up at }t\cap\text{SM1 down at }u\cap\text{SM1 fault detected}\\ &&\cap\ \text{IF fault prevented}\cap\text{IF down in }(t, t+\delta t]\}\\ &=&\frac{1}{T_\text{lifetime}}\int_0^{T_\text{lifetime}}\Pr\{\text{SM1 down at }u\cap\text{SM1 fault detected}\}\\ &&\cdot d\!\Pr\{\text{IF up at }t\cap\text{IF fault prevented}\cap\text{IF down in }(t, t+\delta t]\}\\ &=&\frac{1}{T_\text{lifetime}}\int_0^{T_\text{lifetime}}K_\text{SM,DPF}F_\text{SM}(u)K_\text{IF,DPF}f_\text{IF}(t)dt\\ &\approx&\frac{1}{2}K_\text{IF,DPF}K_\text{SM,DPF}\lambda_\text{IF}\lambda_\text{SM}T_\text{service}\\ &=&\frac{1}{2}\lambda_\text{SM,DPF,det}\lambda_\text{IF,DPF}T_\text{service} \end{eqnarray}\tag{475.5} $$ なお、式変形中に弊社積分公式を使用しています。

(475.5)と、図475.2に引用する規格第2版式のPattern 2を比較すると、規格式の値は不一致となります。

図%%.2
図475.2 規格第2版式

また、(475.5)は図475.3に引用する規格初版式のパターン2に相当する部分と(IF⇒m, $T_\text{service}$⇒$\tau_\text{SM}$と読み替えることにより)正確に一致します。

図%%.3
図475.3 規格初版第1式

規格第2版の式はパターン2がおかしく、SM1の周期的修理性を考慮に入れていません。さらにIFのフォールトの露出時間が$t$から$t+T_\text{service}$となっているため、結果式図475.2は誤っています。

なお、本稿はRAMS 2024に投稿予定のため一部を秘匿していますが、論文公開後の2024年2月頃に開示予定です。


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

posted by sakurai on May 6, 2022 #474

「ISO 26262第2版解説書」(日本規格協会)のPMHF式と別の方法ですが、弊社の方法で計算し直します。弊社のやり方はCTMCの原理を用い、時刻$t$におけるDPF確率密度を求め、$0$から$T_\text{lifetime}$まで積分するというものです。

パターン1

  • Pattern 1: SM1⇒IFの順にフォールトが発生し、SM1のフォールトはSM2によって緩和されるが通知されない、または緩和されない。フォールトの暴露時間は、最悪の場合の暴露時間である車両寿命となる。

パターン1は、SM1のフォールトが2nd SM(SM2)で検出されないため、SM1のフォールト全体に対するパターン1の割合は$1-K_\text{SM,DPF}$となり、マルコフ図は以下のようになります。時刻パラメータ$t$までに最初のSMのフォールトが起き、$t'(\approx t)$がVSGとなる2つ目のIFのフォールトが起きた時刻とします。

図%%.1
図474.1 2nd editionパターン1マルコフ図

PMHFの求め方は、IFのフォールトに関する$t$から$t+\delta t$までのDPF確率密度を求めます。次にサブシステムについて、DPF VSGとなる確率密度を0から$T_\text{lifetime}$まで積分します。

まず、検出されない部分のSM1の$LAT2$での状態確率は、 $$ \begin{eqnarray} \Pr\{\text{SM1(undet) in }LAT2\}&=&\Pr\{\text{SM1 down at }t\cap\text{SM1 fault not detected}\}\\ &=&(1-K_\text{SM,DPF})F_\text{SM}(t) \end{eqnarray}\tag{474.1} $$ 次にIFの$LAT2$での状態確率は、 $$ \begin{eqnarray} \Pr\{\text{IF in }LAT2\}&=&\Pr\{\text{IF up at }t\cap\text{IF fault prevented}\}\\ &=&\Pr\{\text{IF up at }t\}\Pr\{\text{IF fault prevented}\} &=&K_\text{IF,DPF}R_\text{IF}(t) \end{eqnarray}\tag{474.2} $$

$LAT2$から$DPF1$への微小時間間隔$\delta t$での遷移確率は、IFがフォールトによりDPFとなる場合であり、

$$ d\!\Pr\{\text{IF down in }(t, t+\delta t] | \text{IF up at }t\}=\lambda_\text{IF}\delta t \tag{474.3} $$

従って、状態確率(474.2)と遷移確率(474.3)の積をとりIFの$(t, t+\delta t]$における確率密度を求めれば、 $$ \begin{eqnarray} d\!\Pr\{\text{IF in }LAT2&\text{ at }&t\cap\text{IF down in }(t, t+\delta t]\}\\ &=&d\!\Pr\{\text{IF up at }t\cap\text{IF fault prevented}\cap\text{IF down in }(t, t+\delta t]\}\\ &=&\Pr\{\text{IF up at }t\}\Pr\{\text{IF fault prevented}\}\\ &&\cdot d\!\Pr\{\text{IF down in }(t, t+\delta t] | \text{IF up at }t\}\\ &=&K_\text{IF,DPF}R_\text{IF}(t)\lambda_\text{IF}\delta t=K_\text{IF,DPF}f_\text{IF}(t)\delta t \end{eqnarray}\tag{474.4} $$

IFとSM1にはフォールトの生起について独立であるため、各々の確率はかけることができます。よって、 IFの項(474.4)とSM1の項(474.1)の積をとり、$0$から$T_\text{lifetime}$まで積分して時間平均をとると、 $$ \begin{eqnarray} M_\text{PMHF,fsm,P1}&=&\frac{1}{T_\text{lifetime}}\int_0^{T_\text{lifetime}}d\!\Pr\{\text{LAT2 at }t\cap\text{IF fault prevented}\\ &&\cap\ \text{IF down in }(t, t+\delta t]\}\\ &=&\frac{1}{T_\text{lifetime}}\int_0^{T_\text{lifetime}}d\!\Pr\{\text{IF up at }t\cap\text{SM1 down at }t\\ &&\cap\ \text{SM1 fault not detected}\cap\ \text{IF fault prevented}\cap\text{IF down in }(t, t+\delta t]\}\\ &=&\frac{1}{T_\text{lifetime}}\int_0^{T_\text{lifetime}}\Pr\{\text{SM1 down in }[0, t)\cap\text{SM1 fault not detected}\}\\ &&\cdot d\!\Pr\{\text{IF down in }[t, t+\delta t)\cap\text{IF up at }t\cap\text{IF fault prevented}\}\\ &=&\frac{1}{T_\text{lifetime}}\int_0^{T_\text{lifetime}}(1-K_\text{SM,DPF})F_\text{SM}(t)K_\text{IF,DPF}f_\text{IF}(t)dt\\ &\approx&\frac{1}{2}K_\text{IF,DPF}(1-K_\text{SM,DPF})\lambda_\text{IF}\lambda_\text{SM}T_\text{lifetime}\\ &=&\frac{1}{2}\lambda_\text{SM,DPF,lat}\lambda_\text{IF,DPF}T_\text{lifetime} \end{eqnarray}\tag{474.5} $$ なお、式変形中に弊社積分公式を使用しています。

(474.5)は図474.2に引用する規格第2版式のPattern 1と正確に一致します。

図%%.2
図474.2 規格第2版式

さらに(474.5)は、図474.3に引用する規格初版第1式のパターン1に相当する部分(図の黄色部分)とも(IF⇒mと読み替えることにより)正確に一致します。

図%%.3
図474.3 規格初版式第1式

このようにCTMCを用いて、時刻$t$におけるDPF確率密度を0から車両寿命まで積分する方法のほうが、ずっと簡単でわかりやすいです。

なお、本稿はRAMS 2024に投稿予定のため一部を秘匿していますが、論文公開後の2024年2月頃に開示予定です。


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

規格第2版のPMHF式の疑問 (9)

posted by sakurai on April 14, 2022 #473

パターン3, 4

パターン3, 4は計算をするまでもなく、IFとSMの修理性を逆にすれば結果は明らかで、パターン3は1から、パターン4は2から求められます。ただし、パターン1と異なり、パターン3にはSM1によって緩和されない場合は含まないと書かれています。言うまでも無く、IFのフォールトがSM1によって緩和されない場合はRFとなり、DPFとならないためです。

  • Pattern 3: IF⇒SM1の順にフォールトが発生し、IFのフォールトはSM1によって緩和されるが通知されない。フォールトの暴露時間は、最悪の場合の暴露時間である車両寿命となる。
  • Pattern 4: IF⇒SM1の順にフォールトが発生し、IFのフォールトは、SM1によって緩和され通知される。フォールトの暴露時間は、運転手が修理のために車両を持ち込むのに必要な予想される時間。

パターン3及び4の、計算結果式のみを以下に示します。 $$ M_\text{PMHF,P3} =\frac{1}{2}\lambda_\text{IF,DPF,lat}\lambda_\text{SM,DPF}T_\text{lifetime} \tag{473.1} $$ $$ M_\text{PMHF,P4} =\frac{1}{2}\lambda_\text{IF,DPF,det}\lambda_\text{SM,DPF}T_\text{service} \tag{473.2} $$

結論

弊社での計算結果、規格第2版PMHF式はパターン1, 3は結果は正しく(修理性の前提は誤っていますが)、パターン2, 4は前提も結果も誤っていることが確認できました。 図473.1に2nd editionの式を示します。

図%%.1
図473.1 2nd Edition PMHF式

まとめとして以下にパターン1~4として(470.2), (472.2), (473.1), (473.2)の総和を示します。 $$ \begin{eqnarray} M_\text{PMHF,DPF}=\img[-1.35em]{/images/withinseminar.png} \end{eqnarray} \tag{473.3} $$

ただし、両方ともIFまたはSMの片方が非修理系という誤った(?)前提に立っている式となります。本来の2nd editionの式は、IFもSMも修理系であると考えます。これは記事#313等で指摘済みの事項です。

なお、本稿はRAMS 2024に投稿予定のため一部を秘匿していますが、論文公開後の2024年2月頃に開示予定です。


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

規格第2版のPMHF式の疑問 (8)

posted by sakurai on April 12, 2022 #472

パターン2

続いてパターン2です。前稿の続きです。

  • Pattern 2: SM1⇒IFの順にフォールトが発生し、SM1のフォールトは、SM2によって緩和され通知される。フォールトの暴露時間は、運転手が修理のために車両を持ち込むのに必要な予想される時間。

これはSM1のフォールトが2nd SMの定期周期$T_\text{service}$により検査され、検出割合は$K_\text{SM,DPF}$でありその全量が修理されるパターンです。時刻パラメータ$t$が最初のSMのフォールトが起きた時刻、$t'$がVSGとなる2つ目のIFのフォールトが起きた時刻とします。

図%%.1
図472.1 2nd editionパターン2マルコフ図

まずIFについては前稿と同様です。IFの$LAT2S$での状態確率は、 $$ \Pr\{\text{IF in }LAT2S\}=\Pr\{\text{IF up at }t'\cap\text{VSG of IF prevented}\}=K_\text{IF,DPF}R_\text{IF}(t') \tag{472.1} $$ $LAT2S$から$DPF1S$への微小時間での遷移確率は、IFがDPFする場合であり、 $$ \Pr\{\text{IF down in }(t', t'+dt']\ |\ \text{IF up at }t'\cap\text{VSG of IF prevented}\}=\lambda_\text{IF}dt' \tag{472.2} $$

規格のとおりIFの確率を求めるには、IFは時刻$0$から$t'$まではフォールトせず(解説書の$t$は誤り)、かつ、IFに関するDPF確率密度を$t$から$t+T_\text{service}$まで$t'$について積分し、$t$で表します。

実はここに誤りがあり、期間を$t$から$t+T_\text{service}$とすると、SM1⇒IFの順のフォールトだけでなく、その逆順のフォールトも含まれます。

その理由は、パターン2は検出可能部分のSM1のフォールトなので、期間間隔$T_\text{service}$内にDPF、すなわち1つめのSM1のフォールトと2つめのIFのフォールトが両方共起きる必要があります。図472.1の$OPRS$から$LAT2S$、さらに$LAT2S$から$DPFS$までを1回の間隔$T_\text{service}$内で遷移する必要があります。

また、その順序もSM1⇒IFと決まっています。SM1のフォールトが起きた時のIFのフォールト生起確率という条件付き確率であれば良いのですが、そうではなくIFとSM1のフォールト確率は独立とするならば、期間間隔$T_\text{service}$を考えるとSM1⇒IFだけでなくIF⇒SM1も含まれてしまいます。従って、半分の期間間隔$\frac{1}{2}T_\text{service}$を考えるか、または期間間隔$T_\text{service}$での確率を求めて0.5をかけるのが正解です。従って後者をとれば、 $$ \Pr\{\text{IF fails }\bbox[#ffccff,2pt]{\text{last}}\text{ in }[t', t'+T_\text{service}])=\frac{1}{2}\Pr\{\text{IF down in }[t', t'+T_\text{service}]) $$

従って、(472.1)、(472.2)から、IFの後故障確率の$t$の時の値は $$ \require{cancel} \frac{1}{2}K_\text{IF,DPF}\int_t^{t+T_\text{service}}R_\text{IF}(t')\lambda_\text{IF}dt'=\frac{1}{2}K_\text{IF,DPF}\int_t^{t+T_\text{service}}f_\text{IF}(t')dt'\\ =\frac{1}{2}K_\text{IF,DPF}\left[F_\text{IF}(t')\right]^{t+T_\text{service}}_t=\frac{1}{2}K_\text{IF,DPF}\left[F_\text{IF}(t+T_\text{service})-F_\text{IF}(t)\right]\\ \approx\frac{1}{2}K_\text{IF,DPF}\left[\lambda_\text{IF}(\bcancel{t}+T_\text{service}\bcancel{-t})\right]=\frac{1}{2}K_\text{IF,DPF}\lambda_\text{IF}T_\text{service} \tag{472.3} $$

次に、SMの$OPRS$での状態確率は、$u\equiv t\bmod T_\text{service}$とすれば、 $$ \Pr\{\text{SM in }OPRS\}=\Pr\{\text{SM is up at }u\}=R_\text{SM}(u) \tag{472.4} $$

$OPRS$から$LAT2S$への微小時間での遷移確率は、SMがフォールトする場合であり、 $$ \Pr\{\text{SM down in }(u, u+du]\ |\ \text{SM is up at }u\}=K_\text{SM,DPF}\lambda_\text{SM}du \tag{472.5} $$

次にIFとSMのフォールトは独立事象であるため、IFの確率とSMの確率の積をDPF確率として、$0$から$T_\text{lifetime}$まで積分するがSMの確率は周期$T_\text{service}$でゼロとなるため、$T_\text{lifetime}$中には$n\equiv\frac{T_\text{lifetime}}{T_\text{service}}$回存在します。従って(472.3)~(472.5)を用いて、 $$ \require{cancel} M_\text{PMHF,P2}\approx\frac{1}{\bcancel{T_\text{lifetime}}}\frac{\bcancel{T_\text{lifetime}}}{\bcancel{T_\text{service}}}\int_0^{T_\text{service}}K_\text{SM,DPF}R_\text{SM}(u)\lambda_\text{SM}\frac{1}{2}K_\text{IF,DPF}\lambda_\text{IF}\bcancel{T_\text{service}}du\\ =\frac{1}{2}K_\text{SM,DPF}K_\text{IF,DPF}\lambda_\text{IF}\int_0^{T_\text{service}}f_\text{SM}(u)du\\ \approx\frac{1}{2}K_\text{IF,DPF}K_\text{SM,DPF}\lambda_\text{IF}\lambda_\text{SM}T_\text{service}\\ =\frac{1}{2}\lambda_\text{SM,DPF,det}\lambda_\text{IF,DPF}T_\text{service} \tag{472.6} $$

これは図104.2の初版PMHF式(パターン1, 2のみ)の、DPFにおけるパターン2に相当する部分と(IF⇒m, $\tau_\text{SM}$⇒$T_\text{service}$と読み替えることにより)正確に一致します。

図%%.1
図472.2 1st edition規格第1式

なお、本稿はRAMS 2024に投稿予定のため一部を秘匿していますが、論文公開後の2024年2月頃に開示予定です。

ほぼ同様な議論ですが、記事#477に再掲します。


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

規格第2版のPMHF式の疑問 (7)

posted by sakurai on April 11, 2022 #471

「ISO 26262第2版解説書」(日本規格協会)のPMHF式の解読を行います。この記事の続きです。

パターン1

パターン1を規格に従って計算します。

  • Pattern 1: SM1⇒IFの順にフォールトが発生し、SM1のフォールトはSM2によって緩和されるが通知されない、または緩和されない。フォールトの暴露時間は、最悪の場合の暴露時間である車両寿命となる。

規格にはマルコフ図が記載されていないので推測すると、パターン1は、SM1のフォールトが2nd SM(SM2)で検出されないため、SM1のフォールト全体に対するパターン1の割合は$1-K_\text{SM,DPF}$となり、マルコフ図は以下のようになります。時刻パラメータ$t$が最初のSMのフォールトが起きた時刻、$t'$がVSGとなる2つ目のIFのフォールトが起きた時刻とします。

図%%.1
図471.1 2nd editionパターン1マルコフ図

規格によるPMHFの求め方は、
1. 後に起きるIFのフォールトの確率密度を$t$から$T_\text{lifetime}$まで$t'$について積分し$t$で表します。$t'$まではIFはフォールトしないことに注意します。
2, 先に起きるSMのフォールトの確率密度を0から$T_\text{lifetime}$まで$t$について積分します。

まず、IFの$LAT2S$での状態確率は、 $$ \Pr\{\text{IF in }LAT2S\}=\Pr\{\text{IF up at }t'\cap\text{VSG of IF prevented}\}=K_\text{IF,DPF}R_\text{IF}(t') \tag{471.1} $$ $LAT2S$から$DPF1$への微小時間での遷移確率は、IFがDPFする場合であり、 $$ \Pr\{\text{IF down in }(t', t'+dt']\ |\ \text{IF in }LAT2S\}\\ =\Pr\{\text{IF down in }(t', t'+dt']\ |\ \text{IF up at }t'\cap\text{VSG of IF prevented}\}\\ =\Pr\{\text{IF down in }(t', t'+dt']\ |\ \text{IF up at }t'\}=\lambda_\text{IF}dt' \tag{471.2} $$

規格のとおりIFの確率を求めるには、IFは時刻$0$から$t'$まではフォールトせず(解説書の$t$は誤り)、かつ、$t'$から$T_\text{lifetime}$までにフォールトする確率となります。

従って、(471.1)、(471.2)から、IFの後故障の確率を求めると $$ K_\text{IF,DPF}\int_t^{T_\text{lifetime}}R_\text{IF}(t')\lambda_\text{IF}dt'=K_\text{IF,DPF}\int_t^{T_\text{lifetime}}f_\text{IF}(t')dt'\\ =K_\text{IF,DPF}\left[F_\text{IF}(t')\right]^{T_\text{lifetime}}_t=K_\text{IF,DPF}\left[F_\text{IF}(T_\text{lifetime})-F_\text{IF}(t)\right]\\ \approx K_\text{IF,DPF}\lambda_\text{IF}(T_\text{lifetime}-t) \tag{471.3} $$ ところが、解説書パターン1では以下のようになっており、2か所の誤りが存在します。

図%%.2
図471.2 解説書パターン1のIFに関する計算部分

次にSMの$OPRS$での状態確率は、 $$ \Pr\{\text{SM in }OPRS\}=\Pr\{\text{SM is up at }t\}=R_\text{SM}(t) \tag{471.4} $$ $OPRS$から$LAT2S$への微小時間での遷移確率は、SMがフォールトする場合であり、 $$ \Pr\{\text{SM down in }(t, t+dt] | \text{SM is up at }t\}=(1-K_\text{SM,DPF})\lambda_\text{SM}dt \tag{471.5} $$

IFの項とSMの項を$0$から$T_\text{lifetime}$まで積分し時間平均すると、(471.3)~(471.5)を用いて、 $$ \require{cancel} M_\text{PMHF,P1}\approx\frac{1}{T_\text{lifetime}}\int_0^{T_\text{lifetime}}(1-K_\text{SM,DPF})R_\text{SM}(t)\lambda_\text{SM}K_\text{IF,DPF}\lambda_\text{IF}(T_\text{lifetime}-t)dt\\\ \approx\frac{1}{\bcancel{T_\text{lifetime}}}(1-K_\text{SM,DPF})K_\text{IF,DPF}\lambda_\text{IF}\lambda_\text{SM}\left[T_\text{lifetime}\bcancel{t}-\frac{1}{2}t^\bcancel{2}\right]_0^{T_\text{lifetime}}\\ =\frac{1}{2}K_\text{IF,DPF}(1-K_\text{SM,DPF})\lambda_\text{IF}\lambda_\text{SM}T_\text{lifetime}\\ =\frac{1}{2}\lambda_\text{SM,DPF,lat}\lambda_\text{IF,DPF}T_\text{lifetime} \tag{471.6} $$

これは図104.2の初版PMHF式(パターン1, 2のみ)の、DPFにおけるパターン1に相当する部分と(IF⇒mと読み替えることにより)正確に一致します。

図%%.3
図471.3 1st edition規格第1式

なお、本稿はRAMS 2024に投稿予定のため一部を秘匿していますが、論文公開後の2024年2月頃に開示予定です。

ほぼ同様な議論ですが、記事#476に再掲します。


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

posted by sakurai on April 9, 2022 #470

次稿において、規格第2版のやり方に従ってPMHF計算をすると、新たに以下の2つの公式が必要になるので、公式の導出を示します。近似のポリシーは$\lambda$の2乗までを残すものとします。

No.1

$$ \frac{1}{T_\text{lifetime}}\int_0^{T_\text{lifetime}}f_\text{SM}(t)f_\text{IF}(t)dt=\lambda_\text{SM}\lambda_\text{IF} \tag{470.1} $$ 証明:(470.1)に$f_\text{SM}(t)=\lambda_\text{SM}e^{-\lambda_\text{SM}t}$及び、$f_\text{IF}(t)=\lambda_\text{IF}e^{-\lambda_\text{IF}t}$を用いて、 $$ \require{cancel} \text{L.H.S of }(470.1)=\frac{\lambda_\text{SM}\lambda_\text{IF}}{T_\text{lifetime}}\int_0^{T_\text{lifetime}}e^{-(\lambda_\text{SM}+\lambda_\text{IF})t}dt=\frac{\lambda_\text{SM}\lambda_\text{IF}}{T_\text{lifetime}}\left[\frac{1}{\lambda_\text{IF}+\lambda_\text{SM}}e^{-(\lambda_\text{IF}+\lambda_\text{SM})t}\right]^0_{T_\text{lifetime}}\\ =\frac{\lambda_\text{SM}\lambda_\text{IF}}{T_\text{lifetime}(\lambda_\text{IF}+\lambda_\text{SM})}\left(1-e^{-(\lambda_\text{IF}+\lambda_\text{SM})T_\text{lifetime}}\right)\approx\frac{\lambda_\text{SM}\lambda_\text{IF}}{\bcancel{T_\text{lifetime}}\bcancel{(\lambda_\text{IF}+\lambda_\text{SM})}}\bcancel{(\lambda_\text{IF}+\lambda_\text{SM})}\bcancel{T_\text{lifetime}} $$

No.2

$$ \frac{1}{T_\text{lifetime}}\int_0^{T_\text{lifetime}}f_\text{SM}(t)R_\text{IF}(t)F_\text{IF}(t)dt=\frac{1}{2}\lambda_\text{SM}\lambda_\text{IF}T_\text{lifetime} \tag{470.2} $$ 証明:同様に、 $$ \text{L.H.S of }(470.2)=\frac{1}{T_\text{lifetime}}\int_0^{T_\text{lifetime}}\lambda_\text{SM}e^{-\lambda_\text{SM}t}e^{-\lambda_\text{IF}t}(1-e^{-\lambda_\text{IF}t})dt\\ =\frac{\lambda_\text{SM}}{T_\text{lifetime}}\int_0^{T_\text{lifetime}}e^{-(\lambda_\text{SM}+\lambda_\text{IF})t}dt-\frac{\lambda_\text{SM}}{T_\text{lifetime}}\int_0^{T_\text{lifetime}}e^{-(\lambda_\text{SM}+2\lambda_\text{IF})t}dt\\ =\frac{\lambda_\text{SM}}{T_\text{lifetime}}\left[\frac{e^{-(\lambda_\text{SM}+\lambda_\text{IF})t}}{\lambda_\text{SM}+\lambda_\text{IF}}\right]^0_{T_\text{lifetime}}-\frac{\lambda_\text{SM}}{T_\text{lifetime}}\left[\frac{e^{-(\lambda_\text{SM}+2\lambda_\text{IF})t}}{\lambda_\text{SM}+2\lambda_\text{IF}}\right]^0_{T_\text{lifetime}}\\ =\frac{\lambda_\text{SM}}{T_\text{lifetime}(\lambda_\text{SM}+\lambda_\text{IF})}\left(1-e^{-(\lambda_\text{SM}+\lambda_\text{IF})T_\text{lifetime}}\right)-\frac{\lambda_\text{SM}}{T_\text{lifetime}(\lambda_\text{SM}+2\lambda_\text{IF})}\left(1-e^{-(\lambda_\text{SM}+2\lambda_\text{IF})T_\text{lifetime}}\right)\\ \approx\frac{\lambda_\text{SM}}{\bcancel{T_\text{lifetime}}\bcancel{(\lambda_\text{SM}+\lambda_\text{IF})}}\left(\bcancel{(\lambda_\text{SM}+\lambda_\text{IF})}\bcancel{T_\text{lifetime}}-\frac{1}{2}(\lambda_\text{SM}+\lambda_\text{IF})^\bcancel{2} T_\text{lifetime}^\bcancel{2}\right)\\ -\frac{\lambda_\text{SM}}{\bcancel{T_\text{lifetime}}\bcancel{(\lambda_\text{SM}+2\lambda_\text{IF})}}\left(\bcancel{(\lambda_\text{SM}+2\lambda_\text{IF})}\bcancel{T_\text{lifetime}}-\frac{1}{2}(\lambda_\text{SM}+2\lambda_\text{IF})^\bcancel{2} T_\text{lifetime}^\bcancel{2}\right)\\ =\lambda_\text{SM}\left(\bcancel{1}-\frac{1}{2}(\bcancel{\lambda_\text{SM}}+\bcancel{\lambda_\text{IF}})T_\text{lifetime}-\bcancel{1}+\frac{1}{2}(\bcancel{\lambda_\text{SM}}+\bcancel{2}\lambda_\text{IF})T_\text{lifetime}\right)=\frac{1}{2}\lambda_\text{IF}\lambda_\text{SM}T_\text{lifetime} $$ No.1, 2から、以下のような簡便公式が得られます。

$$ \int_0^{T_\text{lifetime}}f(t)dt\approx \lambda\int_0^{T_\text{lifetime}}dt \tag{470.3} $$

$$ \int_0^{T_\text{lifetime}}R(t)dt\approx\int_0^{T_\text{lifetime}}dt \tag{470.4} $$

なお、本稿はRAMS 2024に投稿予定のため一部を秘匿していますが、論文公開後の2024年2月頃に開示予定です。


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

Detectabilityの違い (2)

posted by sakurai on January 31, 2022 #449

ここまでRAMS 2020論文と2022論文をレビューしてきて、ポイントは1st SMと2nd SMのdetectabilityの違いで結果が変わることがわかります。それを以降でまとめます。

RAMS 2020論文

以下の表はRAMS 2020論文において、IFのfaultがSMにより検出されるかどうかを示しています。なお、1st SMのfaultは常にdetectableです。その時のDCは$K_\text{SM,MPF}$。

表449.1 RAMS 2020のDetectabilityの表
IF non-detectable (IFU) Partialy detectable (IFR)
1st SM IF non-detectable ($K_\text{IF,det}=0$)
2nd SM IF non-detectable ($K_\text{IF,MPF}=0$) IF detectable ($K_\text{IF,MPF}>0$)
PMHF equ. RAMS 2020 $(1-K_\text{IF,RF})\lambda_\text{IF}+2K_\text{IF,RF}\alpha$
(19), (221.9), (447.2)
$(1-K_\text{IF,RF})\lambda_\text{IF}+2K_\text{IF,RF}\beta$
(22), (222.9), (447.1)

$K_\text{IF,det}=0$(かつ$K_\text{IF,RF}=1$)のみなので、冗長時のみを考えておりあまり良くありません。$K_\text{IF,det}=1$も考える必要があります。

RAMS 2022論文

さらにRAMS 2022では$K_\text{IF,det}=1$を検討しました。特にMPF detectedを従来のLFと同一視するのではなく、SFとしました。そのためPMHF結果式も変わってきます。

ここで、1st SMがIF detectableであれば、そのDC(カバレージ)は$K_\text{IF,RF}$であり、一般に2nd SMまでは設置しないと思われます。逆に言えば2nd SMが必要なのは、1st SMのDCがゼロの時、つまりIF non-detectable ($K_\text{IF,det}=0)$であり、すなわち1st SMが主機能代替機能を持ついわゆる冗長の場合となります。

表449.2 Detectabilityの表($K_\text{IF,det}=1$を追加)
IF non-detectable (IFU) Partialy detectable (IFR) Fully detectable
1st SM IF non-detectable ($K_\text{IF,det}=0$) IF detectable ($K_\text{IF,det}=1$)
2nd SM IF non-detectable ($K_\text{IF,MPF}=0$) IF detectable ($K_\text{IF,MPF}>0$) -

次に1st SMがIF non-detectable ($K_\text{IF,MPF}=0$)であれば、2nd SMはIFフォールトのレイテント防止のため、なにがしかのDC(検出率、カバレージ)を持つと考えられます。上記表はそのDCがゼロの場合はIFUモデル、ゼロでない場合はIFRモデルとしましたが、そのDCを$K_\text{IF,MPF}$で表し、ゼロの場合と非ゼロの場合をまとめ、かつRAMS 2020及び2022のPMHF式を追加すれば、以下の表となります。

表449.3 DetectabilityとPMHF式の表
Partialy detectable (IFU/IFR) Fully detectable
1st SM IF non-detectable ($K_\text{IF,det}=0$) IF detectable ($K_\text{IF,det}=1$)
2nd SM Partialy detectable ($K_\text{IF,MPF}>=0$) -
PMHF equ. RAMS 2020 $(1-K_\text{IF,RF})\lambda_\text{IF}+2K_\text{IF,RF}\beta$ $(1-K_\text{IF,RF})\lambda_\text{IF}+\color{red}{2}K_\text{IF,RF}\alpha$
PMHF equ. RAMS 2022 $(1-K_\text{IF,RF})\lambda_\text{IF}+K_\text{IF,RF}\alpha$

  • RAMS 2020では$K_\text{IF,det}=0$のみを検討したため、$K_\text{IF,det}=1$は薄墨色としています。
  • 1st SMがfully detectable ($K_\text{IF,det}=1$)において、RAMS 2022のPMHF値のDPF部分が$\frac{1}{2}$になっているのは、RAMS 2022においてMPF detectedの定義を変え、レイテントではなく完全にリペアラブルとしたためです。SMがレイテントになる部分はそのままですが、IFがレイテントになる部分が全て修理されるとしたため、半分になっています。

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

Detectabilityの違い

posted by sakurai on January 26, 2022 #448

$K_\text{IF,det}$の意味

ここで、$K_\text{IF,det}$の意味を考えてみます。

  • $K_\text{IF,det}=0$の時
    1st SMがIFのフォールトをVSGから$K_\text{IF,RF}$分だけpreventしているにも関わらず、1st SMの機能はIFのフォールトを検出しない場合。すなわち、1st SMはIF代替機能を持つはずであり、これは冗長構成と呼ばれる。冗長の場合は$K_\text{IF,RF}=1$となる。従って、$K_\text{IF,det}=0$かつ$K_\text{IF,RF}=1$。
    規格1st editionではこの場合は考慮されていなかったが、2nd editionで考慮されることになった。

  • $K_\text{IF,det}=1$の時
    1st SMがIFのフォールトをVSGから$K_\text{IF,RF}$分だけpreventしており、1st SMの機能はIFのフォールトを検出する場合。その検出率は$K_\text{IF,RF}$であり、すなわち、1st SMはIF代替機能を持たない。
    1st SMがフォールト検出機能を持つため、IFの2nd SMは不要($K_\text{IF,MPF}=0$)。一方、1st SMに対しては2nd SMが必要。これは規格の構造図、すなわち「1st SMがSM1であり2nd SMがSM2である図」に一致する。


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

posted by sakurai on January 12, 2022 #447

RAMS 2020

次にRAMS 2020でのPMHF式を示します。これは規格1st editionのIFUモデルをIFRモデルに拡張したものでした。ただし、表368.1で示せば、SM1 undetectableのみを扱います。従って、RAMS 2022で言う$K_\text{IF,det}=0$の時の式となります。

$$ \begin{eqnarray} \require{cancel} M_\text{PMHF,RAMS2020}&=&M_\text{PMHF,IFR}\\ &=&M_\text{PMHF,RAMS 2022}\lvert_{K_\text{IF,det}=0}\\ &=&(1-K_\text{IF,RF})\lambda_\text{IF}+2K_\mathrm{IF,RF}\beta \end{eqnarray}\tag{447.1} $$ ただし、 $$ \begin{cases} \begin{eqnarray} \alpha&:=&\frac{1}{2}\lambda_{\mathrm{IF}}\lambda_{\mathrm{SM}}[(1-K_{\mathrm{SM,MPF}})T_\text{lifetime}+K_{\mathrm{SM,MPF}}\tau],\\ \beta&:=&\frac{1}{2}\lambda_{\mathrm{IF}}\lambda_{\mathrm{SM}}[(1-K_{\mathrm{MPF}})T_\text{lifetime}+K_{\mathrm{MPF}}\tau],\\ K_{\mathrm{MPF}}&:=&K_{\mathrm{IF,MPF}}+K_{\mathrm{SM,MPF}}-K_{\mathrm{IF,MPF}}K_{\mathrm{SM,MPF}} \end{eqnarray} \end{cases} $$ これは以前の式(222.9)と一致します。

一方、規格1st editionの式はIFUモデルであり、(447.1)において、$K_{\mathrm{IF,MPF}}=0$とおけば、$K_{\mathrm{MPF}}=K_\mathrm{SM,MPF}$であるから、$\beta=\alpha$となり、

$$ \begin{eqnarray} \require{cancel} M_\text{PMHF,1st edition}&=&M_\text{PMHF,IFU}\\ &=&M_\text{PMHF,RAMS 2022}\lvert_{K_\text{IF,det}=0,K_\text{IF,MPF}=0}\\ &=&(1-K_\text{IF,RF})\lambda_\text{IF}+2K_\mathrm{IF,RF}\alpha\\ \end{eqnarray}\tag{447.2} $$ となります。これは2020論文(19)ですが、規格1st editionの第3の式に相当し、(221.9)と同一です。

RAMS 2020では$K_\text{IF,det}=0$の時しか検討しませんでしたが、RAMS 2022のベースである表375.1及びそれに基づくPMHF計算を用いて、$K_\text{IF,det}=1$の時も併せた式を示せば、 $$ \bbox[#ccffff,2pt]{M_\text{PMHF,RAMS2020}=(1-K_\text{IF,RF})\lambda_\text{IF}+ \color{red}{2}K_\text{IF,RF}K_\text{IF,det}\alpha+2K_\text{IF,RF}(1-K_\text{IF,det})\beta}\\ \tag{447.3} $$ となります。RAMS 2022との相違は(447.3)の係数2の違いとなります。


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


ページ: