Posts Tagged with "failure rate"

既に発行済みのブログであっても適宜修正・追加することがあります。
Even in the already published blog, we may modify and add appropriately.

Down rate及びADRの取り下げ

posted by sakurai on July 18, 2019

以前の記事において、

☆(瞬間)ダウン率(Down Rate)

$$ \varphi_{item}(t):=\lim_{dt \to 0}\frac{\Pr\lbrace\mathrm{item\ down\ in\ }(t,t+dt]\ |\ \mathrm{item\ up\ at\ }t\rbrace}{dt}=\frac{q_{item}(t)}{A_{item}(t)} \tag{131.14} $$ 又は、微小ダウン確率形式として、 $$ \varphi_{item}(t)dt=\Pr\lbrace\mathrm{item\ down\ in\ }(t,t+dt]\ |\ \mathrm{item\ up\ at\ } t\rbrace \tag{131.15} $$ 修理系システムで、時刻$t$で稼働している条件において、単位時間あたりに不稼働になる条件付き確率。正確には、時刻$t$から$t+dt$までに不稼働になる条件付き確率を$dt$で割り単位時間あたりとしたもの。conditional failure intensity (条件付き故障強度), Vesely failure rate (Veselyの故障率)。

☆平均ダウン率(Average Down Rate, ADR)

$ADR:=\overline{\varphi_{item}}$の存在を仮定し、$\varphi_{item}(t)A_{item}(t)=q_{item}(t)$、すなわちPUDの両辺を$0$から$T$まで積分すれば、 $$ \int_0^T\overline{\varphi_{item}}A_{item}(t)dt=\int_0^T q_{item}(t)dt \tag{66.16} $$ ここで、$\int_0^T A(t)dt\approx T$を用いれば、 $$ ADR=\overline{\varphi_{item}}\approx\frac{1}{T}\int_0^T q_{item}(t)dt=\frac{1}{T}Q_{item}(T)=\frac{1}{T}\Pr\lbrace\mathrm{item\ down\ at\ }T\rbrace=M_{PMHF} \tag{66.17} $$ これは結果的としてPFHと同じになりますが、FSマイクロではPMHFはADRであると考え、PFHであるとは考えていません。その理由はエンジニアにとって故障率$\lambda$は大変なじみのある値で、それを修理系に拡張したダウン率$\varphi(t)$やその車両寿命における平均値ADRを算出するのが自然ですが、不稼働密度$q(t)$の平均値を算出するのは不合理であるためです。故障確率という意味では、むしろ密度よりもアイテムの車両寿命における不稼働確率$Q(T)$を知りたいところですが、なぜ確率密度の平均値を知りたいのでしょう?

という記述を掲載していましたが、down rate及びADRを取り下げます。なぜなら、down rate$\varphi(t)$が、今回のモデルに限っては、故障率$\lambda$と一致するためです。 $$ \varphi_\text{IF}(t)dt=\Pr\lbrace\mathrm{IF\ down\ in\ }(t,t+dt]\ |\ \mathrm{IF\ up\ at\ } t\rbrace\\ =\frac{\Pr\{\text{IF down in }(t, t+dt]\cap\text{IF up at }t\}}{\Pr\{\text{IF up at }t\}}=\frac{q_\text{IF}(t)}{A_\text{IF}(t)}dt \tag{131.1} $$ ここで、アベイラビリティは、定期診断・修理の場合に限り、 $$ A_\text{IF}(t)=(1-K_\text{IF,MPF})R_\text{IF}(t)+K_\text{IF,MPF}R_\text{IF}(u), \text{ただし}u=t\mod\tau\tag{131.2} $$ $$ q_\text{IF}(t)=(1-K_\text{IF,MPF})f_\text{IF}(t)+K_\text{IF,MPF}f_\text{IF}(u), \text{ただし}u=t\mod\tau\tag{131.3} $$ であり、(131.2)の両辺に$\lambda_\text{IF}$をかければ、(131.3)より、 $$ A_\text{IF}(t)\lambda_\text{IF}=(1-K_\text{IF,MPF})R_\text{IF}(t)\lambda_\text{IF}+K_\text{IF,MPF}R_\text{IF}(u)\lambda_\text{IF}\\ =(1-K_\text{IF,MPF})f_\text{IF}(t)+K_\text{IF,MPF}f_\text{IF}(u)=q_\text{IF}(t)\tag{131.4} $$ よって、(131.1)は、 $$ \require{cancel} \varphi_\text{IF}(t)\cancel{dt}=\frac{q_\text{IF}(t)}{A_\text{IF}(t)}\cancel{dt}=\lambda_\text{IF}\cancel{dt}\tag{131.5} $$ これにより、down rateが定数となってしまうため、ADR(平均down rate)も定数(=故障率)となり、PMHFは故障率そのものということになってしまいます。

従って、PMHFの定義はPFHや$w_{avg}$と同じように、平均PUDとします。PMHFの定義のみの変更であり、式及び論証は変わりません。 $$ M_\text{PMHF}:=\overline{PUD}=\frac{1}{T}\int_0^T q(t)dt=\frac{1}{T}Q(T) $$


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

2nd EditionのPMHF方程式

posted by sakurai on July 17, 2019

2nd EditionのPMHF方程式は前稿のように、

図109.3
図109.3 2nd Editionの規格式

となっており、Pattern 2及び4に関して、0.5がどこにいったかが謎でした。

ところが、2018年にヨーロッパで実施された機能安全ワークショップでのインテルの資料(恐らくDr. Riccard Marianiの資料)に

図%%.1
図130.1 Intelによる2nd Editionの規格式

という式が出ており、無くなったことが謎だった0.5が戻っています。どちらかと言えば、こちらのほうが(少しだけ)正しい式です。

結論としては両者とも誤っているのには違いないのですが、謎の部分が無くなったことで、規格式の誤りが明確になりました。誤りの原因は、初期状態において、IFまたはSMのいずれかがアンリペアラブルと固定している点です。本来は初期状態においてIF、SMの両方ともリペアラブルとしなければなりません。

つまり、図109.3の2nd Editionの規格式の誤りは2か所あると思われます。


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

PMHF計算の簡便法(2)

posted by sakurai on July 15, 2019

前回の前提を変えてみます。2nd Editionと同じ条件で、IFもSMもリペアラブルとします。

ただ、そう簡単でないのは、DPF1の再計算でも記したように、上記にも関わらず、SPFとなる部分はアンリペアラブルのままという点です。フォールトを起こして一発VSGとなる部分は修理が不可であるため、反対にVSG preventable部分のみがリペアラブルとなります。

そのため、前稿と同様に一括で求めようとしてもうまく行きません。

図%%.1
図129.1 VSG条件表(IFのフォールト)

前項の表と異なるのは、前述のように表129.1のVSG prevention=Yesの右半分のみ、IFがリペアラブルとなるためです。従って前稿と異なり、場合分けで求めます。

IFのフォールトによるVSG

まず前提確率を求めるため、IFのフォールトでVSGとなる、$t$におけるSMの条件を考えます。non preventable(=アンリペアラブル)部分とpreventable(=リペアラブル)部分に縦に分解すると、それぞれ、 $$ \begin{cases} \Pr\{\overline{\text{IF preventable}}\}&=1-K_\text{IF,RF}\\ \\ \Pr\{\text{IF preventable}\cap\text{SM down at }t\}&=K_\text{IF,RF}Q_\text{SM}(t)\tag{129.1} \end{cases} $$ となります。

次に遷移確率を求めるため、微小区間$(t, t+dt]$においてIFのフォールトが起きる場合を考えます。この確率を式で表せば、 $$ \Pr\{\text{IF up at }t\cap\text{IF down in }(t, t+dt]\}\tag{129.2} $$ ですが、同様に縦に分解すれば、リペアラブル、アンリペアラブルの場合のそれぞれの遷移確率は、 $$ \begin{cases} \Pr\{\text{(unrepairable)IF up at }t\cap\text{(unrepairable)IF down in }(t, t+dt]\}&=f_\text{IF}(t)dt\\ \\ \Pr\{\text{(repairable)IF up at }t\cap\text{(repairable)IF down in }(t, t+dt]\}&=q_\text{IF}(t)dt\tag{129.3} \end{cases} $$ となります(表129.1の最下段)。

従ってIFのフォールトによるPUDは、前提確率遷移確率の積となるため、それぞれ $$ \begin{cases} PUD_\text{IF,unrepairable}&=(1-K_\text{IF,RF})f_\text{IF}(t)dt\\ \\ PUD_\text{IF,reairable}&=K_\text{IF,RF}Q_\text{SM}(t)q_\text{IF}(t)dt\tag{129.4} \end{cases} $$ となり、IFのフォールトによる平均PUDは $$ \overline{PUD_\text{IF}}=\frac{1}{T_\text{lifetime}}\int_0^{T_\text{lifetime}} \img[-1.35em]{/images/withinseminar.png} \tag{129.5} $$ この後は積分して平均PUDを求めます。

SMのフォールトによるVSG

図%%.1
図129.2 VSG条件表(SMのフォールト)

まず前提確率を求めるため、SMのフォールトでVSGとなる、$t$におけるIFの条件を考えると、 $$ \Pr\{\text{(repairable)IF down at }t\cap\text{IF preventable}\}=K_\text{IF,RF}Q_\text{IF}(t)\tag{129.6} $$ 次に遷移確率を求めるため、微小区間$(t, t+dt]$においてSMのフォールトが起きる場合を考えます。この事象を式で表せば、 $$ \Pr\{\text{SM up at }t\cap\text{SM down in }(t, t+dt]\}=q_\text{SM}(t)dt\tag{129.7} $$ よってSMのフォールトによるPUDは、前提確率遷移確率の積となるため、 $$ PUD_\text{SM}=\Pr\{\text{(repairable)IF down at }t\cap\text{IF preventable}\}\\ \cdot\Pr\{\text{SM up at }t\cap\text{SM down in }(t, t+dt]\}\\ =K_\text{IF,RF}Q_\text{IF}(t)q_\text{SM}(t)dt\tag{129.8} $$ となり、SMのフォールトによる平均PUDは $$ \overline{PUD_\text{SM}}=\frac{1}{T_\text{lifetime}}\int_0^{T_\text{lifetime}} \img[-1.35em]{/images/withinseminar.png} \tag{129.9} $$ この後は積分して平均PUDを求めます。 前回の記事はこちら。


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

PMHF計算の簡便法

posted by sakurai on July 11, 2019

記事#103~#108(暫定的に非公開)のように、マルコフ連鎖図を書き、ひとつずつケース分解して求めるのが一番間違いが無い方法ですが、簡便法を試してみます。ここで簡便法というのは、マルコフ連鎖図を書かずに、時刻$t$におけるIFとSMの状態を別個に考え(結局はマルコフ連鎖図と等価ですが)、時刻$t$から$t+dt$の微小時間間隔でのフォールトについて、サブシステムが故障となる場合を考えます。ここでは1st Editionと同じ条件で、IFがアンリペアラブル、SMがリペアラブルとします。

以下のPUDの導出に際して、前提確率遷移確率に分解して求めます。前提確率とは、時刻$t$において、どの状態になっているかの確率であり、遷移確率とは、微小区間$(t,t+dt]$におけるダウン確率です。今回のモデルでは両者は独立であるため、$\cap$条件は確率の積となります。

IFのフォールトによるVSG

まず前提確率を求めるため、IFのフォールトでVSGとなる、$t$におけるSMの条件を考えるのですが、逆に、IFのフォールトによりVSGとならないのは、表127.1で示すように、「SMが稼働していて、かつそれがVSG抑止する場合」のみです。

図%%.1
図127.1 VSG条件表(IFのフォールト)

よって、その条件の否定がVSG条件なので前提確率式で表せば、 $$ \Pr\{\overline{\text{SM up at }t\cap\text{IF preventable}}\}=1-\Pr\{\text{SM up at }t\}\cdot\Pr\{\text{IF preventable}\}\\ =1-A_\text{SM}(t)K_\text{IF,RF}\tag{127.1} $$

次に遷移確率を求めるため、微小区間$(t, t+dt]$においてIFのフォールトが起きる場合を考えます。この事象を遷移確率式で表せば、 $$ \Pr\{\text{(unrepairable)IF up at }t\cap\text{(unrepairable)IF down in }(t, t+dt]\}=f_\text{IF}(t)dt\tag{127.2} $$ となります。

よってIFのフォールトによるPUDは、前提確率遷移確率の積となるため、 $$ PUD_\text{IF}=\Pr\{\text{(unrepairable)IF up at }t\cap\text{(unrepairable)IF down in }(t, t+dt]\}\\ \cdot\Pr\{\overline{(\text{SM up at }t\cap\text{IF preventable})}\}\\ =\left[1-A_\text{SM}(t)K_\text{IF,RF}\right]f_\text{IF}(t)dt\tag{127.3} $$ となり、IFのフォールトによる平均PUDは $$ \overline{PUD_\text{IF}}=\frac{1}{T_\text{lifetime}}\int_0^{T_\text{lifetime}} \img[-1.35em]{/images/withinseminar.png} \tag{127.4} $$ この後は(62.3)につなげて、積分して平均PUDを求めます。この手法のメリットは、いちいちIFのフォールトによるSPFとDPFを分けて考えずに一度で求められる点です。

SMのフォールトによるVSG

まず前提確率を求めるため、SMのフォールトでVSGとなる、$t$におけるIFの条件を考えると、「IFがダウンしているがVSGとなっていないとき」です。なぜなら、SMのフォールトでVSGとなるのは、SMがSPFを起こせない以上DPFの場合に限られ、かつIFのフォールトによりVSGとなってはIFによるSPFが起きてしまうので、IFのダウンかつVSGでないときに限られます。

図%%.1
図127.2 VSG条件表(SMのフォールト)

よって、VSG条件を前提確率式で表せば、 $$ \Pr\{\text{(unrepairable)IF down at }t\cap\text{IF preventable}\}=F_\text{IF}(t)K_\text{IF,RF}\tag{127.5} $$ 次に遷移確率を求めるため、微小区間$(t, t+dt]$においてSMのフォールトが起きる場合を考えます。これを遷移確率式で表せば、 $$ \Pr\{\text{SM up at }t\cap\text{SM down in }(t, t+dt]\}=q_\text{SM}(t)dt\tag{127.6} $$ よってSMのフォールトによるPUDは、前提確率遷移確率の積となるため、 $$ PUD_\text{SM}=\Pr\{\text{(unrepairable)IF down at }t\cap\text{IF preventable}\}\\ \cdot\Pr\{\text{SM up at }t\cap\text{SM down in }(t, t+dt]\}\\ =K_\text{IF,RF}F_\text{IF}(t)q_\text{SM}(t)dt\tag{127.7} $$ となり、SMのフォールトによる平均PUDは $$ \overline{PUD_\text{SM}}=\frac{1}{T_\text{lifetime}}\int_0^{T_\text{lifetime}} \img[-1.35em]{/images/withinseminar.png} \tag{127.8} $$ この後は(65.1)につなげて、積分して平均PUDを求めます。 次回の記事はこちら。

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

posted by sakurai on July 9, 2019

さて、前稿平均PUD計算は簡易的に、冗長システムの確率の1/2として求めましたが、厳密には、

例えば全ての部品を二重化しておき、片方が壊れてももう片方がそれを引き継ぐことができる

という、スタンバイシステムについて平均PUD計算する必要があります。常に両方が稼働する冗長(2重化)と異なり、主系がフォールトしたときに初めて従系が稼働するものです。

IF、SM1からなるサブシステムがあり、IF、SM1の両方ともアンリペアラブルだとします。それぞれの故障率は、$\lambda_\text{IF}$及び$\lambda_\text{SM}$とします。上記のように、IFもSM1も$t=0$から同時に動作している冗長系ではなく、時刻$t$において主系であるIFがダウンし、即座にスタンバイ系であるSM1が引き続いて動作するものとします。

すると、車両寿命$T_\text{lifetime}$における信頼度は、IFが$T_\text{lifetime}$までにダウンしないか、あるいは、途中の時刻$t$でダウンしたとしても、そこからSM1が$T_\text{lifetime}$までダウンせずに稼働する確率なので、

$$ R_\text{subsystem}(T_\text{lifetime})=\Pr\{\text{IF not failed at }T_\text{lifetime}\}\\ +\int_0^{T_\text{lifetime}}\Pr\{\text{IF fails in }(t + dt]\cap\text{IF not failed at }t\cap\text{SM not failed in }(T_\text{lifetime}-t]\}\\ =R_\text{IF}(T_\text{lifetime})+\int_0^{T_\text{lifetime}}R_\text{SM}(T_\text{lifetime}-t)f_\text{IF}(t)dt\\ =R_\text{IF}(T_\text{lifetime})+\int_0^{T_\text{lifetime}}e^{-\lambda_\text{SM}(T_\text{lifetime}-t)}\lambda_\text{IF}e^{-\lambda_\text{IF}t}dt\\ =R_\text{IF}(T_\text{lifetime})+\lambda_\text{IF}e^{-\lambda_\text{SM}T_\text{lifetime}}\int_0^{T_\text{lifetime}}e^{-(\lambda_\text{IF}-\lambda_\text{SM})t} dt\\ =R_\text{IF}(T_\text{lifetime})+\lambda_\text{IF}e^{-\lambda_\text{SM}T_\text{lifetime}}\left[\frac{e^{-(\lambda_\text{IF}-\lambda_\text{SM})t}}{-(\lambda_\text{IF}-\lambda_\text{SM})}\right]_0^{T_\text{lifetime}}\\ =R_\text{IF}(T_\text{lifetime})+\lambda_\text{IF}e^{-\lambda_\text{SM}T_\text{lifetime}}\left[\frac{1-e^{-(\lambda_\text{IF}-\lambda_\text{SM})T_\text{lifetime}}}{\lambda_\text{IF}-\lambda_\text{SM}}\right]\\ =R_\text{IF}(T_\text{lifetime})+\frac{\lambda_\text{IF}}{\lambda_\text{IF}-\lambda_\text{SM}}(e^{-\lambda_\text{SM}T_\text{lifetime}}-e^{-\lambda_\text{IF}T_\text{lifetime}})\\ =\img[-1.35em]{/images/withinseminar.png}, \text{ただし、}\lambda_\text{IF}\neq\lambda_\text{SM} \tag{126.1} $$

平均PUDを求めるには不信頼度の時間平均が知りたいので、$\lambda t\ll 1$の前提で$R(t)=e^{-\lambda t}\approx1-\lambda t+\frac{1}{2}\lambda^2 t^2$と、2次項までMaclaurin展開し、平均PUDを求めると、 $$ \require{cancel} \overline{PUD}=\frac{1}{T_\text{lifetime}}F_\text{subsystem}(T_\text{lifetime})=\frac{1}{T_\text{lifetime}}\left[1-R_\text{subsystem}(T_\text{lifetime})\right]\\ \approx\frac{1}{\bcancel{T_\text{lifetime}}}\left[\bcancel{1}-(\bcancel{1}-\lambda_\text{IF}\bcancel{T_\text{lifetime}}+\frac{1}{2}{\lambda_\text{IF}}^2 {T_\text{lifetime}}^\bcancel{2})\right]\\ -\frac{1}{\bcancel{T_\text{lifetime}}}\frac{\lambda_\text{IF}}{\lambda_\text{IF}-\lambda_\text{SM}}\left[ (\bcancel{1}-\lambda_\text{SM}\bcancel{T_\text{lifetime}}+\frac{1}{2}{\lambda_\text{SM}}^2 {T_\text{lifetime}}^\bcancel{2})\\ -(\bcancel{1}-\lambda_\text{IF}\bcancel{T_\text{lifetime}}+\frac{1}{2}{\lambda_\text{IF}}^2 {T_\text{lifetime}}^\bcancel{2})\right]\\ =(\lambda_\text{IF}-\frac{1}{2}{\lambda_\text{IF}}^2 T_\text{lifetime})-\frac{\lambda_\text{IF}}{\bcancel{\lambda_\text{IF}-\lambda_\text{SM}}}\left[(\bcancel{\lambda_\text{IF}-\lambda_\text{SM}})-\frac{1}{2}T_\text{lifetime}(\bcancel{\lambda_\text{IF}-\lambda_\text{SM}})(\lambda_\text{IF}+\lambda_\text{SM})\right]\\ =(\bcancel{\lambda_\text{IF}}-\bcancel{\frac{1}{2}{\lambda_\text{IF}}^2 T_\text{lifetime}})-\lambda_\text{IF}\left[\bcancel{1}-\frac{1}{2}T_\text{lifetime}(\bcancel{\lambda_\text{IF}}+\lambda_\text{SM})\right]\\ =\img[-1.35em]{/images/withinseminar.png} \tag{126.2} $$ 以上から、前稿の2重化での簡易計算と完全一致します。


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

あるWebの記事について(2)

posted by sakurai on July 8, 2019

同じ記事のPMHFについても怪しいところがあります。

まずPMHFそのものは単純で故障する頻度そのものである。ただ実際には1億回あたり1回未満というのはかなり難しい。一般にエレクトロニクス業界で使われている故障頻度には「FIT」(Failure in Time:10億時間あたりに発生する故障回数)と呼ばれるものがあるが、自動車向けのMCUなどではどんなに少ないものでも20FIT(10億時間あたり20回)といわれており、このままでは10^-8/hを満たせない。 ただ、PMHFは、ある特定の回路そのものの故障頻度ではなく、システム全体の故障頻度と見なすこともできる。例えば全ての部品を二重化しておき、片方が壊れてももう片方がそれを引き継ぐことができるとすれば、トータルとしての故障頻度は10FITに減る計算になり、これでASIL DのPFHFの目標をクリアできることになるからだ。

要約すれば、主系とバックアップ系が、それぞれ20FITの故障率を持つ2重化システムがあるとき、「トータルとしての故障頻度」が10FITになるということのようです。

実際には「トータルとしての故障頻度」はDPF(Dual Point Failure)の時であるから、車両寿命を$T_\text{lifetime}$として単純な確率計算では、 $$ \Pr\{\text{DPF}\}=\Pr\{\text{Channel 1 failed}\cap\text{Channel 2 failed}\} =\Pr\{\text{Channel 1 failed}\}\Pr\{\text{Channel 2 failed}\}\\ =(\lambda_\text{IF}T_\text{lifetime})(\lambda_\text{SM}T_\text{lifetime}) =(10\times 10^{-9})^2{T_\text{lifetime}}^2=1\times 10^{-16}{T_\text{lifetime}}^2 $$ となります。

この確率には主系⇒バックアップ系のフェイルオーバーだけでなく、その逆の場合も含まれるので、フェイルオーバーの場合の平均PUDを求めると、この1/2を$T_\text{lifetime}$で割った値となります。 $$ \overline{PUD}=\frac{1}{2}\lambda_\text{IF}\lambda_\text{SM}T_\text{lifetime} $$

この値は、車両寿命がいくら大きくても10FITにはなりません。例えば車両寿命が10万時間の場合の平均PUDは、 $$ \overline{PUD}=\frac{1}{2}\lambda_\text{IF}\lambda_\text{SM}T_\text{lifetime}=0.5\times 10^{-16}\cdot 1\times 10^{5}=0.005[FIT] $$ となります。逆にこれが10FITだとすると、車両寿命は5,708年というあり得ない値となってしまいます。

誤りの原因は2重化の場合の確率計算を引き算にしてしまったところにあります。本来は2重化システムにおいては、主系に故障があっても、バックアップ系が動作するフォールトトレラント性があるため、引き続いてバックアップ系にもフォールトが起きないとシステムの故障とはなりません。従って、確率計算としてはいずれかにフォールトが起こる足し算ではなく、両方にフォールトが起こる掛け算とすべきです。

以前の記事のように、レアイベント近似を用いれば、直列系は確率の足し算、並列系は確率の掛け算となります。従って、直列系であればむしろ、20FIT+20FIT=40FITと増えてしまうので、故障率低減効果がありません。従って表記の記事は2重に(並列系を直列系に、加算を減算に)誤っていることになります。


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

LFMの導出

posted by sakurai on July 4, 2019

LFMの導出

LFM、$M_{\mathrm{LFM}}$に関する規格式を引用し、これを導出します。

図%%.1
図123.1 LFM規格式

前項と同様な論証を行います。まずレイテントフォールト(LF)の故障率の計算式を見てみます。

故障分類フローで説明したように、レイテントフォールトとなるのは2とおり存在します。

  • 主機能のフォールトのSG侵害が1st SMにより抑止されている場合に、2nd SMで検出できない場合
  • SMのフォールト(これはSG侵害が起こらない)が2nd SMで検出できない場合

よって、安全関連に関する故障モードが$n$個ある場合に、i番目のLFの故障率$\lambda_{\mathrm{LF,}i}$の定義式は、存在しない$\lambda_i$に対しては0を返すものとすれば、

$$ \lambda_{\mathrm{LF,}i}:=DC_i\lambda_{\mathrm{IF,}i}(1-DC2_i)+\lambda_{\mathrm{SM,}i}(1-DC2_i)=\{DC_i\lambda_{\mathrm{IF,}i}+\lambda_{\mathrm{SM,}i}\}(1-DC2_i), \\ i=1, 2, ..., n\tag{123.1} $$ と表せます。この$DC2_i$はKパラメータで書けば、 $$ DC2_i=K_{\mathrm{IF,FMC,MPF,}i}, もしくは K_{\mathrm{SM,FMC,MPF,}i} $$ で、2nd SMがIFもしくはSMに対して、故障検出する割合を表します。(123.1)の両辺の総和を取れば、 $$ \sum_{i=1}^n\lambda_{\mathrm{LF,}i}=\sum_{i=1}^n(DC_i\lambda_{\mathrm{IF,}i}+\lambda_{\mathrm{SM,}i})(1-DC2_i)\\ =\sum_{i=1}^n(DC_i\lambda_{\mathrm{IF,}i}+\lambda_{\mathrm{SM,}i})-\sum_{i=1}^n(DC_i\lambda_{\mathrm{IF,}i}+\lambda_{\mathrm{SM,}i})DC2_i \tag{123.2} $$ よって、$\sum_{i=1}^n(DC_i\lambda_{\mathrm{IF,}i}+\lambda_{\mathrm{SM,}i})$及び$\sum_{i=1}^n(DC_i\lambda_{\mathrm{IF,}i}+\lambda_{\mathrm{SM,}i})DC2_i$を移項し、 $$ \sum_{i=1}^n(DC_i\lambda_{\mathrm{IF,}i}+\lambda_{\mathrm{SM,}i})DC2_i=\sum_{i=1}^n(DC_i\lambda_{\mathrm{IF,}i}+\lambda_{\mathrm{SM,}i})-\sum_{i=1}^n\lambda_{\mathrm{LF,}i} \tag{123.3} $$ ここで、DC2の、各々の故障率による加重平均を(123.4)のように定義し、(123.3)を(123.4)の分子に代入すれば、 $$ \overline{DC2}:=\frac{\sum_{i=1}^n(DC_i\lambda_{\mathrm{IF,}i}+\lambda_{\mathrm{SM,}i})DC2_i}{\sum_{i=1}^n(DC_i\lambda_{\mathrm{IF,}i}+\lambda_{\mathrm{SM,}i})} =\frac{\sum_{i=1}^n(DC_i\lambda_{\mathrm{IF,}i}+\lambda_{\mathrm{SM,}i})-\sum_{i=1}^n\lambda_{\mathrm{LF,}i}}{\sum_{i=1}^n(DC_i\lambda_{\mathrm{IF,}i}+\lambda_{\mathrm{SM,}i})}\\ =1-\frac{\sum_{i=1}^n\lambda_{\mathrm{LF,}i}}{\sum_{i=1}^n(DC_i\lambda_{\mathrm{IF,}i}+\lambda_{\mathrm{SM,}i})} \tag{123.4} $$ ここで、$DC_i\lambda_{\mathrm{IF,}i}=\lambda_{\mathrm{IF,}i}-\lambda_{\mathrm{RF,}i}$を代入すれば、(123.4)は $$ (123.4)=1-\frac{\sum_{i=1}^n\lambda_{\mathrm{LF,}i}}{\sum_{i=1}^n(\lambda_{\mathrm{IF,}i}-\lambda_{\mathrm{RF,}i}+\lambda_{\mathrm{SM,}i})}=1-\frac{\sum_{i=1}^n\lambda_{\mathrm{LF,}i}}{\sum_{i=1}^n(\lambda_i-\lambda_{\mathrm{RF,}i})}\tag{123.5} $$

これと(C.8)を比較すれば、$\img[-1.35em]{/images/withinseminar.png}$


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

SPFMとLFMの導出

posted by sakurai on July 2, 2019

SPFMの導出

SPFM、$M_{\mathrm{SPFM}}$に関する規格式を引用し、これを導出します。

図%%.1
図122.1 SPFM規格式

まずレシデュアルフォールト(RF)の故障率の計算式を見てみます。ここでシングルポイントフォールト(SPF)を狭義に使えば、RFのうち、ダイアグノスティックカバレージ(DC)がゼロの時にSPFと等価であるため、SPFもRFも(広義の)RFとして表せることになります。つまり上式分子の$\lambda_{\mathrm{SPF}}+\lambda_{\mathrm{RF}}$は、DC=0の場合を含み、$\lambda_{\mathrm{RF}}$と簡単化できます。

さて、安全関連に関する故障モードが$n$個ある場合に、i番目の(広義の)RFの故障率$\lambda_{\mathrm{RF,}i}$式は、 $$ \lambda_{\mathrm{RF,}i}:=\lambda_{\mathrm{IF,}i}(1-DC_{i})\tag{122.1} $$ と定義されます。この$DC_i$はKパラメータで書けば、 $$ DC_i=K_{\mathrm{IF,FMC,RF,}i} $$ で、1st SMがIFに対して、SG侵害を抑止する割合を表します。(122.1)の両辺の総和を取れば、 $$ \sum_{i=1}^n\lambda_{\mathrm{RF,}i}=\sum_{i=1}^n\lambda_{\mathrm{IF,}i}(1-DC_{i}) =\sum_{i=1}^n\lambda_{\mathrm{IF,}i}-\sum_{i=1}^n\lambda_{\mathrm{IF,}i}DC_{i} \tag{122.2} $$ よって、 $$ \sum_{i=1}^n\lambda_{\mathrm{IF,}i}DC_{i}=\sum_{i=1}^n\lambda_{\mathrm{IF,}i}-\sum_{i=1}^n\lambda_{\mathrm{RF,}i} \tag{122.3} $$ ここで、DCの、各々の故障率による加重平均を(122.4)のように定義し、(122.3)を(122.4)の分子に代入すれば、 $$ \overline{DC}:=\frac{\sum_{i=1}^n\lambda_{\mathrm{IF,}i}DC_i}{\sum_{i=1}^n\lambda_{\mathrm{IF,}i}} =\frac{\sum_{i=1}^n\lambda_{\mathrm{IF,}i}-\sum_{i=1}^n\lambda_{\mathrm{RF,}i}}{\sum_{i=1}^n\lambda_{\mathrm{IF,}i}} =1-\frac{\sum_{i=1}^n\lambda_{\mathrm{RF,}i}}{\sum_{i=1}^n\lambda_{\mathrm{IF,}i}}\\ =1-\frac{\sum_{i=1}^n\lambda_{\mathrm{RF,}i}}{\sum_{i=1}^n(\lambda_i-\lambda_{\mathrm{SM,},i})} \tag{122.4} $$ これと(C.7)を比較すれば、$\lambda\gg\lambda_{\mathrm{SM}}$である場合は、 $$ M_{\mathrm{SPFM}}\approx\overline{DC} $$ となるため、SPFMは1st SMの平均のDCで近似されると考えられます。逆に、$\img[-1.35em]{/images/withinseminar.png}$


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

8.3.1 マイコンの取り扱い他

posted by sakurai on June 28, 2019

8.3.1 マイコンの取り扱い

1st EditionではPart 10が主にISO 26262を半導体に適用する場合のガイドラインであったため、マイコンの取り扱いはPart 10に存在しましたが、2nd Editionになって、Part 10は全般的なガイドラインとなり、Part 11としてISO 26262を半導体に適用する場合のガイドラインが新設されたため、ISO 26262をマイコンに適用する場合の話題がPart 11に移動しました。

8.3.2 PMHF式

PMHF式については説明が追加されました。しかしながら、導出過程や導出前提を明らかにしたものではありません。また、式自体にも疑義があります。弊社ではPMHFを1st Edition発効から8年間に渡って研究しており、その結果としてIEEE最優秀論文賞を得ることができました。この論文は1st Editionの式を対象としていますが、新たに2nd Editonで式が変更されたため、それに基づく論文をIEEEに投稿中です。従って、式の導出を含めた詳細は $\img[-1.35em]{/images/withinseminar.png}$

12 システム開発のガイダンス

1st Editionの思想から拡張されているフォールトトレランス(耐故障性)についてまとめられた節が新設されました。1st Editionの思想は、とにかくフォールトが発生した場合にはFTTI中にシステムを安全状態に持っていけば、それでハザードが回避できるため、OKでした。

ところが、例えば高速道路の追い越し車線を120KM/hで走行中にフォールトを検出し、いくら安全状態だからといって、その場で車両を停止させてしまうと、これはかなり危険な状態であることが容易に想像できます。このような場合は可能な限り左端の路側帯に寄せて停車するか、もしくは次の出口や安全な場所まで走行したいはずです。

本節ではこのような要求に対して解答を与えるものとなっており、基本的なアーキテクチャはIFに対するSM1としてバックアップ系を想定しています。例えば、IFについてASIL-Dを割り当てている時に、当然その平均PUDは10[FIT]未満となりますが、故障したときには安全状態で停止するのではなく、動作し続けることがフォールトトレラントのために必要です。しかしながら、その場合にもASIL-Dを要求するものではありません。例えば、バックアップ系の時速がある速度より遅ければASIL-Bとすることができます。すると、速度は遅くても修理工場まで走行することが可能です。

本節には2とおり例示されており、緊急動作時間(EOTTI)以内に修理するか、上記のようにバックアップ系に切り替われば良いことになります。問題はEOTTIがあまりにも短い場合(例えば1sec未満)は修理工場に行くことができないので、その計算が必要となります。それが12.3.1.1に示されています。

次の図120.1の(2)は前記事にも掲載されている、2nd EditionのPMHF式(図109.3)の$T_\mathrm{service}$を$T_\mathrm{eotti}$と置き、$T_\mathrm{eotti}$について解いた式となっています。

図%%.1
図120.1 PMHF式に基づくEOTTIの導出

一方、次の図120.2の(3)は、ワースト時を想定しているようです。バックアップ系がEOTTI時間走行する状態での故障確率式です。

図%%.2
図120.2 車両寿命間の故障に基づくEOTTIの導出

いずれの式にも問題がありそうなので、次項で説明します。


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

PMHFのバジェッティング

posted by sakurai on June 22, 2019

Annex G

これも2nd Editionで新設されたAnnexですが、PMHFのバジェッティングについて記述されています。といっても従来からバジェッティングは現場では実施されていました。それと規格の意図するところは若干異なるようです。

従来のバジェッティング

まず1st Editionで実施されていたバジェッティングは、Part5 9.4.2.2 表6で規定される、PMHF目標値を分割するものでした。例えば、あるアイテムがASIL-Dの要求に基づき、アイテムにASIL-Dを割り当てます。ここで注意すべきは、エレメントには当初はASILは存在せず、あくまで要求の属性としてのASILが存在することです。エレメントには様々な安全目標によって、様々な要求が割り当てられますが、その中の最高レベルのASILにより、エレメントのASILが規定されます。

例えば、アイテムが3つのエレメントに分割され、それぞれ別のサプライヤによって開発される場合には、どうしてもそれぞれのサプライヤに対して、PMHF目標値を設定する必要があります。これを従来はバジェッティングと呼んでいました。アイテムで10FITの予算(バジェット)があり、それを配分するイメージとなります。例えば3つずつであれば、3.3FITずつ割り当てることができます。

図%%.1
図116.1 1st EditionのPMHFバジェッティング

2nd Editionのバジェッティング

規格でバジェットの単語が出てくるのはPart5 9.4.2.3の中です。9.4.2.3は上記の予算配分(分割)と言うよりも、多重割り当てと言ったほうがふさわしい節です。その理由は9.4.2.3は、上記のようにASIL-Dの目標をエレメントの数で分割するのではなく、比較的大きなシステム、例えばADASのように、物標認識システム、ブレーキ制御システム、エンジン制御システム等のように、それだけで従来はアイテムレベルであったシステムを複数組み合わせた場合のPMHFの考え方を表すものだからです。そしてその場合は、それぞれのシステムにASILを割り当て、10個までは組み合わせて良いと規定しています。例えばASIL-Dのシステムを10個までならぎりぎり目標が10倍となり10倍を超えませんが、10倍を超える目標値を設定することは許されていません。

図%%.2
図116.2 2nd EditionのPMHFバジェッティング


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


ページ: