17 |
RAMS 2025プログラムマトリクス |
Posts Tagged with "PMHF"
既に発行済みのブログであっても適宜修正・追加することがあります。We may make changes and additions to blogs already published.
22 |
ASIL分解 (2) |
再度、重要項目の3項目めです。
ハードウェアメトリクスの目標値は、分解したからといって変わるものではない。多くの人はこのことを理解していない。
同感ですね。規格にはPart 9 5.4.5にこれが記されています(図781.1)。
規格5.4.5のDeepLによる翻訳を示せば、
5.4.5 ISO 26262-5 に従ったハードウェアアーキテクチャメトリクスの評価と、ランダムハードウ ェア故障による安全目標違反の評価に関する要件は、ASIL 分解によって変更されない。
これは弊社でもお伝えしている、ASIL分解に関する重要なノウハウの一つであり、ハードウエアの目標値を変えない理由についての動画の解説は以下のとおりです。
フォールト・ツリー解析の観点で考えてみると、本当に独立した2つの並列パスがある場合、これらはAND接続される。数学的には、それぞれの故障率が少し高くなり、さらに故障率が少し高くなっても、一番上の故障率が低くなるというのは、利点になる。したがって、フォールトツリーの最上位イベントは変わらないが、定量的安全性解析を実行すればメリットが得られる。
「故障率が少し高くなる」とは何を言っているかわかりませんが、端的に言えば、
- 冗長な独立性のあるエレメントの故障確率を(FTAにより)算出すれば、故障確率の掛け算になるため目標値を下げなくても故障確率のほうが下がるため、目標値を下げる必要は無い
し、かつ下げてはならないということです。
具体例として、故障率$\lambda$=100[FIT]の対称な冗長チャネル(両チャネルの故障率が等しい)について車両寿命10万時間で考えます。単体チャネルでは100[FIT]ですが、2重故障(同時故障ではない)を考えると、
$$100[FIT]\cdot100[FIT]\cdot10\times10^4[H]=1.0\times10^{-7}\cdot1.0\times10^{-7}\cdot1.0\times10^5\\ =100\times10^{-9}\cdot\frac{1}{100}=100[FIT]\cdot\frac{1}{100}$$
となり、すなわち、元の100[FIT]の100分の一の1[FIT]となります。つまり、ASILや目標値を下げなくても(ASILデコンポジションの必須条件である)冗長構成によりサブシステムの故障率は1/100にできたと言えます。
19 |
ASIL分解 |
同じ技術者の解説動画です。こちらには基本的に誤りはありません。2分間の動画で重要な事を3項目押さえているのでご紹介します。
英語のトランスクリプトを入手したので、画面と合わせて見てみましょう。以下はDeepLによるその翻訳です。
今回は、分解についてよく見られる誤解について少しお話ししたい。まず第一に、ISO26262で分解について話す場合、安全要件の分解について話している。ハードウェアを分解するわけでもなく、ソフトウェアを分解するわけでもなく、安全目標そのものを分解するわけでもない。分解するのは、ハードウェア安全要求事項、ソフトウェア安全要求事項、技術安全要求事項、FSRである。安全要件を分解することで、ハードウェアの独立した並列パスやソフトウェアの独立した並列パスが生まれる。これがよく見られる誤解のひとつだ。
ややはっきりしないところがありますが、好意的に解釈すれば最初に2つの重要な事項を述べています。
- ASIL分解は本当はASILを分解するのではなく、安全要求を分解し、その結果としてASILが分解「される」
- ASIL分解の原則である冗長性と独立性
引用の最後の部分、
安全要件を分解することで、ハードウェアの独立した並列パスやソフトウェアの独立した並列パスが生まれる。これがよく見られる誤解のひとつだ。
これがどう誤解なのかははっきりしません。ただ、ASIL分解の原則はさらっと述べていますが、以下の2つが重要です。これは規格の必須要求事項です。
- 冗長な安全要求に分解(動画では並列と表現)
- 安全要求が割り当てられたエレメントの独立性(動画では独立と表現)
次に、
もうひとつは命名法についてだ。命名法の重要な側面のひとつは、例えばASIL Dの安全要件まで構築する場合、ASIL Bのハードウエアを2つ使用するのであれば、それらのハードウエアにはASIL B of Dという命名法を使用しなければならないということだ。
いわゆるASIL-B(D)のような記法については、命名法が大事というよりは以下が重要です。これが3項目めです。
ハードウェアメトリクスの目標値は、分解したからといって変わるものではない。多くの人はこのことを理解していない。
18 |
PMHF解説の誤り (3) |
同じ動画において、小さな誤りがあります。
考え方は合っていて、故障率を乗算してはならないことを述べています。以下のような故障率の乗算 $$ \lambda_\text{DPF,IF}\cdot\lambda_\text{DPF,SM,L}=100[FIT]\cdot1000[FIT] $$ ではなく車両寿命である1万時間をかけ、確率に直してから乗算します。 $$ \require{color} \definecolor{pink}{rgb}{1.0,0.8,1.0} \definecolor{lime}{rgb}{0.8,1.0,0.8} \lambda_\text{DPF,IF}\cdot10^4\cdot\lambda_\text{DPF,SM,L}\cdot10^4=100[FIT]\cdot10^4[h]\cdot1000[FIT]\cdot10^4[h]\\ =100\times10^{-9}\cdot10^4\cdot1000\times10^{-9}\cdot10^4=10^{-3}\cdot10^{-2}=10^{-5}\\ =0.001\cdot0.01=\colorbox{lime}{0.00001} $$ ここまではFTAの数値と一致します。
故障率に直すにはこれを1万時間で割って、 $$ \lambda=\frac{\colorbox{lime}{0.00001}}{10^4[h]}=\frac{\colorbox{lime}{0.00001}}{10,000}[h^{-1}]=10^{-9}[h^{-1}]=1[FIT] $$ 黄色いマーカーの丸で囲んだうちのFTAの頂上事象確率はあっていますが、右横の丸内の数値が$\colorbox{pink}{0.0001}$となって誤っています。本来は$\colorbox{lime}{0.00001}$となるべきです。
17 |
PMHF解説の誤り (2) |
同じ動画の中で、Part 5、Annex FのPMHFを紹介しています。
これによれば、$\lambda_\text{DPF,DP}\cdot\lambda_\text{DPF,L}$の項は一般的に非常に小さいからその2乗は無視できるとして無視していますが、それに掛けられる大きな車両寿命を無視しています。
現実にはDPF項はPMHFの数パーセントの部分を占めるため、大きいとは言えませんが無視して良いわけでもありません。これが無視できるのであれば、前稿で解説しているPart 10のPMHF式も図778.2に示すように同様に無視可能なはずです。こちらは無視できない場合としているようですが、それであればPart 5 Annex Fの式も同じ条件です。
このPart 5 Annex Fの近似式を評価した記事は過去記事に書いています。
16 |
PMHF解説の誤り |
ISO 26262のコンサルティング会社が提供するPMHF式の解説動画を見つけたので見ていきます。ほとんどの論文が無視する中で、珍しくこの動画はPart 10に掲載されているPMHF式(下図738.1)をリスペクトしており、
その解説を行っています。そこまでは良かったのですが、以下の画面に誤りがあります。
英文のトランスクリプトを入手したので、画面と合わせて見てみましょう。以下はDeepLによるその翻訳です。
さて、この式を計算しようとすると、いくつかの問題にぶつかる。そこでまず我々は、1番目の欠陥に残留欠陥を加えると、この式の冒頭、1時間あたりの故障に1時間あたりの故障を加えたものになることを示したい。これは問題ない。これでいいのだ。そして、これが我々が求める実際の単位である。PMHFは1時間当たりの故障数である。
ここはちょうど画面(図777.1)上部の下記の式 $$ \frac{Failures}{hour}+\frac{Failures}{hour} $$ を意味します。これは(次元が合っているので)問題ないと言っています。ところが、
しかし、他の表現を見てみよう。1時間当たりの故障数×1時間当たりの故障数×1時間当たりの故障数×1時間当たりの故障数の2乗である。これは数学的に意味をなさない。これは規格ではあまり扱われていない。
画面下部の下記の式に移り、 $$ \frac{Failures}{hour}\times\frac{Failures}{hour}\times hour=\frac{Failures^2}{hour}\ ?? $$ このMPFの式とSPFの式の次元が合わないという主張です。これは解説動画の誤りであり、故障率の次元は動画で言う $$ \frac{Failures}{hour} $$ ではなく、 $$ \frac{1}{hour} $$ というだけのことです。従って規格にはなんら問題はありません。
故障数は1個、2個と数える無次元数です。従ってPMHFを構成するSPFもMPFも単位は故障率の次元と同じく$h^{-1}$となり加算することができます。この後の解説でFTAでは故障率の単位を$h^{-1}$と自ら言っているので、不整合に気付いても良さそうなのですが。PMHFが故障率の次元と同じであることを理解していないのかもしれません。
このように、専門家といえども誤りはあるので、「主語で語らない」$\dagger$ようにしましょう。
$\dagger$「主語で語る」というのは、「誰々さんが言ったから」「〇〇教授が言ったから」等と、無批判に主語の権威付けを利用して自説を正当化する行為
15 |
PMHF式関連論文Rogova2019 (5) |
結論
最後に本論文$\dagger$の結論部分では、
安全機構とミッションブロックが異なる場合、冗長アーキテクチャMooNは異なる非同一チャネルを持つ。この場合、MooN冗長アーキテクチャの一般化PMHF公式の開発は非常に複雑になる。しかし、異なるチャネルを持つアーキテクチャ1oo2に対して式(13)で得られた結果は、両方の公式式において同一のチャネルを仮定した場合の式(9)で得られた結果と等しい。
と述べており、非対称冗長について一般化PMHFが複雑になると言いながら、同一のチャネルを仮定しているのは理解できません。複雑であっても"m"と"sm"は非対称冗長の場合、異なる故障率を持つためです。これは前稿で指摘の(iv)項です。
同じく結論部分において、
今後の研究課題としては、本論文で開発したPMHF公式をMooN冗長アーキテクチャ向けに拡張し、多点欠陥検出間隔を持つ安全機構のテストや、非同一チャネルの考慮を含めることが考えられる。
と書いており、これらが考慮されていないことは著者自身でも課題(ないしは問題)だと思っているようです。これら2つの課題は、
- MPF検出率(DC)及び検出周期$\tau$を持つ2nd SMの効果
- 非対称冗長チャネル
であり、それぞれ前稿で指摘の(ii)(iii)及び(iv)項にあたります。著者はこの考慮を今後の研究課題としていますが、ISO 26262コンプライアンスを考えれば、本来は最初からこれらの条件を含めるべきでした。
また、本論文も例に漏れず、揃って規格のPMHF式を無視していますが、一つにはPart 10は参考情報であり、そのため読まれていないのではないでしょうか?どうも規格式について全般的にリスペクトが不足しており、まともに読んで批判しているのは弊社だけのように思います。
PFHとPMHFの比較と言うのは良い着眼であり、弊社でも過去に取り上げています。それに従えば、どちらも定義は「$\img[-1.35em]{/images/withinseminar.png}$」ですが、PFHが非修理系を対象にしているのに比べ、PMHFは定期検査修理を前提にしているため、その反映により計算式は異なってくるわけです。具体的には$\img[-1.35em]{/images/withinseminar.png}$が異なり、それらが次回RAMS 2025投稿論文のテーマです。
なお、本稿はRAMS 2025に投稿予定のため一部を秘匿しています。
$\dagger$E. Rogova, C. Nowak, M. Ramold, et al., "Comparison of Analytical Formulas of PFH and PMHF Calculation for M-out-of-N Redundancy Architecture," Europ. Safe. Reliab. Conf.,, pp.1-5, 2019
12 |
PMHF式関連論文Rogova2019 (4) |
アブストラクトの最後
本論文$\dagger$の最初に戻ってみると、アブストラクトの最後に、
本論文で示す比較分析により、PFH公式とPMHF公式が異なるケーススタディに対して同様の結果を与えることが実証された。
と主張していますが、ISO 26262の仮定を捨ててIEC 61508と同様な非修理系という誤った仮定を導入すれば、似たような式が得られても当然です。
本来はPeriodic inspection and repair (PIR) 保守戦略に基づく不稼働度を計算すべきであり、その仮定の元ではPMHF式は似たような式にはなりません。
誤りの背景
総じてこれらの仮定の誤りはISO 26262を良く分析していないことからくるものと思われ、これはIEC 61508出身の研究者にしばしば見られる現象です。それは、IEC 61508の観点からしかISO 26262を眺められないところに原因があります。
彼らの論文や資料には特有のパターンがあり、ISO 26262の論文や資料であるにも関わらずDU, DDで始まったら要注意です。そもそもISO 26262にはDU, DD等の用語はなく、かつDU, DD故障率はオブザーバブルではないため、以下のように1st SMのカバレージであるKパラメータ$K_\text{RF}$を用いて示すべきです。 $$ \lambda_\text{DD}=K_\text{RF}\lambda_\text{IF},\ \lambda_\text{DU}=(1-K_\text{RF})\lambda_\text{IF} $$
さらに、ISO 26262に存在する故障の区別、具体的にはSPFとDPFの区別がIEC 61508には存在しません。DPFは1oo2として取り扱うべきです。多くの著者はIEC 61508には存在しないLF(以下の式の$\lambda_\text{MPF,l}$)の概念が理解できずに故障率を以下の誤りの式の如く、全て加算してしまいがちです。過去記事中の論文や資料にも同様な誤りが見られます。 $$ \lambda_\text{DD}=\lambda_\text{SPF}+\lambda_\text{RF}+\lambda_\text{MPF,l} $$
さらに、修理の概念が無いようで、ISO 26262の基本の仮定であるPIRを考慮していません。
「ISO 26262などはIEC 61508の派生ないし亜流だ」と言う誤った考えを持たないことが、ISO 26262の理解の秘訣となります。
$\dagger$E. Rogova, C. Nowak, M. Ramold, et al., "Comparison of Analytical Formulas of PFH and PMHF Calculation for M-out-of-N Redundancy Architecture," Europ. Safe. Reliab. Conf.,, pp.1-5, 2019
11 |
PMHF式関連論文Rogova2019 (3) |
仮定のまとめ
本論文$\dagger$はその中程に、置いた4つの仮定をまとめてリストしています。
(i) すべての危険故障の故障率は,λD である(IEC 61508 の概念では DD と DU を区別せず,ISO 26262 の概念では SPF,RF,DPF 及び MPF を区別しない)
(ii) PFH 公式におけるプルーフテスト間隔$\tau$は、PMHF 公式における運転寿命間隔 $T_{Lifetime}$と等価である
(iii) システムは修理不可能である
(iv) チャネルが同一で独立している
これはいずれも誤りです。一項目ずつ見ていきます。
- IEC 61508はいざ知らず、ISO 26262においてはSPF, RFとは区別せず、DPF, MPFも区別せずで良いですが、それら2グループには明確な区別があります。言うまでもなく故障によるVSG確率が全く異なるため、それを考慮しなければなりません。具体的にはDPFは2重故障を意味するため、故障確率の2乗項が出現します。
- 「PMHF式では$\tau=T_{lifetime}$として良い」と言っていますが、前稿で指摘したようにこれは誤りで、ISO 26262にもプルーフテストというか定期検査修理は存在するため、テスト周期は$\tau$となり、車両寿命ではありません。反対にこう仮定すると、2nd SMの存在が無いことになります。規格書では2nd SMの存在がブロック図に書かれているにも関わらず、それが無視されています。
- ISO 26262で対象とするサブシステムは修理可能です。Part 10のPMHF式の箇所に、ドライバーがMPFを通知され、修理工場へ持ち込む表現があります。もちろんMPFを検出するのが2nd SMです。
- チャネルは前項のように、独立であっても同一ではありません。「冗長」は必ずしも対称冗長を意味しません。
以上から、論文途中の仮定リストの全点が誤っている(=ISO 26262非互換である)ため、ここから先の検討は不要となります。
$\dagger$E. Rogova, C. Nowak, M. Ramold, et al., "Comparison of Analytical Formulas of PFH and PMHF Calculation for M-out-of-N Redundancy Architecture," Europ. Safe. Reliab. Conf.,, pp.1-5, 2019
10 |
PMHF式関連論文Rogova2019 (2) |
不当な仮定1
正しく引用されたことは良かったのですが、本論文$\dagger$では弊社の式に対して新たに以下の(12)という仮定を加えており、残念なことにこれでは一般性を失う不要な仮定です。
$$ \lambda_{m,MPF}=\lambda_{sm,MPF}=\lambda_{MPF}=\lambda_{D}\tag{12} $$
この(12)の意味するところは"m"も"sm"も同じ故障率を持つこと、すなわち対称冗長を意味しており、これは特殊な場合に限られます。
反例を示すと、例えば過去記事の図70.1に示すヘッドライト装置の実例のように、
メカスイッチからのON信号をメインのチャネルではマイコンで点灯し、バックアップチャネルではトランジスタで点灯するような非対称冗長には(12)は当てはまりません。以下のように"m"系の故障率のほうが"sm"系よりも巨大になるためです。 $$ \lambda_{m,MPF}\gg\lambda_{sm,MPF} $$ さらに言えば、このような非対称冗長は、特にASIL分解においては、規格ではむしろ推奨されています。マイコンに低いASILを割り当てておき、複雑なシステムの開発を容易にできる一方、壊れにくい単純なトランジスタで元の安全要求を保証できるためです。
不当な仮定2
さらに別の仮定の問題があります。弊社の式における2nd SMの検査周期である$\tau$について、$\tau=T_{lifetime}$と仮定してしまったことです。これは2nd SMが存在しないか、あるいはDCがゼロであることを意味します。これは誤った仮定です。
なぜそうしたかはその箇所には書かれていませんが、アンリペアラブルという仮定を置いているのが後からわかります。
$\dagger$E. Rogova, C. Nowak, M. Ramold, et al., "Comparison of Analytical Formulas of PFH and PMHF Calculation for M-out-of-N Redundancy Architecture," Europ. Safe. Reliab. Conf.,, pp.1-5, 2019
ページ: