Posts Tagged with "ISO 26262"

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

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

posted by sakurai on June 9, 2022 #481

ISO 26262規格の疑問

そもそも論ですが、ISO 26262規格第2版の考え方には疑問があり、過去に何度も書いています。記事#68#69#109#130#313#329#344#473。弊社の見方では、

  • 第1版(the first edition, 2011年版)
    SMにはIFの代替機能無し。従ってIFがfailするとSMは機能を代替できないため、その場で故障が起きる。一方SMはフォールトしてもサブシステムは故障しない。すなわち、SMはリペアラブル、IFはアンリペアラブルが前提。

    PMHF式のべースとなるモデルは弊社に依れば図481.1のとおりIFU-SMUモデルとして構成されており、導出されたPMHF結果式は正しい。

    図%%.1
    図481.1 1st edition CTMC
  • 第2版(the second edition, 2018年版)
    SMにはIFの代替機能有り。従ってIFがfailするとSMは機能を代替する。例えば冗長構成が対象。IFもSMもフォールトすると代替機構が働くことにより、サブシステムは故障しない。すなわち、IFもSMもリペアラブルが前提。

    PMHF式のべースとなるモデルは図481.2のとおりIFRモデルとして構成されておらず、IFU-SMUモデルとして構成されている。従って、導出されたPMHF結果式は誤り。さらにPattern 2, 4には計算誤りまで含まれている。

    図%%.2
    図481.2 2nd edition CTMC

2nd editionの誤りは1st editionで用いたIFUモデルを引き続き用いたところにあります。本来は両方のエレメントがリペアラブルでなくてはなりません。ところが、2nd editionでは最初にIFがフォールトするとその後SMはアンリペアラブルとなります。逆に最初にSMがフォールトするとその後IFはアンリペアラブルとなります。つまり、最初にフォールトしたエレメントのみがリペアラブルという前提です。

例えばIFフォールト⇒IFフォールトリペア⇒SMフォールト⇒IFフォールトとなることはできません。(479.1)において、カッコ内の式に $$ \left[\int_t^{T_\text{lifetime}}f_\text{IF}(t')dt'\cdot\color{red}{R_\text{IF}(t)}\right] $$ とあるように、$R_\text{IF}(t)$が意味するところは時刻$t$まではIFは一度もダウンしていないことを表します。これはIFはアンリペアラブルであることを意味します。本来、IFのアベイラビリティである$A_\text{IF}(t)$でなくてはなりません。 従って、サブシステムは図481.3のとおりIFRモデルでなくてはなりません。

図%%.3
図481.3 2nd edition CTMC(本来)

第2版の誤りは、DPFのケース分類をする時に、

 ①IF⇒SM1、もしくは
 ②SM1⇒IF

の2通りしかないとしたところは正しかったのですが、本来は

 ①(IF/SM1のup/downが0回以上起きる)⇒最後から2つ目のフォールトがIF⇒最後のフォールトがSM1、もしくは
 ②(IF/SM1のup/downが0回以上起きる)⇒最後から2つ目のフォールトがSM1⇒最後のフォールトがIF

とすべきところを、なぜか、

 ①最初のフォールトがIF⇒(IFのup/downが0回以上起きる)⇒最後のフォールトがSM1、もしくは
 ②最初のフォールトがSM1⇒(SM1のup/downが0回以上起きる)⇒最後のフォールトがIF

と誤ったところにあると考えます。最初のフォールトが起きるエレメントを決めてしまうと、相手のエレメントフォールトが起きる場合にはDPFになってしまいます。従って相手のエレメントのフォールトは最後に起きるしかありません。従って最後のフォールトが起きる、相手のエレメントは非修理系でなくてはならない過剰な制約がつきます。黄色で示した無視された部分の違いが示すように、本来はIFもSM1も修理系のはずです。

DPF項はPMHF全体に対して3%未満であるという経験からすると、どちらでも良いと考えがちですが、EOTTIにはこのDPFが大きく効いてくるため、無視はできません。弊社の計算では30~40倍もEOTTIが異なるため、規格式による設計では耐故障システムに関しては数十倍の厳しい設計制約となります。

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


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

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

posted by sakurai on June 7, 2022 #480

弊社CTMCベース

一方、弊社の方式ではフォールト生起順序と積分順序は同一です。

図%%.1
図480.1 弊社CTMCベース
図480.1に従い、時刻$t$までのSM1の積分を先に実行し、その後IFの積分を0から車両寿命まで実行すれば、 $$ M_\text{PMHF,fsm,P1}=\frac{K_\text{IF,DPF}}{T_\text{lifetime}}(1-K_\text{SM1,DPF}) \int_0^{T_\text{lifetime}}f_\text{IF}(t)\left[\int_0^{t}f_\text{SM1}(t')dt'\right]dt\\ =\frac{K_\text{IF,DPF}}{T_\text{lifetime}}(1-K_\text{SM1,DPF}) \int_0^{T_\text{lifetime}}F_\text{SM1}(t)f_\text{IF}(t)dt\quad\quad\color{red}{※}\\ \approx\frac{1}{2}K_\text{IF,DPF}(1-K_\text{SM1,DPF})\lambda_\text{IF}\lambda_\text{SM}T_\text{lifetime}\tag{480.1} $$ となり、前稿と同じ値になります。導出には公式(60.6)を使用しました。

CTMC理論

CTMC理論に基づけば、時刻$t$におけるサブシステムのレイテントとなる状態確率は「SM1がdownかつSM2により非検出かつIFがup」であるため、 $$ \Pr\{\text{SM1 down at }t\cap\text{fault not detected}\cap\text{IF up at }t\}=F_\text{SM1,DPF,lat}(t)R_\text{IF}(t)\\ =(1-K_\text{SM1,DPF})F_\text{SM1}(t)R_\text{IF}(t)\tag{480.2} $$ レイテント状態における微小時間間隔$dt$間の遷移確率(条件付き確率)は、公式(66.8)より $$ \require{cancel} \Pr\{\text{IF down in }[t, t+dt)|\bcancel{\text{SM1 down at }t}\cap\text{IF up at }t\}=K_\text{IF,DPF}\lambda_\text{IF}dt\tag{480.3} $$ となります。従って確率は(480.2)と(480.3)の積を$0$から$T_\text{lifetime}$まで積分した $$ K_\text{IF,DPF}(1-K_\text{SM1,DPF})\int_0^{T_\text{lifetime}}F_\text{SM1}(t)R_\text{IF}(t)\cdot\lambda_\text{IF}dt\tag{480.4} $$ となり、(480.1)$\color{red}{※}$で示すパターン1のDPF確率と一致します。

両者の比較

前稿の解説書の方式はフォールトと順序積分順序が逆ではあるものの、図479.1と図480.1を比較すれば、特に大きな問題はなさそうですし実際に結果も一致します。しかしながら、弊社の方式はCTMC理論でも裏付けされており、フォールトと順序積分順序も一致しているため、straight forwardだと考えます。

結論

本来の条件であるIFとSM1の両方がrepairableであるというシンプルな条件と異なるため、誤りではあるものの、規格第2版の前提と想定される、以下のおかしな条件(図313.1)によるPMHF式の導出はこれで完了です。

  • サブシステムはIFとSM1とSM2から構成される。
  • もしSM1のフォールトが最初に起きた場合、SM1はrepairableとなりIFはunrepairableとなる。
      ・SM1のフォールトのSM2により検出されない部分は修理されず、暴露時間は$T_\text{lifetime}$となり、 (Pattern 1)
      ・SM1のフォールトのSM2により検出される部分は修理され、暴露時間は$T_\text{service}$となり、 (Pattern 2)
    暴露時間中における引き続くIFの最初のフォールトでDPFが発生する。⇒IFUモデル
  • もしIFのフォールトが最初に起きた場合、IFはrepairableとなりSM1はunrepairableとなる。
      ・IFのフォールトのSM1により抑止されない部分は修理されず、暴露時間は$T_\text{lifetime}$となり、 (Pattern 3)
      ・IFのフォールトのSM1により抑止される部分は修理され、暴露時間は$T_\text{service}$となり、 (Pattern 4)
    暴露時間中における引き続くSM1の最初のフォールトでDPFが発生する。⇒SMUモデル

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


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

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

posted by sakurai on June 6, 2022 #479

ここまでで規格解説書方式と弊社CTMCベースでは積分順序に違いがあることがわかります。パターン1はフォールトの生起はSM1⇒IFの順であり、かつSM1のフォールトはSM2により検出されず、全量レイテントとなる場合です。表479.1に示すように規格解説書の方式は、積分順序がフォールト生起とは逆順です。

表479.1
パターン1 フォールト
生起順序
積分順序
規格解説書方式 SM1⇒IF IF⇒SM1
弊社CTMC方式 SM1⇒IF

規格解説書方式

規格解説書によればPoF(Probability of Failure)は、 $$ PoF_\text{SM1,lat⇒IF}=\int_0^{T_\text{lifetime}}f_\text{SM1,DPF,lat}(t)\left[\int_t^{T_\text{lifetime}}f_\text{IF,DPF}(t')dt'\cdot R_\text{IF}(t)\right]dt \tag{479.1} $$ と記載されています。その意味は図479.1で示すように、時刻$t$から車両寿命まで、後フォールトであるIFに関する積分を先に実行し、後から先フォールトであるSM1の積分を実行しています。

図%%.1
図479.1 規格解説書方式
2つの定数 $$ \begin{eqnarray}\begin{cases} f_\text{SM1,DPF,lat}(t)=(1-K_\text{SM1,DPF})f_\text{SM1}(t)\\ f_\text{IF,DPF}(t')=K_\text{IF,DPF}f_\text{IF}(t') \end{cases}\end{eqnarray}\tag{479.2} $$ を用いて書き換えます。まず(479.1)を車両寿命で時間平均したものがPMHFであるから $$ M_\text{PMHF,com,P1}=\frac{1}{T_\text{lifetime}}PoF_\text{SM1,lat⇒IF}\\ =\frac{K_\text{IF,DPF}}{T_\text{lifetime}}(1-K_\text{SM1,DPF}) \int_0^{T_\text{lifetime}}f_\text{SM1}(t)\left[\int_t^{T_\text{lifetime}}f_\text{IF}(t')dt'\cdot R_\text{IF}(t)\right]dt \tag{479.3} $$ と書き換えられます。規格解説書の導出において条件付き確率を用いていない誤りがあるため、まずそれを修正した上でPMHF式を導出します。

第1の誤り

(479.3)は[]内のIFについての積分に2か所誤りが有ります。まず、「IFが時刻$t$までup」という条件 $R_\text{IF}(t)$がかけられていますが、IFのフォールト時刻は図479.1より時刻$t'$であるため、IFは$t'$までupでなければなりません。従って、 $$R_\text{IF}(t)⇒R_\text{IF}(t')$$ と修正します。

$R_\text{IF}(t)$を用いることもできますが、さらに「IFが時刻$t$までupという条件下で時刻$t'$までup」という条件付き確率をかける必要があります。そうしないと時刻$t$から$t'$までの変化を無視してしまいます。条件付き確率の公式 $$ \Pr\{A|B\}=\frac{\Pr\{A\cap B\}}{\Pr\{B\}} $$ を用れば、 $$ \require{cancel} \Pr\{\text{IF up at }t\}\cdot\Pr\{\text{IF up at t'}|\text{IF up at }t\}=\bcancel{R_\text{IF}(t)}\cdot \frac{R_\text{IF}(t')}{\bcancel{R_\text{IF}(t)}}=R_\text{IF}(t’) $$ となり、前述のように$R_\text{IF}(t)$⇒$R_\text{IF}(t')$と修正したのと同じことになります。

第2の誤り

2点目は$f_\text{IF}(t')$が誤りです。IFのupとdownの事象は独立ではないので、これは「IFが時刻$t'$までupという条件下で$t'$から$t'+dt'$までの間にIFがフォールトする」という条件付き確率でなければなりません。 そのため、(66.4)の確率密度関数ではなく(66.8)の故障率をかける必要があります。従って、 $$ f_\text{IF}(t')dt'⇒\lambda_\text{IF}dt' $$ と修正します。

パターン1のPMHFの導出

上記の誤り2点を修正すれば(479.3)は、 $$ M_\text{PMHF,com,P1}=\frac{K_\text{IF,DPF}}{T_\text{lifetime}}(1-K_\text{SM1,DPF}) \int_0^{T_\text{lifetime}}f_\text{SM1}(t)\left[\int_t^{T_\text{lifetime}}R_\text{IF}(\color{red}{t'})\cdot\color{red}{\lambda_\text{IF}}dt'\right]dt\\ =\frac{K_\text{IF,DPF}}{T_\text{lifetime}}(1-K_\text{SM1,DPF}) \int_0^{T_\text{lifetime}}f_\text{SM1}(t)\left[\int_t^{T_\text{lifetime}}f_\text{IF}(t')dt'\right]dt\\ =\frac{K_\text{IF,DPF}}{T_\text{lifetime}}(1-K_\text{SM1,DPF}) \int_0^{T_\text{lifetime}}f_\text{SM1}(t)\left[F_\text{IF}(T_\text{lifetime})-F_\text{IF}(t)\right]dt\\ =\frac{K_\text{IF,DPF}}{T_\text{lifetime}}(1-K_\text{SM1,DPF})\left[F_\text{IF}(T_\text{lifetime})F_\text{SM}(T_\text{lifetime})- \int_0^{T_\text{lifetime}}f_\text{SM1}(t)F_\text{IF}(t)dt\right]\quad\quad\color{red}{※}\\ \approx K_\text{IF,DPF}(1-K_\text{SM1,DPF})\left[\lambda_\text{IF}\lambda_\text{SM}T_\text{lifetime}- \frac{1}{T_\text{lifetime}}\int_0^{T_\text{lifetime}}f_\text{SM1}(t)F_\text{IF}(t)dt\right]\\ =\img[-1.35em]{/images/withinseminar.png} \tag{479.4} $$ と求められます。導出には公式(60.6)を使用しました。

若干気持ち悪いのは、フォールト順がSM1⇒IFであるのに対して、積分順序が逆順になっていることです。(479.4)$\color{red}{※}$行を見ても、SM1⇒IFの確率を求めるのにあたり、DPF確率全体$F_\text{IF}(T_\text{lifetime})F_\text{SM}(T_\text{lifetime})$から逆順であるIF⇒SM1の確率を引いており、straight forwardではありません。

本稿では上記2点の誤りを修正しましたが、結果として解説書の方式でも結果は変わりません。従って、これらはマイナーな誤りと判定します。

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


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

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

posted by sakurai on May 31, 2022 #478

パターン1

規格解説書によるPMHF式の導出手法と、弊社による導出手法を比較します。簡単化のため(及びパターン2は解説書は積分範囲に誤りがあるため)、パターン1どうしを比較しそれぞれ規格解説書=com、弊社=fsmとします。

まず、規格解説書パターン1(476.6)は、 $$ \require{color} \definecolor{yellow}{rgb}{1.0,1.0,0.8} \definecolor{lime}{rgb}{0.8,1.0,0.9} \definecolor{water}{rgb}{0.8,0.9,1.0} \definecolor{pink}{rgb}{1.0,0.8,1.0} \definecolor{red}{rgb}{1.0,0.8,0.8} \definecolor{orange}{rgb}{1.0,0.9,0.8} M_\text{PMHF,com,P1}=\frac{1}{T_\text{lifetime}}\int_0^{T_\text{lifetime}}d\!\Pr\{\text{SM1 down in }[t, t+\delta t)\cap\text{SM1 up at }t\\ \cap\colorbox{pink}{$\text{SM1 undetected}$}\}\cdot\colorbox{lime}{$\Pr\{\text{IF up at }t \cap\text{IF fails in }[t, T_\text{lifetime})$}\\ \cap\colorbox{water}{$\text{IF prevented}$}\} \tag{478.1} $$

一方、弊社パターン1(474.5)は、 $$ M_\text{PMHF,fsm,P1}=\frac{1}{T_\text{lifetime}}\int_0^{T_\text{lifetime}}d\!\Pr\{\colorbox{orange}{$\text{LAT2 at }t$}\cap\colorbox{water}{$\text{IF 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\colorbox{orange}{$\text{SM1 down at }t$}\cap\colorbox{pink}{$\text{SM1 not detected}$}\\ \cap\colorbox{water}{$\text{IF prevented}$}\cap\text{IF down in }(t', t'+\delta t']\}\\ =\frac{1}{T_\text{lifetime}}\int_0^{T_\text{lifetime}}\colorbox{orange}{$\Pr\{\text{SM1 fails in }[0, t)$}\cap\colorbox{pink}{$\text{SM1 not detected}$}\}\\ \cdot d\!\Pr\{\text{IF down in }[t', t'+\delta t')\cap\text{IF up at }t'\cap\colorbox{water}{$\text{IF prevented}$}\} \tag{478.2} $$ でした。

ここで、以下(478.3)の2つの確率 $$ \begin{eqnarray}\begin{cases} \Pr\{\colorbox{pink}{$\text{SM1 undetected}$}\}=\colorbox{pink}{$1-K_\text{SM1,DPF}$}\\ \Pr\{\colorbox{water}{$\text{IF prevented}$}\}=\colorbox{water}{$K_\text{IF,DPF}$} \end{cases}\end{eqnarray}\tag{478.3} $$ は定数であることから、この(478.3)を代入すれば、(478.1)は、 $$ (478.1)=M_\text{PMHF,com,P1}=\frac{1}{T_\text{lifetime}}\colorbox{water}{$K_\text{IF,DPF}$}\colorbox{pink}{$(1-K_\text{SM1,DPF})$}\\ \cdot\int_0^{T_\text{lifetime}}d\!\Pr\{\text{SM1 down in }[t, t+\delta t)\cap\text{SM1 up at }t\}\\ \cdot\colorbox{lime}{$\Pr\{\text{IF up at }t'\cap\text{IF fails in }[t, T_\text{lifetime})\}$} \tag{478.4} $$ となり、(478.2)は、 $$ (478.2)=M_\text{PMHF,fsm,P1}=\frac{1}{T_\text{lifetime}}\colorbox{water}{$K_\text{IF,DPF}$}\colorbox{pink}{$(1-K_\text{SM1,DPF})$}\\ \cdot\int_0^{T_\text{lifetime}}\colorbox{orange}{$\Pr\{\text{SM1 fails in }[0, t')\}$}\cdot d\!\Pr\{\text{IF down in }[t', t'+\delta t')\cap\text{IF up at }t'\} \tag{478.5} $$ となります。それぞれに(66.4)を適用すれば、(478.4)は、 $$ (478.4)=M_\text{PMHF,com,P1}=\frac{1}{T_\text{lifetime}}\colorbox{water}{$K_\text{IF,DPF}$}\colorbox{pink}{$(1-K_\text{SM1,DPF})$}\\ \cdot\int_0^{T_\text{lifetime}}f_\text{SM1}(t)\colorbox{lime}{$\Pr\{\text{IF up at }t\cap\text{IF fails in }[t, T_\text{lifetime})\}$}dt\\ =\frac{1}{T_\text{lifetime}}\colorbox{water}{$K_\text{IF,DPF}$}\colorbox{pink}{$(1-K_\text{SM1,DPF})$}\\ \cdot\int_0^{T_\text{lifetime}}f_\text{SM1}(t)\colorbox{lime}{$\left[\Pr\{\text{IF fails in }[0, T_\text{lifetime})\}-\Pr\{\text{IF fails in }[0, t)\}\right]$}dt\\ =\frac{1}{T_\text{lifetime}}\colorbox{water}{$K_\text{IF,DPF}$}\colorbox{pink}{$(1-K_\text{SM1,DPF})$} \int_0^{T_\text{lifetime}}f_\text{SM1}(t)\colorbox{lime}{$\left[F_\text{IF}(T_\text{lifetime})-F_\text{IF}(t)\right]$}dt\\ \tag{478.6} $$ となり、(478.5)は、 $$ (478.5)=M_\text{PMHF,fsm,P1}\\ =\frac{1}{T_\text{lifetime}}\colorbox{water}{$K_\text{IF,DPF}$}\colorbox{pink}{$(1-K_\text{SM1,DPF})$}\int_0^{T_\text{lifetime}}\Pr\{\colorbox{orange}{$\text{SM1 fails in }[0, t')$}\}f_\text{IF}(t')dt'\\ =\frac{1}{T_\text{lifetime}}\colorbox{water}{$K_\text{IF,DPF}$}\colorbox{pink}{$(1- K_\text{SM1,DPF})$}\int_0^{T_\text{lifetime}}\colorbox{orange}{$F_\text{SM1}(t)$}f_\text{IF}(t)dt \tag{478.7} $$ となります。$t'$を$t$に置き換えても値は変わりません。(478.6)も(478.7)も結果式は同一であり、 $$ (478.6)=(478.7)=\frac{1}{2}K_\text{IF,DPF}K_\text{SM,DPF}\lambda_\text{IF}\lambda_\text{SM1}T_\text{service} \tag{478.8} $$ と、このように一致します。従って元の(478.1)と(478.2)は同値であるはずです。

ここで(478.6)、(478.7)のそれぞれの意味を解析してみます。(478.6)の解説書の方法は、

SM1のフォールトの確率密度を、$t$をSM1のフォールト時刻として0から車両寿命まで積分するにあたり、

  1. 0から$t$まではIFが先にフォールトしている場合のIFの先フォールトの確率(=確率密度の積分)
  2. $t$から車両寿命まではSM1が先にフォールトしている場合のIFの後フォールトの確率(=確率密度の積分)

の合計$\colorbox{lime}{$F_\text{IF}(T_\text{lifetime})$}$を求めます。これから1.$\colorbox{lime}{$F_\text{IF}(t)$}$を引けば、結果としてSM1⇒IFの順のDPF確率が求まります。

このようなことをせずにCTMCを用いて(478.7)のとおり、

IFのフォールトの確率密度を、$t'$をIFのフォールト時刻として0から車両寿命まで積分するにあたり、

  1. 0から$t'$まではSM1が先にフォールトしている場合のSM1の先フォールトの確率(=確率密度の積分)

である$\colorbox{orange}{$F_\text{SM1}(t')$}$を先に求めれば、結果としてDPFを単純に求めることができます。時系列的にもSM1⇒IFの順のフォールトなので、最初にSM1のフォールト確率積分をするほうが自然です。

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


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

posted by sakurai on May 24, 2022 #477

パターン2

次にパターン2です。図477.1にISO 26262第2版解説書のパターン2の導出過程を引用します。

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

解説書で示される導出過程の誤り原因は3つあり、前稿(476.3)で指摘した(マイナーな)2つの他、重大な誤りなのがIFのフォールトの積分範囲です。

図477.1によれば、時刻$t$がSM1のフォールト発生時刻、時刻$t'$が引き続くIFのフォールト発生時刻であり、(477.1)に$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 \color{red}{t+T_\text{service}}\quad\quad\color{red}{(誤りであるため注意)} \end{cases} \end{eqnarray}\tag{477.1} $$

IFのフォールトの積分範囲、つまり$t'$の範囲は$t$から$t+T_\text{service}$となっていますが、図477.2のように、$t$が大となっても積分範囲は常に一定値$T_\text{service}$となることが問題です。

図%%.1
図477.2 2nd editionパターン2積分範囲(規格第2版)

なぜなら、SM2によるSM1の検査・修理は、SM1のフォールト時点$t$によらず一定周期$T_\text{service}$で実施されるため、図477.2の方法では$t$に依存して暴露終了時刻がズレていきます。暴露終了時刻が$t$に依存しなければ、本来$t'$が$t$から離れるほど、IFのフォールト発生確率は小さくなるはずです。

区間$(0, T_\text{lifetime}]$中に検査周期である$T_\text{service}$は$n\equiv\frac{T_\text{lifetime}}{T_\text{service}}$個あります。$i$番目の周期は図477.3のように区間$(iT_\text{service},(i+1)T_\text{service}]$で表され、$t'$はその中でのみ積分されます。従って積分範囲は図477.3のようになるべきです。

図%%.2
図477.3 2nd editionパターン2積分範囲(修正版)

従って、$t$と$t'$の制約は(477.2)となります。 $$ \begin{eqnarray} \begin{cases} t: \text{Time of fault of SM1}, 0\le t\le T_\text{lifetime},\ \ s.t.\ \ iT_\text{service}\le t\ \lt(i+1)T_\text{service}\\ t': \text{Time of fault of IF}, t\le t'\le \color{green}{(i+1)T_\text{service}} \end{cases} \end{eqnarray}\tag{477.2} $$

パターン2は、SM2によりSM1のフォールトが検出可能な部分であるため、SM1のフォールトは起きたとしても検査・修理周期内でしかレイテントとなりえません。図477.3のように、$i$番目の検査周期でフォールトが起きたとすれば、$i+1$番目の周期までに修理されることになります。積分範囲はたかだか$T_\text{service}$であり、解説書のように$T_\text{service}$一定値ではありません。

準備ができたので、基本的には規格の流儀で計算しますが、先に誤りを修正します。IFに関する修正点は前稿と同様で、以下の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)及び上記積分範囲の修正を適用し、前稿と同様に(476.4)に対応する式を示せば、 $$ \begin{eqnarray} &&\Pr\{\text{IF is in }LAT2S\cap\text{IF fails in }[t, (i+1)T_\text{service})\}\\ &=&\Pr\{\text{IF up at }t\cap\text{IF prevented}\cap\text{IF fails in }[t, (i+1)T_\text{lifetime})\}\\ &=&\Pr\{\text{IF prevented}\}\int_t^{(i+1)T_\text{lifetime}}d\!\Pr\{\text{IF down in }[t', t'+dt')\cap\text{IF up at }t'\}\\ &=&K_\text{IF, DPF}\int_t^{(i+1)T_\text{service}}d\!\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^{(i+1)T_\text{service}}\lambda_\text{IF}R_\text{IF}(t')dt' =K_\text{IF,DPF}\int_t^{(i+1)T_\text{service}}f_\text{IF}(t')dt'\\ &=&K_\text{IF,DPF}\left\lbrack F_\text{IF}(t')\right\rbrack_t^{(i+1)T_\text{service}} =K_\text{IF,DPF}\left[F_{\text{IF}}((i+1)T_\text{service})-F_\text{IF}(t)\right]\\ &\approx&K_\text{IF,DPF}\lambda_\text{IF}\left((i+1)T_\text{service}-t\right) \end{eqnarray}\tag{477.3} $$ と表せます。前稿で述べたように解説書の2か所の誤りが確認できます。

(477.3)により$t$におけるIFの車両寿命までのフォールト確率を表せました。$t\le t'$の条件下ではSM1とIFのフォールトの生起確率は独立として掛け合わせることができます。従って$t$を周期的な変数$u\equiv t \bmod T_\text{service}$とその逆の関係である$t=iT_\text{service}+u, i=0, 1, 2, ..., n-1$で表せば、パターン2のPMHFは、 $$ \begin{eqnarray}\require{cancel} M_\text{PMHF,P2}&=&\frac{1}{T_\text{lifetime}}\int_0^{T_\text{lifetime}}d\!\Pr\{\text{SM1 down in }[t, t+dt)\cap\text{SM1 detected}\\ &&\cap\ \text{SM1 up at }t\}\cdot\left\{K_\text{IF,DPF}\lambda_\text{IF}\left((i+1)T_\text{service}-t\right)\right\}\\ &=&\frac{1}{T_\text{lifetime}}\Pr\{\text{SM1 detected}\}\sum_{i=0}^{n-1}\int_{iT_\text{service}}^{(i+1)T_\text{service}}d\!\Pr\{\text{SM1 down in }[t, t+dt)\ |\ \\ &&\text{SM1 up at }t\}\Pr\{\text{SM1 up at }t\}\cdot\left\{K_\text{IF,DPF}\lambda_\text{IF}\left((i+1)T_\text{service}-t\right)\right\}\\ &=&\frac{1}{T_\text{lifetime}}K_\text{SM1,DPF}\sum_{i=0}^{n-1}\int_{iT_\text{service}}^{(i+1)T_\text{service}}\lambda_\text{SM1}R_\text{SM1}(t)\\ &&\cdot\left\{K_\text{IF,DPF}\lambda_\text{IF}\left((i+1)T_\text{service}-t\right)\right\}dt \end{eqnarray}\tag{477.4} $$ ここで、等比級数の公式と、$x\ll1$の際のマクローリン近似$e^{-x}\approx1-x$を用いて、 $$ \begin{eqnarray}\require{cancel} &=&\frac{1}{T_\text{lifetime}}n K_\text{SM1,DPF}K_\text{IF,DPF}\int_0^{T_\text{service}}\lambda_\text{SM1}R_\text{SM1}(u)\lambda_\text{IF}\left(T_\text{service}-u\right)du\\ &=&\frac{1}{\bcancel{T_\text{lifetime}}}\frac{\bcancel{T_\text{lifetime}}}{T_\text{service}}K_\text{SM1,DPF}K_\text{IF,DPF}\int_0^{T_\text{service}}f_\text{SM1}(u)\lambda_\text{IF}\left(T_\text{service}-u\right)du\\ &\approx&\frac{1}{\bcancel{T_\text{service}}}K_\text{SM1,DPF}K_\text{IF,DPF}\lambda_\text{IF}\lambda_\text{SM1}\left\lbrack T_\text{service}\bcancel{u}-\frac{1}{2}u^\bcancel{2}\right\rbrack_0^{T_\text{service}}\\ &=&\frac{1}{2}K_\text{IF,DPF}K_\text{SM1,DPF}\lambda_\text{IF}\lambda_\text{SM1}T_\text{service}\\ &=&\frac{1}{2}\lambda_\text{SM1,DPF,det}\lambda_\text{IF,DPF}T_\text{service} \end{eqnarray}\tag{477.5} $$ となります。なお、式変形中に弊社積分公式(471.3)を使用しています。

結果の(477.5)と、次の図477.4に引用する規格第2版式のパターン2を比較すると、規格式の値は2倍大きく、これは前述のとおりIFのフォールトに関する積分範囲が過剰なことに因るものです。

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

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

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

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


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

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に再掲します。


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


ページ: