Posts Tagged with "ISO 26262"

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

Pattern 1と2

式の右側にPattern 1から4まで番号が振られていますが、以前の記事で解説した場合分けに対応しています。最初にPattern 1と2を見てみます。

  • Pattern 1: SM1⇒IFの順にフォールトが発生し、SM1のフォールトはSM2によって緩和されるが通知されない、または緩和されない。フォールトの暴露時間は、最悪の場合の暴露時間である車両寿命となる。
  • Pattern 2: SM1⇒IFの順にフォールトが発生し、SM1のフォールトは、SM2によって緩和され通知される。フォールトの暴露時間は、運転手が修理のために車両を持ち込むのに必要な予想される時間。

このように、Pattern 1も2も最初にSM1にフォールトが発生し、引き続き、IFにフォールトが発生する場合、つまりSM1⇒IFのDPFの状況を表しています。

暴露時間

DPFが起きる可能性のある期間は、Pattern 1と2で異なり、Pattern 1では車両寿命$T_\text{lifetime}$、Pattern 2では運転手が修理のために車両を持ち込む時間$T_\text{service}$です。この期間のことを、規格では暴露時間と呼んでいます。どうして暴露時間と呼ばれるかと言えば、本来、安全機構が意図機能を保護しているはずですが、安全機構が先にフォールトすることにより、保護が外れ、意図機能が故障に対して暴露されて脆弱になっている期間であるためです。

この期間は安全機構がレイテント状態となっています。これは潜在的に故障しているという意味です。潜在的とは、直ちに故障が危険状態にはつながらず、意図機能の保護が外れている状態を指します。

Pattern 1と2の条件

Pattern 1と2の条件を論理式で書いてみます。まず、Pattern 1の条件であるLFを増加する条件は、2nd SMであるSM2によるSM1のLFの $$ (緩和\cap \overline{通知})\cup\overline{緩和}=\overline{通知}\cup\overline{緩和}=\overline{(緩和\cap通知)} $$ であり、Pattern 2の条件であるLFを減少する条件は、SM2によるSM1のLFの $$ 緩和\cap通知 $$ です。条件としては全てをつくしています。これが正しいかを次の節で検証します。

緩和と通知、修理

ここで、緩和とは何でしょうか?緩和とは悪い影響を減らすことです。従って、ここでいう緩和とは「SM1のLFを減らすという意味」だと考えられます。例えばSM1とSM2が冗長となっている場合には、SM1のフォールトは直ちにLFとはならず、SM2がバックアップします。これは通知はしませんが緩和する場合のLF削減の例です。

一方、SM2がSM1のフォールトを検出すると、緩和はされず通知を行います。警告表示等によりドライバーが車両を修理工場へ持っていき、そこでSM1が修理されることにより、LFの削減が起こります。 Pattern 2の修理という文言で分かるように、規格はフォールトを検出・通知すると、そのフォールトは修理されるのが前提になっています。

このように考えると、SM1のLF削減条件は、 $$ 緩和\cup通知 $$ のように思われます。ところが、2nd Editionで新たに追加された条件である、SM1のフォールトがVSGの可能性を持つことを考えれば、先の緩和を拡張し「SM1のVSG(RF)及びLFの可能性を減らす」ことだと考えます。

SM1のVSG(RF)を減らす条件は、 $$ (VSG)緩和 $$ であり、SM1のLFを減らす条件は、上記のとおり、 $$ (LF)緩和\cup通知 $$ となり、$緩和\cap通知$とはならないようです。いずれにしろ、規格の用語の定義がはっきりしていないために、矛盾が起きてくる例です。例えば、

  • SM1のフォールトによるVSGの可能性はあるのかないのか
  • 緩和とはVSG(RF)の緩和なのかLFの緩和なのかその両方なのか

について、はっきりしていなかったり混乱が見られます。


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

posted by sakurai on November 13, 2020 #333

DC添え字ネーミングルールの変更

  • DCのネーミング法が1st Editionから変わった。

DC(Diagnostic Coverage)のネーミング法が、対象エレメントからプロパティオウナに変更になりました。

例えば図333.1の式において、

図%%.1
図333.1 2nd Edition PMHF式(部分)

$K_\text{FMC,SM1,RF}$は、1st editionでは$K_\text{FMC,RF}$と書かれていました。これは、IF(対象)の検出カバレージであることから、$K_\text{FMC,IF,RF}$の意味でした。故障率の式中の記号、例えば故障率やDCが、全て対象エレメントで揃うため、誤りにくいことが利点でした。

しかし、2nd editionからこれはSM1のプロパティであるということから、$K_\text{FMC,SM1,RF}$と書かれるようになりました。対象ではなく、そのプロパティを所有しているエレメントに変わったので、わかりにくくなりました。

従来の形式で書けば、図333.1の添え字は、以下のように全てIFで統一されます。 $$ \lambda_\text{IF,DPF,secondary}=(1-F_\text{IF,safe})F_\text{IF,PVSG}K_\text{FMC,IF,RF}\lambda_\text{IF} $$

図333.2に別の例を示します。

図%%.2
図333.2 2nd Edition PMHF式(部分)

これはSM1のフォールトのうちプライマリのLFとなる場合ですが、SM1のプライマリDPF故障率($\lambda_\text{SM1,DPF,primary}$)にSM2により検出できない割合($1-K_\text{FMC1,SM2,MPF})$をかけています。1st editionであればこれは$K_\text{FMC,SM1,MPF}$のように、添え字を対象で表したのですが、2nd editionではプロパティのオウナのSM2と表記されるため、式の統一感がなくなりました。

1st editionの形式で書けば、図333.2の添え字は、以下のように全てSM1で統一されます。 $$ \lambda_\text{SM1,DPF,latent,primary}=\lambda_\text{SM1,DPF,primary}\cdot(1-K_\text{FMC1,SM1,MPF})\\ =(1-F_\text{SM1,safe})(1-F_\text{SM1,PVSG})(1-K_\text{FMC1,SM1,MPF})\lambda_\text{SM1} $$


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

posted by sakurai on November 12, 2020 #332

DPFの使用法の混同

図332.1に、あるエレメントに1点目のフォールトが起き、その後定期検査が行われ、フォールトが分類され、しばらく運転した後(数年後かもしれない)、関係するエレメントに2点目のフォールトが起きてSGを侵害する場合のDPFの状況を示します。

1点目と2点目のエレメントは関係するエレメントである必要があります。関係とは、1点目のIFのフォールトに対する2点目のSM1のフォールト、あるいはその逆の、1点目のSM1のフォールトに対する2点目のIFのフォールトの意味です。これらのフォールト生起順をIF⇒SM1、SM1⇒IFと記述します。この記法は弊社論文で初めて導入したものです。

ここで、primary DPFに注目すればSM1⇒IFの場合であり、図332.1において、最初がSM1のフォールト、次がIFのフォールトとなる場合です。

図%%.1
図332.1 2つのDPFの図解

ところが、ややこしいことに、最初に起きるのはSMのDPF(=DPF,{latent, detected, percieved}の総称)=primary DPFであり、次にIFのDPFが起きるので、両方ともDPFと呼ばれます。実は、primary DPFもsecondary DPFも最初のフォールトのことです。これが規格を分かりにくくさせています。

まとめるとDPFには2とおりの意味があります。

  1. 1点目のフォールトであり、ただちにVSGとならず、別のフォールトとの組み合わせによりVSGとなる可能性のあるもの
  2. 2点目のフォールトであり、1点目のフォールトとの組み合わせによりただちにVSGとなるもの

このように、規格は誤解しやすいネーミング法を取っており、DPFといったときに2とおりの意味があります。最初に起きる「SMのDPF=primary DPF」は、あくまで1点目のフォールトです。これはどちらかと言えば誤った用語であり、本来は本当に2点目に起きるフォールトをDPFと呼ぶべきです。1点目フォールトのことをDPFと呼ぶのは紛らわしいので、用語を変え、例えばPotential Fault (PF)として欲しかったところです。

ただし、式の計算中のDPFは、全て1点目のフォールトと思えばOKです。その理由は、2点目のフォールトが起きる場合はVSGとなるので、その故障率を使用することはないためです。従って式の計算中にDPFとあれば、全て1点目のフォールトだと文脈で分かります。


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

posted by sakurai on November 11, 2020 #331

secondary DPF

図172.1(再掲)にDPFがsecondaryとなる場合を示します。図172.1の箱qから箱tに分解される部分(violation prevented)の故障率がこのsecondary DPFです。

図172.1
図172.1 Part 10故障分類フローチャート(再掲)

箱qの中には、

SMがSGを直接侵害を防止するフォールトの割合は($F_\text{RF}$)?

と書かれています。SMの場合、基本的にSGの直接侵害は無いため、$F_\text{SM,RF}$は通常0ですが、2nd editionでは存在するようになりました。規格には例としてECCが書かれており、ECCはSMといえども、そのフォールトがSGを直接侵害する可能性があるSMです。従って、SM(のIF部分)のSG侵害が(1st )SMにより防止される特殊な場合には、SMのsecondaryフォールトも存在します。


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

posted by sakurai on November 10, 2020 #330

DPFの分解

  • DPFをprimaryとsecondaryに分けている。

規格の訳文は、

DPFは、primary DPFとsecondary DPFに分類されます。
primary DPFは、そのフォルトを制御するSMが存在しない場合でも、それ自体でSG違反を引き起こすことはできません。
secondary DPFはSG違反の可能性がありますが、SG違反を緩和するSMが存在します。

つまり、原則的にはprimary DPFはSMに発生するDPFであり、secondary DPFはIFに発生するDPFとなります。

primary DPF

図171.1(再掲)にMPFがprimaryとなる場合を示します。図171.1の箱kから箱aeに分解される部分(no potential)の故障率がこのprimary DPFです。

図171.1
図171.1 Part 10故障分類フローチャート

箱kの中の文章は

SMがない場合に、SGを直接侵害する可能性があるフォールトの割合は($F_\text{PVSG}$)?

とあります。通常IFのフォールトは、SMがなければ必ずSG侵害するため、$F_\text{IF,PVSG}$は1(100%)であることから、IFではprimary DPFはあり得ません。規格にはIFでもprimary DPFとなるとありますが、基本的にはIFのprimary DPFは0となります。


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

posted by sakurai on November 9, 2020 #329

2nd EditionのPMHF式を図329.1に示します。

図%%.1
図329.1 2nd Edition PMHF式

2nd EditionのPMHF式はやや複雑になりました。その理由は4つほどあり、以下に緑色のマーキングで示します。

場合分け

  • 場合分けが増えた。

1st editionの第1式がPattern 1~2のみだったのと比べてPattern 3~4が増えました。

  • Pattern 1, 2はSM1⇒IFの順にフォールトするパターンです。最初にフォールトするSM1がリペアラブルであり、2nd SMにより故障検出されます。一方IFはアンリペアラブルです。
  • Pattern 3, 4はIF⇒SM1の順にフォールトするパターンです。最初にフォールトするIFがリペアラブルであり、2nd SMにより故障検出されます。一方SM1はアンリペアラブルです。

そもそもこのように片側だけリペアラブルという非対称性は納得性が薄いです。本来は両方ともリペアラブルである必要があります。例えばサブシステムの対象な構造として冗長構成が考えられますが、IF/SM兼用のエレメントが2個以上並列構成となっているものです。フォールトが起きるまではいずれもIFとして動作しますが、片方のエレメントにフォールトが起きると、直ちに他方のエレメントがIFとして継続して動作するので、フォールトが起きたエレメントはSMと考えられます。

Pattern 3はIFのフォールトが2nd SMにより検出されず、車両寿命間レイテントとなるパターンです。暴露時間は車両寿命間であり、この期間にDPFが起きる可能性があります。

反対に、Pattern 4はIFのフォールトが2nd SMにより検出されるパターンです。検出されれば直ちに修理されるのが規格の暗黙の前提であるため、レイテントとなる時間は検出周期内に限られます。この期間を暴露時間と呼んでおり、この期間にDPFが起きる可能性があります。


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

posted by sakurai on October 28, 2020 #328

表328.1はRAMS 2021正式採択までのマイルストーンです。論文執筆は完了しました。

表328.1 RAMS 2021へのマイルストーン
年月日 マイルストーン 状態
2020/7/3 学会出席確認
2020/8/5 論文、プレゼン投稿締め切り(名前、所属無し版)
2020/9/7→2020/9/16 第1回査読コメント受領
2020/10/2→2020/9/27 改訂版論文、プレゼン投稿締め切り(名前、所属無し版)
2020/10/6→2020/9/21 学会出席登録締め切り
2020/10/13→2020/10/19 最終査読コメント受領
2020/10/27→2020/10/26 最終論文、プレゼン投稿締め切り(名前、所属有り版)


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

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の上で考えなくてはなりません。


$\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%未満だからです。


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


ページ: