Posts Tagged with "PMHF"

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

PMHFの計算法の例 (3)

posted by sakurai on October 21, 2020 #327

こんどはYoutubeでおかしな表現を見つけました。図327.1に当該部分を引用します。

図%%.1
図327.1 あるYoutube動画中のPMHFの説明
  • SPFMの説明にはSPFをカバーすると書かれています。SPFは広義ではRFを含むこともあり、広義と教義があるので、広義だとすれば問題ありません。
  • LFMの説明にはなぜかLFMと書かれていません。説明はLFをカバーすると書かれており、OKです。カバレージの意味もあるのかもしれませんが。
  • PMHFの説明には、残余ハードウエアフォールトをカバーすると書かれています。通常はRFのことなので、ここにおいて最初のSPFの説明にRFが含まれなかった、つまり狭義のSPFだったことがわかります。

以上から、SPFMとPMHFの説明は誤りです。ただしくは、SPFMはSPF及びRFの両方のカバレージを意味します。さらに、PMHFはアイテムの車両寿命におけるダウン確率の時間平均を意味します。

この動画はあまり良くなく、FMEDAでSPFM/LFM/PMHFを計算すると言っています。原理的にFMEDAではPMHFを正しく計算するのは困難です。ワーストケースと思えば良いかもしれません。それにしても規格式を正しく実装しているかどうかが不明です。この動画は、自社のツールを使えば、ブラックボックスでアーキテクチャメトリクスが計算できると言っているにすぎません。

Youtubeで調べましたが、正しいPMHFの計算法を紹介している動画は見つかりませんでした。


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

PMHFの計算法の例 (2)

posted by sakurai on October 20, 2020 #326

参照論文の調査

PMHF式に誤りのある「平成26年度 電子部品信頼性調査研究委員会 研究成果報告書」は2015年3月発行です。著者に連絡を取ったところ、論文$\dagger$からの引用だとのことでした。これは2014年発行なので、この論文$\dagger$が元凶であり、ブログで取り上げた日本人の資料である、この資料この資料に影響を与えたようです。IEEE発行の査読付き論文なのでそれなりに信用性があり、誤りが広まってしまうのかもしれませんが、非常に遺憾なことです。

もっとも、査読済み論文だからと言って、検証もしないで盲目的に引用する態度にも同様に問題があると考えます。

図326.1に当該部分を引用します。良くみると、上記報告書が引用したといいながら、DPF部分はlatentのみとなっています。従って、上記報告書と論文$\dagger$では少々異なります。

図%%.1
図326.1 ある論文中のPMHF式
この資料と、参考にした元論文の例では1st SMは存在しても2nd SMの概念が全く書かれていないので$\lambda_\text{MPF}$と$\lambda_\text{MPF,lat}$は一致するのでしょう。

IEC 61508との比較

また、図326.1の説明には、

ISO 26262にはSPFMやLFMと異なりPMHF式が出ていないためIEC 61508を参照する

と書かれていますが、実際はPart 10に式が記載されています。さらにIEC 61508にはPMHFはありません。近い概念としてはPFH(Probability of Failure per Hour)があります。Exidaの資料によればPFHは(326.1)式で表されます。 $$ PFH=\lambda_\text{DU}\tag{326.1} $$

ただし、これは1oo1の式だと思われます。少なくともDPFは、主機能と安全機構の双方がフォールトしたときの故障であるため、1oo2の式のほうがベターです。

しかしながら、ISO 26262はIEC 61508に基づいているといいながら、PMHF結果式はISO 26262独特のものであるため、1oo2としても式は一致しません。具体的には、ISO 26262はIEC 61508と異なり定期検査及び修理が前提となっています。

IEC 61508で学んだ多くの研究者が同じ誤りを起こしています。論文を見るとすぐ分かります。それは、ISO 26262にはDD, DUという用語は無いにもかかわらず、そのような用語を使用しているからです。そのような概念を表すものはKパラメータと呼ばれる診断率DCであり、 $$ \lambda_{DD}=K_\text{RF}\lambda_\text{IF}, \lambda_{DU} =(1-K_\text{RF})\lambda_\text{IF} $$ と表現しなければいけません。IEC 61508を過度に適用することは、上記の誤りにつながります。正しくはあくまでISO 26262の上で考えなくてはなりません。特にIEC 61508にはDPFの概念が無いため注意が必要です。


$\dagger$Y. Chang, L. Huang, H. Liu, C. Yang and C. Chiu, "Assessing automotive functional safety microprocessor with ISO 26262 hardware requirements," Technical Papers of 2014 International Symposium on VLSI Design, Automation and Test, Hsinchu, 2014, pp. 1-4, doi: 10.1109/VLSI-DAT.2014.6834876.


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

PMHFの計算法の例

posted by sakurai on October 16, 2020 #325

「電子部品信頼性調査研究委員会 研究成果報告書」中のPMHF式

この誤りはどこかで見たと思ったら、財団法人日本電子部品信頼性センター発行の「平成26年度 電子部品信頼性調査研究委員会 研究成果報告書」の33ページにも、同じような式が書かれていたので、図325.1に引用します。

図%%.1
図325.1 ある資料中のPMHF式

前稿のMPFはLF($=\lambda_\text{MPF,lat}$)のみを加えていましたが、この式ではMPF全体となっており、誤りはより悪化しています。これはtypoではなく、図325.1中にも「全体から安全フォールトを除いたもの」とあり、図324.1を参照すれば、SPF/RFに加えMPF全体と考えているようです。ところが、MPFにはlatentとdetected/percievedがあり、後者は安全と考えられるので、より誤り度合いが大きいのです。

前稿でも述べたように、LFは単独ではVSGとならないので、他のフォールトとのDPFとして計算する必要があります。DPF確率は、SMのレイテント確率とIFのフォールト確率の積になります。

図%%.2
図325.2 ある資料中のPMHF計算

本来DPFは、このように2つのフォールト確率から成る確率事象であるため、その確率は非常に小さくなるはずです。具体的には故障率のオーダーが$10^{-9}$、車両寿命が$10^{5}$とすれば、かけ合わせると1万分の一のオーダーです。ところが、図325.2ではDPFが100%になっており、一見して誤りと判定できます。

もっとも$\lambda_\text{SPF/RF}$がゼロならDPF項は必ず100%ですが、そもそも$\lambda_\text{SPF/RF}$がゼロという点が信じられません。その理由はDPF項は経験的に3%未満だからです。


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

posted by sakurai on October 15, 2020 #324

「自動車の機能安全と部品安全」中のPMHF式

昆虫採集よろしく、業界内での事例収集を実施中です。アーキテクチャメトリクス(SPFMとLFMの総称)及びPMHFについて、「自動車の機能安全と部品安全ーISO 26262の概要ー」の資料(安部秀二、パナソニック)を見つけました。

その中での、上記メトリクスの計算方法を紹介します。

図%%.1
図324.1 ある資料のメトリクス算出例

この資料によれば、SPFMは資料の$\alpha$、$\beta$、$\delta$を用いて $$ M_\text{SPFM}=1-\frac{\beta}{\alpha}=1-\frac{\sum\left(\lambda_\text{SPF}+\lambda_\text{RF}\right)}{\sum\lambda} \tag{324.1} $$ と表され、LFMは、 $$ M_\text{LFM}=1-\frac{\delta}{\alpha-\beta}=1-\frac{\sum\lambda_\text{DPF,lat}}{\sum\left(\lambda-\lambda_\text{SPF}-\lambda_\text{RF}\right)} \tag{324.2} $$ と表されます。

それぞれ、(324.1)を図122.1のSPFMの規格式、(324.2)を図123.1のLFMの規格式と比較すれば、一致していることがわかります。ここまでは問題ありません。

一方、$M_\text{PMHF}$は、 $$ M_\text{PMHF}=\beta+\delta=\lambda_\text{SPF}+\lambda_\text{RF}+\lambda_\text{DPF,lat} \tag{324.3} $$ (324.3)は誤りです。LFは単一ではVSGを引き起こさないため、アイテムのVSG確率としては、$\img[-0.9em]{/images/withinseminar.png}$ とする必要があります。

これは2015年の資料ですが、いったい(324.3)はどこから来たのでしょうか?


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

posted by sakurai on October 14, 2020 #323

弊社では、定量FTAを用いてPMHFを見積もる論文を、RAMS 2021に提出済みです。さて、PMHFが業界でどのように見積もられているかを調べたところ、この資料を見つけました。

図%%.1
図323.1 ある資料のFT構成法

図323.1は少々複雑なので、思想を曲げない範囲で簡略化します。まず、SPFはDC=0の時のRFであるため、SPF/RFをひとまとめにし、 $$ \lambda_\text{IF,RF}=(\lambda_\text{G}+\lambda_\text{K}+\lambda_\text{B}+\lambda_\text{F})(1-DC)=(1-DC)\lambda_\text{IF}\tag{323.1} $$ (323.1)はRFの式そのものであり、OKです。

次に、DPF1ですが、これはSM1の不信頼度がかかっていることから、SM1が先にLFとなり、続いてIFがフォールトしVSGとなるDPFだと考えられます。DPF1は、 $$ \lambda_\text{DPF1}=\lambda_\text{IF}\cdot DC\cdot\frac{1}{2}\lambda_\text{SM1}T=\frac{1}{2}DC\lambda_\text{IF}\lambda_\text{SM1}T, ただし、\lambda_\text{SM1}=\lambda_\text{C}+\lambda_\text{I}+\lambda_\text{M}\tag{323.2} $$ Fault Tree中は故障率で書かれているので、少々心配になりますが(このような誤りが多々あるので)、きちんと$T$をかけて単位を[1/H]としているので、(323.2)もOKです。

最後にDPF2は、IFの不信頼度がかかっていることから、IFが先にLFとなり、続いてSM1がフォールトしVSGとなるDPFだと考えられます。DPF2は、 $$ \lambda_\text{DPF2}=\lambda_\text{SM1}\cdot\frac{1}{2}\lambda_\text{IF}T=\frac{1}{2}\lambda_\text{IF}\lambda_\text{SM1}T\tag{323.3} $$ 残念ながら(323.3)は誤りです。以下に列挙すると、誤りは、

  1. まず、IFとSM1の両方がリペアラブルではないことです。もっともこれは規格式も誤っているので見逃します。

  2. 次に、$\lambda_\text{DPF2}$において、$\lambda_\text{IF}$に$DC$がかかっていないことが誤りです。なぜなら$\lambda_\text{IF}$のうち、$1-DC$分、つまり$(1-DC)\lambda_\text{IF}$がRFとなり、残りの$DC$分、つまり$DC\lambda_\text{IF}$がLFとなるためです。従って、正しくは $$ \lambda_\text{DPF2}=\lambda_\text{SM1}\cdot\frac{1}{2}\lambda_\text{IF}DC T=\frac{1}{2}DC\lambda_\text{IF}\lambda_\text{SM1}T $$ ところが、$\lambda_\text{DPF1}$と比較すればわかるように$\lambda_\text{DPF1}\equiv\lambda_\text{DPF2}$なので、実は別のツリーとする必要はありません。

  3. さらに、2nd SMのカバレージであるDC2が全く考慮されていないことも問題です。ただし、DC2=0のワーストケースの評価であれば問題ありません。

従って、大きな誤りは2番目の項目となります。とはいえ、ほとんど全ての論文において定量FTAでDPFまで計算しているものが無いことから、本資料は良いほうだと言えます。

結論として、上記2.の修正を行えば、「故障順序によらないPMHF式」(105.6)と一致します。ここで(105.6)を再掲すれば、 $$ M_{\mathrm{PMHF}}= (1-K_{\mathrm{IF,RF}})\lambda_{\mathrm{IF}}+ K_{\mathrm{IF,RF}}\lambda_{\mathrm{IF}}\lambda_{\mathrm{SM}}(1-K_{\mathrm{SM,MPF}})T_\text{lifetime}\\ \tag{105.6} $$ 次に、2nd SMが不在というワーストケースを仮定して$K_{\mathrm{SM,MPF}}=0$とし、$K_{\mathrm{IF,RF}}=DC$と置きなおせば、 $$ M_{\mathrm{PMHF}}=(1-K_{\mathrm{IF,RF}})\lambda_{\mathrm{IF}}+ K_{\mathrm{IF,RF}}\lambda_{\mathrm{IF}}\lambda_{\mathrm{SM}}T_\text{lifetime}\\ =(1-DC)\lambda_{\mathrm{IF}}+ DC\lambda_{\mathrm{IF}}\lambda_{\mathrm{SM}}T_\text{lifetime}\\ \tag{323.4} $$ (323.1)~(323.3)を全て加えると、(323.4)と一致することがわかります。


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

posted by sakurai on September 11, 2020 #314

「ISO 26262第2版解説書」(日本規格協会)のPMHF式の続きです。再度解説書の式を検討します。

パターン1

図314.1は、第1版にも存在した、パターン1=「安全機構、意図した機能の順でフォールトが発生する場合で安全機構のフォールトが検出されない場合」です。

図%%.1
図314.1 パターン1

この式において、一行目の中カッコの中のIFに関する確率は、 $$ \left(1-\int_0^t f_\text{IF}(t')dt'\right)\int_t^{T_\text{lifetime}}f_\text{IF,DPF}(t')dt'\\ =R_\text{IF}(t)\cdot\int_t^{T_\text{lifetime}}f_\text{IF,DPF}(t')dt' $$ と推測されます。この意味としては、IFについて、$0$から$t$までフォールトが起きておらず、かつ$t$から$T_\text{lifetime}$の間でフォールトが起きた場合の確率だと思われます。

前稿で指摘したように、IFどおしの確率の積をとっていますが、(結果としては一致するものの)本来条件付き確率としなければならない2項目が条件付き確率となっていない点が誤りです。

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


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

posted by sakurai on September 10, 2020 #313

「ISO 26262第2版解説書」(日本規格協会)のPMHF式の続きです。

パターン3, 4

IFとSMを入れ替えることで、同様にパターン3, 4を導き、パターン1から4までを加えれば、

$$ M_\text{PMHF}\approx\frac{1}{2}\lambda_\text{IF,DPF}\lambda_\text{SM,DPF,lat}T_\text{lifetime}\\ +\frac{1}{2}\lambda_\text{IF,DPF}\lambda_\text{SM,DPF,det}T_\text{service}\\ +\frac{1}{2}\lambda_\text{SM,DPF}\lambda_\text{IF,DPF,lat}T_\text{lifetime}\\ +\frac{1}{2}\lambda_\text{SM,DPF}\lambda_\text{IF,DPF,det}T_\text{service} \tag{313.1} $$ となりそうです。

規格の問題点

ところが、規格は最初のパターン分けから間違っているので、これは誤った式です。 なぜなら、IFがフォールトして、検出・修理される、次にSMがフォールトして、検出・修理されるというパターンやその逆パターンが、この4パターンには含まれていないためです。規格に従えば、一度フォールトしたエレメントは検出・修理を繰り返し、レイテント状態において相手のエレメントがフォールトする場合にのみDPFとして扱います。

規格のパターン分けは、パターン1,2とパターン3,4の組にはっきりと分かれており、

  • パターン1, 2: {SMがフォールトし検出・修理}が1以上の任意回、{IFのフォールト}
  • パターン3, 4: {IFがフォールトし、検出・修理}が1以上の任意回、{SMのフォールト}

という特殊例しか数え上げていないのです。リペアラビリティで表せば、

  • パターン1, 2: SMがリペアラブル、IFがアンリペアラブル⇒IFUモデル
  • パターン3, 4: IFがリペアラブル、SMがアンリペアラブル⇒SMUモデル

という状態を表しています。

図%%.1
図313.1 規格CTMC図

これをCTMCで示したものが図313.1です。パターン1,2ではIFがアンリペアラブル固定(検出・修理はされない)、パターン3,4ではSMがアンリペアラブル固定(検出・修理はされない)という、余分な制約がかかっています。

本来は、初期状態でIFとSMは共にリペアラブルであり、かつ相手がフォールト時には自分がアンリペアラブルとなるという、マルコフ図のような動作となります。

結果として規格に依れば、パターン1, 2ではIFのリペア、パターン3, 4ではSMのリペアの考慮が抜けているため、PMHFを過大評価することになります。故障確率の過大評価は過小評価よりは良いかもしれませんが、逆にEOTTIが厳しくなるという弊害が生じます。

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


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

posted by sakurai on September 9, 2020 #312

「ISO 26262第2版解説書」(日本規格協会)のPMHF式の続きです。

パターン2

次にパターン2=「安全機構、意図した機能の順でフォールトが発生する場合でかつ2nd SMにより検出可能となる場合」つまり修理可能部分です。解説書のパターン2を図312.1に示します。

図%%.1
図312.1 パターン2

(式変形の誤りのため削除)

「規格第2版のPMHF式の疑問(13)」に記載します。


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

posted by sakurai on September 8, 2020 #311

「ISO 26262第2版解説書」(日本規格協会)のPMHF式の続きです。

時刻パラメータ$t$が最初のSMのフォールトが起きた時刻、$t'$がVSGとなる2つ目のIFのフォールトが起きた時刻だと思われます。

正しい定式化

IFに関する$t'$の時の確率密度を$t$から$T_\text{lifetime}$まで積分し、$t$で表します。次に$t$について0から$T_\text{lifetime}$までVSGとなる確率密度を積分します。

(式変形の誤りのため削除)

「規格第2版のPMHF式の疑問(12)」に記載します。


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

posted by sakurai on September 7, 2020 #310

「ISO 26262第2版解説書」(日本規格協会)のPMHF式の続きです。

そもそもの(309.2)式ですが、意味を考えてみます。まずSMとIFのフォールトは独立なので、SMとIFの確率は積で表されるのは正しいです。一方で独立ではないIF同志の確率が積で表されるところが誤っています。具体的には、時刻$t$から$T_\text{lifetime}$までの、IFの故障確率は、遷移確率が故障率$\times dt$となるため、 $$ \int_t^{T_\text{lifetime}}d\!\Pr\{\text{IF fails in }(t', t'+dt]\ \cap\ \text{IF not failed till }t'\}\\ =\int_t^{T_\text{lifetime}}d\!\Pr\{\text{IF fails in }(t', t'+dt]\ | \text{IF not failed till }t'\}\cdot\Pr\{\text{IF not failed till }t'\}\\ =\int_t^{T_\text{lifetime}}\lambda_\text{IF}R_\text{IF}(t')dt'=\int_t^{T_\text{lifetime}}f_\text{IF}(t')dt' \tag{310.1} $$ となるはずです。(310.2)は独立ではない事象を確率の積をとり、 $$ \int_t^{T_\text{lifetime}}d\!\Pr\{\text{IF fails in }(t', t'+dt]\ \cap\ \text{IF not failed till }t'\}\\ =\int_t^{T_\text{lifetime}}d\!\Pr\{\text{IF fails in }(t', t'+dt]\}\cdot\Pr\{\text{IF not failed till }t'\}\}\ \ \ \ ※1\\ =\int_t^{T_\text{lifetime}}f_\text{IF}(t')R_\text{IF}(t')dt'\\ =\int_t^{T_\text{lifetime}}f_\text{IF}(t')R_\text{IF}(\color{red}{t})dt'\ \ \ \ ※2\tag{310.2} $$ ※1 独立で無い事象の積としている
※2 積分変数を勝手に変更している

としているところが疑問です(疑問2, 3)。

どうやら、勝手に積分変数を変更しているのではなくて以下のように、 $$ \int_t^{T_\text{lifetime}}d\!\Pr\{\text{IF fails in }(t', t'+dt]\}\cdot\Pr\{\text{IF not failed till }t\}\\ =\int_t^{T_\text{lifetime}}f_\text{IF}(t')dt'\cdot R_\text{IF}(t)\tag{310.3} $$ と推測します。この場合、時刻$t$から$t'$の間の確率が無視されているので、結局誤りです。

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


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


ページ: