Posts Issued in September, 2018

posted by sakurai on September 30, 2018

主機能フォールトによるVSGの場合のPMHF計算

前稿で目的の微小不稼働確率が求められたので、主機能フォールトに関するPMHFこと時間平均PUDを計算します。(61.5)(62.3)を適用し、(60.6)及び(60.8)を適用すれば、PMHFの式は、 $$ M_{PMHF,M}=\overline{\varphi_{M}}\approx(1-K_{M,FMC,RF})\lambda_M\\ +\frac{1}{2}K_{M,FMC,RF}\lambda_M\lambda_{SM}[(1-K_{SM,FMC,MPF})T_{lifetime}+K_{SM,FMC,MPF}\tau_{SM}]\\ =\lambda_{M,RF}+\frac{1}{2}\lambda_{M,DPF}(\lambda_{SM,DPF,lat}T_{lifetime}+\lambda_{SM,DPF,det}\tau_{SM})\tag{63.1} $$ となり、これはPart10 8.3.3PMHF規格第1式の

図%%.1
図63.1 Part10 8.3.3 PMHF規格 第1式

正確に一致します。ただし、条件に「安全機構に続いて指令ブロックの故障が引き起こされる可能性を考慮した」とあり、「SMのフォールトの後に主機能がフォールトする場合」と読めますが、以前PMHFの意味でも述べたように、(訳文ではなく)原文の誤りと思われます。その理由は、SMがフォールトしている場合は主機能フォールト抑止ができず、従って$\lambda_{RF}$とはならないからです。残余故障率が存在するためには、SMが稼働している必要があります。さらに、この場合、probabilityの訳語としては可能性よりも数学用語である確率のほうが適当です。

正しくは前項までに見たように、OPR→SPF(安全機構のフォールトが無い状態で主機能フォールトの場合)及びLAT2→DPF(規格の条件どおり、安全機構に続く主機能のフォールトの場合)の2条件の和となります。つまり規格第1式は、安全機構のフォールトの有無を問わない、主機能フォールトによるVSG確率を意味しています。

順番については表で表した方が分かりやすいため、以下に4つのケースを示します。

表63.1 主機能と安全機構のフォールト順番
第1のフォールト 第2のフォールト VSG
Case 1 M - 〇(SPF/RF)
Case 2 M SM 〇(DPF)
Case 3 SM - ×
Case 4 SM M 〇(DPF)

規格第1式の条件である、「SMのフォールトの後に主機能がフォールトする場合」はCase 4のみを意味していますが、実際には数式は、主機能フォールトによるVSG確率、つまりCase 1とCase 4の場合の両方を意味しています。直観的にも理解されるように、 $$M_{PMHF,M}=\lambda_{M,RF}+\frac{1}{2}\lambda_{M,DPF}(\lambda_{SM,DPF,lat}T_{lifetime}+\lambda_{SM,DPF,det}\tau_{SM})\tag{63.1再掲}$$ の第1項がCase 1を、$\frac{1}{2}$以降の第2項がCase 4を表しています。


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

posted by sakurai on September 23, 2018

主機能M及び安全機構SMのペアについて、マルコフ状態遷移図を書いていきます。 まず、Mはアンリペアラブルであることを前提とし、SMはリペアラブルであることを前提とします。 しかし、MがフォールトしてもSMがそれをVSG(安全目標侵害)抑止している場合には、次のSMのフォールトは直ちにSG侵害となるため、一旦Mがフォールトとなった時点でSMはアンリペアラブルとなります。

まず、時刻$t$において、$\lbrace \mathrm{OPR:\ M\ up\ at\ }t\cap \mathrm{SM\ up\ at\ }t\rbrace$, $\lbrace \mathrm{SPF:\ M\ down\ at\ }t\cap\mathrm{VSG\ of\ M\ not\ preventable}\cap\mathrm{SM\ up\ at\ }t\rbrace$, $\lbrace \mathrm{LAT1:\ M\ down\ at\ }t\cap\mathrm{VSG\ of\ M\ preventable}\cap\mathrm{SM\ up\ at\ }t\rbrace$, $\lbrace \mathrm{LAT2:\ M\ up\ at\ }t\cap\mathrm{SM\ down\ at\ }t\rbrace$, $\lbrace \mathrm{DPF:\ M\ down\ at\ }t\cap\mathrm{SM\ down\ at\ }t\rbrace$,の5状態があり、$t$から$t+dt$までの微小時間$dt$の間に遷移する微小確率PUDを求めます。

図のほうがわかりやすいので、以下にマルコフ状態遷移図を示します。

図%%.1
図62.1 M/SMモデルのマルコフ状態遷移図

マルコフ状態遷移図でのOPR→SPF

図より微小不稼働確率をPUDで表すと、 $$ q_{M,SPF}(t)dt=\Pr\{\mathrm{OPR\ at\ }t\cap\mathrm{M\ down\ in\ }(t, t+dt]\cap\mathrm{VSG\ of\ M\ not\ preventable}\} \\ =\Pr\{\mathrm{M\ up\ at\ }t\cap\text{SM up at }t\cap\mathrm{M\ down\ in\ }(t, t+dt]\cap\mathrm{VSG\ of\ M\ not\ preventable}\} \\ =\Pr\{\mathrm{VSG\ of\ M\ not\ preventable}\}\Pr\{\mathrm{M\ fails\ in}(t, t+dt]\ |\ \mathrm{M\ up\ at\ }t\}\Pr\{\mathrm{M\ up\ at\ }t\}\Pr\{\text{SM up at }t\}\\ =(1-K_{M,FMC,RF})A_{SM}(t)R_{M}(t)\lambda_{M}dt=(1-K_{M,FMC,RF})A_{SM}(t)f_{M}(t)dt\tag{62.1} $$

マルコフ状態遷移図でのLAT2→DPF

図より微小不稼働確率をPUDで表すと、 $$ q_{M,DPF}(t)dt=\Pr\{\mathrm{LAT2\ at\ }t\cap\mathrm{M\ down\ in\ }(t, t+dt]\}\\ =\Pr\{\mathrm{SM\ down\ at\ }t\cap\mathrm{M\ up\ at\ }t\cap\mathrm{M\ down\ in\ }(t, t+dt]\}\\ =\Pr\{\mathrm{SM\ down\ at\ }t\rbrace\Pr\{\mathrm{M\ fails\ in}(t, t+dt]\ |\ \mathrm{M\ up\ at\ }t\}\Pr\{\mathrm{M\ up\ at\ }t\}\\ =Q_{SM}(t)R_{M}(t)\lambda_{M}dt=Q_{SM}(t)f_{M}(t)dt\tag{62.2} $$

主機能フォールトによるVSG

以上から(62.1)と(62.2)を加えれば、MによりSPFもしくはDPFとなる場合の微小遷移確率が求められ、 $$ q_{M}(t)dt=q_{M,SPF}(t)dt+q_{M,DPF}(t)dt=\left[1-K_{M,FMC,RF}A_{SM}(t)\right]f_{M}(t)dt\\ =\img[-1.35em]{/images/withinseminar.png} ただしu\equiv t\mod\tau_{SM}\tag{62.3}$$ となります。


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

posted by sakurai on September 18, 2018

PUD(Point Unavailablity Density)の定義からご紹介します。とはいえ、これは弊社の造語でありここだけで通用するものです。

不稼働密度とでも訳すべきものであり、以下の式で定義されるものです。

PUD:

PUD、すなわち不稼働密度$q_{item}(t)$は、前々回ご紹介したポイントアンナベイラビリティ(PUA)の時間微分で、以下の微小不稼働確率を$dt$で割ったものです。$q_{item}(t)$の式にすると$\lim_{dt \to 0}$が出てくるため、形式的に両辺に$dt$をかけ微小不稼働確率としています。 $$q_{item}(t)dt\equiv(\frac{dQ_{item}(t)}{dt})dt=\img[-1.35em]{/images/withinseminar.png}\tag{61.1}$$

PMHFは、修理系アイテムの車両寿命間のダウン確率の時間平均であることから、ここで示すアイテムの平均PUDと考えられます。このことは規格Part5には以下のように書かれています。

図%%.1
図61.1 Part5でのPMHFの意味

「アイテムの作動寿命間の毎時平均確率」とは舌足らずであり、何の確率かが書かれていません。その前に「ランダムハードウェア故障」とあるため文脈から故障確率であると読み取れますが、修理系の場合は厳密には故障確率ではなく、ダウン確率です。

従って、PMHFを求めるにはまず微小不稼働確率に着目して確率微分方程式を立て、それを0から車両寿命$T_{lifetime}$まで積分し、$T_{lifetime}$で割って平均PUDを算出する流れで求めます。


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

posted by sakurai on September 13, 2018

ISO 26262のPMHFの導出の場合、微小確率の積分を実行する際に次の(60.1)及び(60.2)式が出てくるため、あらかじめ結果を導出しておき、後程積分公式として使用します。 $$ \frac{1}{T_{lifetime}}\int_0^{T_{lifetime}}F_{SM}(t) f_{M}(t)dt\tag{60.1} $$ 及び $$ \frac{1}{T_{lifetime}}\int_0^{T_{lifetime}}F_{SM}(u) f_{M}(t)dt, ただしu=t\bmod\tau\tag{60.2} $$ まず、(60.1)式に、$F_{SM}(t)=1-e^{-\lambda_{SM}t}$及び、$f_{M}=\lambda_M e^{-\lambda_M t}$を代入し、 $$ \frac{1}{T_{lifetime}}\int_0^{T_{lifetime}}F_{SM}(t)f_{M}(t)dt=\frac{1}{T_{lifetime}}\int_0^{T_{lifetime}}(1-e^{-\lambda_{SM}t})\lambda_{M}e^{-\lambda_{M}t}dt\\ =\frac{\lambda_{M}}{T_{lifetime}}\int_0^{T_{lifetime}}e^{-\lambda_{M}t}dt-\frac{\lambda_{M}}{T_{lifetime}}\int_0^{T_{lifetime}}e^{-(\lambda_{SM}+\lambda_M)t}dt\tag{60.3} $$ (60.3)の右辺第1項は、 $$ \require{cancel} \text{1st term of RHS of (60.3)}=\frac{\bcancel{\lambda_{M}}}{T_{lifetime}}\left[\frac{e^{-\lambda_{M}t}}{-\bcancel{\lambda_{M}}}\right]^{T_{lifetime}}_0=\frac{1}{T_{lifetime}}(1-e^{-\lambda_{M}T_{lifetime}})\tag{60.4} $$ (60.3)の右辺第2項は、 $$ \text{2nd term of RHS of (60.3)}=-\frac{\lambda_{M}}{T_{lifetime}}\left[\frac{e^{-(\lambda_{SM}+\lambda_{M})t}}{-(\lambda_{SM}+\lambda_{M})}\right]^{T_{lifetime}}_0\\ =-\frac{\lambda_{M}}{T_{lifetime}(\lambda_{SM}+\lambda_{M})}\left[1-e^{-(\lambda_{SM}+\lambda_{M})T_{lifetime}}\right]\tag{60.5} $$ ここで$\lambda t\ll 1$の条件で$e^{-\lambda t}$のMaclaurin展開は $$e^{-\lambda t}=1-\lambda t + \frac{1}{2}\lambda^2 t^2-O((\lambda t)^3)$$となるため、$O((\lambda t)^3)\approx 0$と近似し、これを(60.4)及び(60.5)に代入すると(60.3)は、 $$ \frac{1}{T_{lifetime}}\int_0^{T_{lifetime}}F_{SM}(t) f_{M}(t)dt \approx\frac{1}{\bcancel{T_{lifetime}}}(\lambda_{M}\bcancel{T_{lifetime}}-\frac{1}{2}{\lambda_{M}}^2{T_{lifetime}}^\bcancel{2})\\ -\frac{\lambda_{M}}{\bcancel{T_{lifetime}}\bcancel{(\lambda_{SM}+\lambda_{M})}} \left[\bcancel{(\lambda_{SM}+\lambda_{M})}\bcancel{T_{lifetime}} -\frac{1}{2}(\lambda_{SM}+\lambda_{M})^\bcancel{2}{T_{lifetime}}^\bcancel{2}\right]\\ =(\bcancel{\lambda_{M}}-\bcancel{\frac{1}{2}{\lambda_{M}}^2T_{lifetime}}) -\lambda_{M}\left[\bcancel{1}-\frac{1}{2}(\lambda_{SM}+\bcancel{\lambda_M})T_{lifetime}\right] =\frac{1}{2}\lambda_{M}\lambda_{SM}T_{lifetime}\tag{60.6} $$ 以上から(60.1)の値が求められました。

結果のMとSMに関する対称性から推測可能なように、(60.6)においてMとSMを入れ替えた次の式も同じ値となります。 $$ \frac{1}{T_{lifetime}}\int_0^{T_{lifetime}}F_{M}(t) f_{SM}(t)dt\approx\frac{1}{2}\lambda_{M}\lambda_{SM}T_{lifetime}\tag{60.7} $$ 次に(60.2)式はやや複雑になりますが、基本的には同様な計算を行います。まず、$u=t\bmod\tau$であることから、$t=i\tau+u, i=0, 1, 2, ..., n-1$とおき、$t$を$i$と$u$で表せば、 $$ \frac{1}{T_{lifetime}}\int_0^{T_{lifetime}}F_{SM}(u)f_{M}(t)dt =\frac{1}{T_{lifetime}}\sum_{i=0}^{n-1} \int_0^{\tau} (1-e^{-\lambda_{SM}u})\lambda_{M}e^{-\lambda_{M}(i\tau+u)}du\\ =\frac{\lambda_{M}}{T_{lifetime}}\sum_{i=0}^{n-1}e^{-\lambda_{M}i\tau}\int_0^{\tau}e^{-\lambda_{M}u}du -\frac{\lambda_{M}}{T_{lifetime}}\sum_{i=0}^{n-1}e^{-\lambda_{M}i\tau}\int_0^{\tau}e^{-(\lambda_{SM}+\lambda_M)u}du\tag{60.8} $$ ここで、$\sum_{i=0}^{n-1}e^{-\lambda_{M}i\tau}$を計算すると、等比数列の和及びMaclaurin展開の1次近似より、 $$ \sum_{i=0}^{n-1}e^{-\lambda_{M}i\tau} =\frac{1-e^{-\lambda_{M}T_{lifetime}}}{1-e^{-\lambda_{M}\tau}} \approx\frac{\bcancel{\lambda_{M}}T_{lifetime}}{\bcancel{\lambda_{M}}\tau} =\frac{T_{lifetime}}{\tau} $$ よって、(60.8)の右辺第1項は、 $$ \text{1st term of RHS of (60.8)}=\frac{\bcancel{\lambda_{M}}}{\bcancel{T_{lifetime}}}\frac{\bcancel{T_{lifetime}}}{\tau}\left[\frac{e^{-\lambda_{M}t}}{-\bcancel{\lambda_{M}}}\right]^{\tau}_0 =\frac{1}{\tau}(1-e^{-\lambda_{M}\tau})\tag{60.9} $$ (60.8)の右辺第2項は、 $$ \text{2nd term of RHS of (60.8)}=-\frac{\lambda_{M}}{\bcancel{T_{lifetime}}}\frac{\bcancel{T_{lifetime}}}{\tau}\left[\frac{e^{-(\lambda_{SM}+\lambda_{M})t}}{-(\lambda_{SM}+\lambda_{M})}\right]^{\tau}_0\\ =-\frac{\lambda_{M}}{\tau(\lambda_{SM}+\lambda_{M})}\left[1-e^{-(\lambda_{SM}+\lambda_{M})\tau}\right]\tag{60.10} $$ 同様にMaclaurin展開の2次近似を(60.9)と(60.10)に用いると、(60.8)は、 $$ \frac{1}{T_{lifetime}}\int_0^{T_{lifetime}}F_{SM}(u) f_{M}(t)dt \approx\frac{1}{\bcancel{\tau}}(\lambda_M\bcancel{\tau}-\frac{1}{2}\lambda_M^2\tau^\bcancel{2})\\ -\frac{\lambda_{M}}{\bcancel{\tau(\lambda_{SM}+\lambda_{M}})} \left[\bcancel{(\lambda_{SM}+\lambda_{M})\tau} -\frac{1}{2}(\lambda_{SM}+\lambda_{M})^\bcancel{2}\tau^\bcancel{2}\right]\\ =(\bcancel{\lambda_{M}}-\bcancel{\frac{1}{2}{\lambda_{M}}^2\tau}) -\lambda_{M}\left[\bcancel{1}-\frac{1}{2}(\lambda_{SM}+\bcancel{\lambda_M})\tau\right] =\frac{1}{2}\lambda_{M}\lambda_{SM}\tau\tag{60.11} $$ 以上から(60.2)の値が求められました。

これも結果のMとSMに関する対称性から推測可能なように、(60.11)においてMとSMを入れ替えた次の式も同じ値となります。 $$ \frac{1}{T_{lifetime}}\int_0^{T_{lifetime}}F_{M}(t) f_{SM}(u)dt\approx\frac{1}{2}\lambda_{M}\lambda_{SM}\tau\tag{60.12} $$


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

posted by sakurai on September 10, 2018

※この記事は2018年に書かれたものであり、基本的には変わりませんが最近の記事で詳細計算を行っています。

SMのアンナベイラビリティ(不稼働率、PUA)$Q_{SM}(t)$の導出

以前PMHF式を以下で導出しました。 https://fs-micro.com/post/show/id/10.html

ここでは再度PMHFの式を導出して行きますが、事前準備がいくつか必要になりますので、まず、修理系のアンナベイラビリティの公式を導きます。

まず、修理系とは何かを説明します。ISO 26262規格には修理の問題についてはっきり書いていませんが、1st SMが修理系となります。1st SMとは、1st order SMとも呼ばれ、主機能のSG侵害を防止するためのSMです。一方で、主機能は非修理系です。

1st SMは、2nd SMにより定期的に検査され、故障だと判明した場合は直ちに修理されます。2nd SMとは2nd order SMとも呼ばれ、エレメントがレイテントフォールトとなるのを防止する安全機構です。規格にもあるとおり、修理周期は「検査周期($\tau_{SM}$)+ドライバーが修理工場へ運転して行く時間+修理にかかる時間」です。従って、修理周期=2nd SMの検査周期とみなせます。

規格にははっきり書かれていませんが、検査により故障と判明した部分については、修理され新品同様(as good as new)と見なされます。この検査による故障検出割合が重要であり、Part 10では定数値$K_{FMC,MPF}$で表されます。故障したうちの検出部分なので(59.1)のように条件付き確率と考えがちですが、 $$K_{FMC,MPF}=\Pr\lbrace \text{detectable}\ |\ \text{failed at }t \rbrace\tag{59.1}$$ 故障検出能力は確率的に決まるものではなく、アーキテクチャ的に決まるものだと考えるため、もともとの検出部分の故障について検出可能とします。 $$K_{FMC,MPF}=\Pr\lbrace \text{detectable} \rbrace\tag{59.2}$$ 検出された故障は全て修理されるものとします。 $$\Pr\lbrace \text{repaired}\ |\ \text{detected at }t\rbrace=1\tag{59.3}$$

次にアンナベイラビリティ$Q_{SM}(t)$とは、省略せずに言うとポイントアンナベイラビリティ(PUA)であり、修理系の不稼働率です。 確率の式で表せば、

PUA: $$Q_{SM}(t):=\Pr \lbrace \text{(repairable)SM down at }t \rbrace\tag{59.4}$$ のように、時刻$t$において不稼働である確率を意味します。

一方で、PUAの式は参考ページまたはBirolini教授の教科書を参照すれば、 $$ A(t):=R(t)+\int_0^t m(x)R(t-x)dx\tag{59.5} $$ であり、ここで、$A(t)$は時刻tにおけるポイントアベイラビリティ、$R(t)$は時刻tにおけるリライアビリティ(信頼度)、$m(t)$は時刻tにおけるリニューアル密度(修理密度)です。規格の特徴として、修理周期は教科書一般にあるように指数関数分布はとらず、定期的に$\tau_{SM}$で行われるため、以下の式が成立します。 $$A_{SM}(t)=R_{SM}(t)+\img[-1.35em]{/images/withinseminar.png} \tag{59.6}$$ 修理分が時刻$t$の関数でないのは、検出能力$K_{FMC,MPF}$は一定で、毎回検出した分は全て修理されるため、修理分は一定となるためです。 SMのポイントアベイラビリティ式は以下のようになります。 $$A_{SM}(t)dt=\img[-1.35em]{/images/withinseminar.png}\tag{59.7}$$

これを1から引けば、SMのポイントアンアベイラビリティ(PUA)は以下のように求められます。

PUA: $$Q_{SM}(t)dt=\left[1-A_{SM}(t)\right]dt=\img[-1.35em]{/images/withinseminar.png}\tag{59.8}$$

(59.8)の両辺を時刻$t$で微分すれば、PUD(Point Unavailability Density)が求められます。

PUD: $$q_{SM}(t)dt:=(\frac{dQ_{SM}(t)}{dt})dt=\img[-1.35em]{/images/withinseminar.png}\tag{59.9}$$

※ここでの議論において、次に示すような形式的な記法を用いています。例えば、 $$f(t)=\lim_{dt\to +0}\frac{F(t+dt)-F(t)}{dt}=\frac{dF(t)}{dt}$$ と書くところを$dt$が無限小であることを前提として、 $$f(t)dt=(\frac{dF(t)}{dt})dt$$ としています。確率密度関数$f(t)$を求めるよりも、微小確率$f(t)dt$を求めるほうが、次で積分の記述が容易になるためです。


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

共存の基準(2)

posted by sakurai on September 8, 2018

アセッサー目線からみると、ASILが食い違うところはまずチェックします。当然ですが、低ASILから高ASILの、例えば図のように、ASIL-Bのエレメントからの信号をASIL-Cのエレメントで受けているような場合。しかしながら、規格Part9 6.4で述べられているように、QMないし低ASILの要求を割り当てられたエレメントは、ASILないし高ASILの割り当てられたエレメントへ干渉してはいけません。

図58.1
図58.1 エレメントAからエレメントBへ干渉が起きる場合

干渉がある場合には、エレメントを高いASILへ引き上げる必要があります。これが前回も述べた、共存の基準と言われる規格要件です。

専門家(日本の機能安全関連団体の委員)の資料で、「無干渉は従属故障が無いこと」と書いてあるものを見ましたが、これは誤りです。無干渉とは、Part1-1.49に示されるとおり、カスケード故障が無いことです。従属故障というと、カスケード故障と共通原因故障の両方を含みます。 また同じ資料で、「干渉は片方からの故障の影響であり、独立は相互に故障の影響が無いこと」と書かれていましたが、これも誤りで「独立とは従属故障が無いこと」と規格で定義されています。

このように、専門家といえども規格の文言を誤解していることが無いとは言えないので、盲信せず聞く必要があると思われます。


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

共存の基準

posted by sakurai on September 1, 2018

デコンポジションの基本的な考え方は理解頂いたと思うので、同様に重要な要件を説明します。 同じくPart9に記載されている「共存の基準」です。

  1. QMエレメントからASILエレメントへの無干渉を証明すれば、QMエレメントとASILエレメントが共存することができる。さもなければQMエレメントはASILエレメントのASILまでASILを引き上げなければならない。

  2. 低ASILエレメントから高ASILエレメントへの無干渉を証明すれば、低ASILエレメントと高ASILエレメントが共存することができる。さもなければ低ASILエレメントは高ASILエレメントのASILまでASILを引き上げなければならない。

いずれも同様な要件であり、QMないし低ASILエレメントはいわば濁った水です。一方で高ASILエレメントはきれいな水です。従って、高ASILエレメントがQMないし低ASILエレメントに干渉しても、濁ったままで問題ないのに比べて、その逆の場合は、きれいな水が濁った水になってしまいます。従って、無干渉が証明できない限り濁った水をきれいにしてやる必要があるということです。

図57.1

規格Part9 6.4.4及び備考1を見てみましょう。

図57.2
図57.3

これはQMからASIL付与エレメントへの無干渉条件(カスケード故障無き事)ですが、前述のとおり、低ASIL付与エレメントから高ASIL付与エレメントへの同様の条件があります。それが規格要件Part9 6.4.5です。

図57.4

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