Posts Issued in April, 2022

規格第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月頃に開示予定です。


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