Posts Tagged with "ISO 26262"

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

詳細を見れば誤りはさらに種々あります。まず、Fault TreeのTOPの図を示します。ここで、エレメントAやBは前々稿図205.1に示す、完全冗長を構成する2つのエレメントを指します。

図%%.1
図207.1 FT図(参照論文の図)
5つの場合分けをして考えています。
  • E1  A&Bに同時にSPFが起こる
  • E2  AにRFが起き、引き続きBにSPF/RFが起こる
  • E3  BにRFが起き、引き続きAにSPF/RFが起こる
  • E4  AにLFが起き、引き続きBにSPF/RFが起こる
  • E5  BにLFが起き、引き続きAにSPF/RFが起こる

まず事象E1ですが、エレメントAとBは同時に故障する確率はa.s.(almost surely; ほぼ確実に)0なので、これ以下のサブツリーは考える必要がありません。

次に{E2, E4}, {E3, E5}のペアで考えると、{E2, E4}はどちらも先にAに故障が起き、次にBに故障が起きるDPFを意味しています。その中で、Aの先故障をさらにRFとLFに分解しています。

ここで、(書かれていませんが)AにSPFが起こらないのは正しいです。Aに故障が起きても必ず(従属故障が無い限り)Bが代替機能を果たすため、系(サブシステム)としてSPFにはなりません。

次に事象E2においてAにRFが起きるという記述が誤りです。AにRFが起きるということは、Aの1点故障によりVSGが起きることなので、Aに故障が起きても必ず(従属故障が無い限り)Bが代替機能を果たすため、VSGは起きません。従って、Aの故障の場合はLFとなり、全て事象E4になります。従って、E2は考慮する必要がありません。

事象E3も同様です。以上から、E1, E2, E3は不要で、E4, E5のみが残ることになります。


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

posted by sakurai on February 21, 2020 #206

この論文でも、ターゲットの目標値はPMHFとなっていますが、算出において規格のPMHF式を尊重していません。サブシステムの不信頼度を $$F(t)=1-e^{-\lambda t}$$ との式で計算しており、これは修理可能性を考慮していないことを表しています。ただし、前論文とは異なり図206.1の赤で示すように、$\lambda_{RF}=(1-DC)\lambda$は計算に入っているのでましです。ただし、RFと書かれていますが、後で説明するように、これはLFです。1点故障は全て冗長相手チャネルによりVSG抑止されるので、100%レイテントとなるためです。

図%%.1
図206.1 故障率

再度整理すると、正しい考え方は、

  1. E1及びE2の2つのエレメントにより構成される冗長系は、マルコフ連鎖で表される。
  2. E1、E2それぞれのエレメントは修理可能(つまり不信頼度$F(t)$ではなく、不稼働度$Q(t)$となる)
  3. PMHF式はこれらを考慮し、系の車両寿命における平均不稼働確率Q(T)を表したものであり、 PMHF式に基づきFault Treeを構成する

でなくてはなりませんが、参照論文はこのうち、2.及び3.が満足されていません。

このように専門家であっても同じような誤りを起こす原因は、規格が理解しやすく書かれていないためだと考えます。ただ、規格屋さんに言わせれば、「規格は論文でもなければ教科書でもない」とのことなので、分かりやすさは追究していないようです。そのためこのような解説ブログの存在意義があります。


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

posted by sakurai on February 20, 2020 #205

次は前回紹介した論文も参照している論文$\dagger$です。本稿ではこれを参照論文といいます。 参照論文の対象は冗長構成のEPSですが、まず一般的な完全冗長サブシステムで議論します。

図%%.1
図205.1 完全冗長サブシステム

参照論文もPMHF式を使用していません。その代わりに定量FTAのそれぞれの基事象において確率が時間変化する、つまり確率過程であることをマルコフチェインを組み合わせて解いています。図205.2に参照論文の概念図を示します。これは論文中には無く、弊社が作成したものですが、前述の言葉で説明したものを図化したものです。

図%%.2
図205.2 論文の概念図

マルコフチェインを用いる考え方は概ね正しいものの、実はマルコフチェインを用いてPMHFを求めたものが、規格のPMHF式であり(ブログ記事#102~109を参照)、PMHF式に従えばこの定期検査修理を含む確率過程を織り込んだものとなっているため、再度基事象を確率過程として捉える必要はありません。

上で概ねと書いた部分ですが、本来マルコフチェインは修理を考慮する必要があります。SM1 (1st order SM)が先に故障する場合、SM2 (2nd order SM)により定期検査を受け、故障が検出された場合は直ちにゼロ時間で修理されるのが、ISO 26262の考え方です。ということは'1'の状態から'00'状態に戻る場合が存在します。


$\dagger$ https://www.researchgate.net/publication/323450274_A_mixed_model_to_evaluate_random_hardware_failures_of_whole-redundancy_system_in_ISO_26262_based_on_fault_tree_analysis_and_Markov_chain


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

posted by sakurai on February 14, 2020 #204

書き換えたFTの評価

図202.1に対して図203.1の書き換えを適用したものが図204.1のFTです。このFTに対してカットセット分析を実施し、TOP事象の確率を求めます。

図%%.1
図204.1 弊社提案のEBDサブシステムのFT(ワーストケース)

同様にツールを用いてMCSを求めると、MC数は42個に増加します。しかし前述のように、これには3個以上のエレメント故障が含まれるためツールで削除します。すると、表204.1のように24個のMCが得られ、TOP事象の確率は$4.35\times 10^{-5}$、PMHFは8.70[FIT]となります。表204.1中のC_DC_OL_MONは、1からオンラインモニタのDCを引いた定数であるため、これはエレメント故障数にカウントされません(青字で定数を表示)

表204.1 図204.1のFTのMCS
表%%.1

このように、PMHF式を尊重せず、LFを見逃しDPFのみとすることで、2.7倍も故障確率を甘く(低く)見る事になります。保守的に(高く)見積もるのであれば安全側なのでOKですが、不稼働確率の過小評価は危険側のため、良くありません。

再度整理すると、正しい考え方は、

  1. E1及びE2の2つのエレメントにより構成される冗長系は、マルコフ連鎖で表される。
  2. E1、E2それぞれのエレメントは修理可能(つまり不信頼度$F(t)$ではなく、不稼働度$Q(t)$となる)
  3. PMHF式はこれらを考慮し、系の車両寿命における平均不稼働確率Q(T)を表したものであり、 PMHF式に基づきFault Treeを構成する

ですが、参照論文はこのうち、2., 3.が満足されていません。1.は当然なので、ほとんどが間違いということになります。

RAMS 2021において、PMHF式に基づくFTA構築法の論文発表が終了したため、本記事を開示します。


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

posted by sakurai on February 13, 2020 #203

保守的なPMHF式

さらに、参照論文では不信頼度 $$F(t)=1-e^{-\lambda t}$$ を用いた非修理系として扱っていますが、これはISO 26262の考え方と合いません。規格では主機能と安全機構のDPFまで考慮する必要があり、安全機構は修理可能として扱います。そのため2nd order SMが必要であり、周期的な検出(検出周期=$\tau$)と修理(検出カバレッジ=$K_\text{SM,MPF}$)が前提となります。修理系において不信頼度$F(t)$は不稼働度$Q(t)$となり、

$$Q(t)=(1-K_\text{SM,MPF})F(t)+K_\text{SM,MPF}F(t\bmod\tau)\\ =(1-K_\text{SM,MPF})(1-e^{-\lambda t})+K_\text{SM,MPF}(1-e^{-\lambda(t\bmod\tau)})$$ これからPMHFを求めると、

$$M_\text{PMHF}=(1-K_\text{IF,RF})\lambda_\text{IF}+K_\text{IF,RF}\lambda_\text{IF}\lambda_\text{SM}[(1-K_\text{SM,MPF})T_\text{lifetime}+K_\text{SM,MPF}\tau]$$

ここでワーストケースを考え、2nd order SMが無い(カバレージがゼロ、$K_\text{SM,MPF}=0$として評価します。これは保守的な評価です。すると、上式のPMHFは、

$$M_\text{PMHF}=(1-K_\text{IF,RF})\lambda_\text{IF}+K_\text{IF,RF}\lambda_\text{IF}\lambda_\text{SM}T_\text{lifetime}\\ =\lambda_\text{IF}[(1-K_\text{IF,RF})+K_\text{IF,RF}\lambda_\text{SM}T_\text{lifetime}]$$ 従って、基本的にFTはこの評価式を実装することになります。

FTの書き換え

参照論文ではLFを考慮せずに、単純にDPFとしていましたが、上記のようにLFを考慮したほうが正確です。これを確率式で表せば、

$$(\lambda_\text{IF}T_\text{lifetime})(\lambda_\text{SM}T_\text{lifetime})\to(\lambda_\text{IF}T_\text{lifetime})[(1-K_\text{IF,RF})+K_\text{IF,RF}(\lambda_\text{SM}T_\text{lifetime})]$$

となり、図203.1のFTの書き換えのように構成します。図の左は参照論文のFTであり、右は変更後のFTです。

図%%.1

図203.1 DPFの書き換え(LFを追加)

FTAツールは確率で取り扱い、ミッション時間の計算は自動的に行われるため、明示的に$T_\text{lifetime}$を掛ける必要はありません。

RAMS 2021において、PMHF式に基づくFTA構築法の論文発表が終了したため、本記事を開示します。


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

posted by sakurai on February 12, 2020 #202

参照論文の問題点

参照論文では、EBDノードを含めた全体について、定量的にFault Treeを用いたMCS(Minimal Cut Set)分析を行っており、問題は2つあります。

  • ISO 26262規格のPMHF式を参照していない
  • On-lineモニタのカバレッジが参照されていない。

この2つは関連する問題です。具体的に表202.1のとおり数値を入れてみてみます。On-lineモニタは参照論文に数値が無かったため、SMとして低めの数値を入れました。

表202.1
Subsystem Component Failure Rate [1/h]
EBD Node Brake ECU $3.3\times 10^{-7}$
Electronics Brake Module (EBM) $4.2\times 10^{-7}$
On-line monitor for EBM $1.1\times 10^{-7}$

誤ったFTA

この数値に基づき、参照論文のEBDサブシステムのFTをツール(SAPHIRE)により構成すれば、図202.1のようになります。

図%%.1
図202.1 参照論文のEBDサブシステムのFT

誤ったMCS

図202.1は論文のFTですが、このFTに対してカットセット分析を実施し、EBDサブシステムの故障確率を求めます。ツールを用いてMCSを求めると、表202.2のように24個の積項(Minimal Cut)が得られ、EBDサブシステムの故障確率は$1.63\times 10^{-5}$となります。参照論文ではミッション時間を5,000[H]としているため、"PMHF"(本当は車両故障確率の時間平均)は3.26[FIT]となります。

表202.2 EBDサブシステムのFTのMCS
表%%.2

ISO 26262では3つ以上のエレメント故障は安全故障としています。これは(規格には明確に書かれていませんが)確率が非常に低くなるためです。従って、3つ以上の故障を枝刈り(slice)すれば、表202.3のMCSとなります。積項数は6個に減少するものの、故障確率も"PMHF"も変わりません。

表202.3 枝刈りをしたMCS
表%%.3
便宜上、時間平均VSG確率を"PMHF"としましたが、本来PMHFと呼ぶためにはPMHF式を尊重しなければなりません。以上のように、本論文の手法では"PMHF"が非常に低く計算されます。その理由はon-lineモニタのカバレージをほぼ100%としているためです。

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

posted by sakurai on February 11, 2020 #201

ISO 26262のFTA関連の2つの論文を紹介します。

最初に紹介するのは"ISO 26262 ASIL-Oriented Hardware Design Framework for Safety-Critical Automotive Systems"という論文$\dagger$で、 PMHFターゲットに対してシステムをFTAを用いて分析し、弱い部分を定量的に抽出し、そこにSMを追加し、最終的にPMHF目標を満たす設計手法を提案するという、大変興味深いものです。ただ、残念ながらこの論文にはランダムハードウェア故障の確率の評価値(いわゆるPMHF)について問題があるため、それを取り上げます。

この論文(以下参照論文と言う)は以下のところから取得できます。

この論文ではAEB(autonomous emergency braking system)を題材としています。以下にAEBシステムのFT(Fault Tree)を示します。

図%%.1
図201.1 AEBシステム

AEBはかなり大規模なシステムであるため、FTの一部を抜き出します。図201.2がその一部で、これにEBDサブシステムと名付けます。

図%%.2
図201.2 AEBシステムの一部(EBDサブシステム)

EBDサブシステムは図201.2のように、EBDノード4冗長で構成されます。参照論文では図201.3のように、EBDノード1チャネルのEBM(Electronic Brake Module)に対してOn-line Monitorを付加してPMHFを下げたと主張しています。

図%%.3
図201.3 EBDノード1チャネル

$\dagger$Chen, Yung-Yuan & Lu, Kuen-Long. (2019). ISO 26262 ASIL-Oriented Hardware Design Framework for Safety-Critical Automotive Systems. 10.1109/ICCVE45908.2019.8965235.


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

確率論 (22)

posted by sakurai on February 10, 2020 #200

2項過程

時間間隔$[0, t]$において、$k$個の故障が起きる確率を考えます。まず離散時間の場合、単一の部品の故障確率を$p$、故障個数を表す確率変数を$X$とすれば、 $$\Pr\{X=k\}={}_n\mathrm{C}_k(1-p)^{n-k}p^k\ \ \ \ \ \ \ \text{for }k=1,2,...,n$$ 前回と同様に、単一の部品の故障率を$\lambda$、時間間隔$[0, t]$を$n$等分した一つの時間間隔を$\Delta t$とすれば、 $$p=\lambda\Delta t=\lambda\frac{t}{n}$$ よって、 $$\Pr\{X=k\}=\frac{n!}{(n-k)!k!}\left(1-\frac{\lambda t}{n}\right)^{n-k}\left(\frac{\lambda t}{n}\right)^k\ \ \ \ \ \ \ \text{for }k=1,2,...,n$$ 確率変数$X$は2項分布し、この確率変数は時間によって変化するため、$X(\omega)$と時刻$t$の直積をとった確率変数$X(\omega, t)$の集合$\{X(\omega, t)\}$を2項過程といいます。

ポアソン過程

前式において、$n\to\infty$の極限を取れば、 $$\Pr\{X=k\}=\lim_{n\to\infty}{}_n\mathrm{C}_k(1-p)^{n-k}p^k$$

$$=\lim_{n\to\infty}\frac{n!}{(n-k)!k!}\left(1-\frac{\lambda t}{n}\right)^{n-k}\left(\frac{\lambda t}{n}\right)^k$$

$$=\lim_{n\to\infty}\frac{n(n-1)...(n-k+1)}{n^k}\cdot\frac{1}{k!}\left(1-\frac{\lambda t}{n}\right)^{n-k}\left(\lambda t\right)^k\\ =\frac{(\lambda t)^k}{k!}e^{-\lambda t}$$ これをポアソン過程と呼びます。部品の故障は連続時間中に起こり、その確率は低いので、ポアソン過程として取り扱うことができます。


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

posted by sakurai on February 5, 2020 #109

1st EditionのPMHF式

以下に1st EditionのPMHF第1式及び第3式を示します。第1式はIFによりSPFもしくはDPFが発生する場合のみを数え上げた式であり、第3式はそれに加えてSM1によるDPFも加えた式です。従って、全ての場合を考えるならば第3式を使うのが正しいと考えます。

図%%.1
図109.1 1st EditionのPMHF第1式

図%%.2
図109.2 1st EditionのPMHF第3式

1st EditionにおいてはIFがアンリペアラブル、SM1がリペアラブルという前提での計算に基づいていると考えらえます。その理由は、この前提で、前稿のCTMCから平均PUDを求めると、正確に上2式と一致するためです。

2nd EditionのPMHF式

以下に2nd EditionのPMHF式を示します。

図%%.3
図109.3 2nd EditionのPMHF式

ISO 26262の2nd EditionのPMHF式は、1st Editionとpattern3、4が異なっており、対称性からみて前提が追加されていると考えます。2nd Editionでは1st Editionの前提(pattern 1, 2)に加えて、その反対の状態(pattern 3, 4)つまりIFがリペアラブル、SM1がアンリペアラブルの場合の両側についてPMHFを求めていると推測します。ただし、$T_{\mathrm{lifetime}}$項と$T_{\mathrm{service}}$項がなぜ2倍異なるのかの理由は判明していません。追記:2年後に判明したのでこの記事に記載しました。

しかしながら、弊社ではこの前提は誤りではないかと思います。初期状態、つまりフォールトが起きていない状態においては、IF、SM1の両方ともがリペアラブルが正しく、上記の仮定においては故障確率を過大に見積もりすぎています。

例えば、SM1がフォールトし、そのフォールトがSM2により検出され、検出周期の最後でリペアされる場合(pattern 2)を考えます。規格ではこの場合は最初にSM1がフォールトしてしまうと、最終的にはIFのフォールトによりDPFとなる場合のみがカウントされます。なぜなら、どちらかがリペアラブルだと他方はアンリペアラブルだからです。つまりこの場合、SM1がリペアラブルの場合は自動的にIFはアンリペアラブルという前提です。

ところが、実際にはSM1がリペアされた場合は初期状態と同じ状態に戻るため、次にIFがフォールトし、SM1により検出されリペアされる場合(pattern 4)もありえます。典型的な例は、SM1がフォールトしリペアされ、次にIFがフォールトしリペアされるように、交互にリペアされる場合です。この場合はDPFが起きないにも関わらず、2nd EditionではSM1がフォールトから始まると、SM1はリペアラブルに固定されます。そしてIFはアンリペアラブルに固定されます。

従って、実際にはDPFは起きませんが、IFのフォールトでDPFとカウントされ、結論として過大にフォールト確率を見積もっています。

もしかすると、LAT2にいる状態ではSM1がフォールトしているので、IFはリペアされない(IFはアンリペアラブル)と考えたのではないでしょうか。ところが、IFのリペアラビリティはSM1ではなく、SM2にのみ依存し、かつSM2は故障しないため、IFはリペアラブルです。従って、本稿のほうが正しいと考えます。

RAMS 2020においてPMHF式の論文発表が終了したため、本記事を開示します。


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

posted by sakurai on February 5, 2020 #108

SPFの再計算は必要?

前記事ではDPF1に関する平均PUDを再計算しました。IFの条件がアンリペアラブルからリペアラブルに変更され、リペアすることにより(一部の)OPRの状態確率が上がったためです。

しかし、SPFの確率は上がりません。その理由は、リペアによってIF downからIF up状態に戻ったということは、元のdownした時にはVSG抑止されていたはずです。そのため、リペアはDPF確率のみに影響し、SPFは全く無関係となります。従って、

$$ \overline{q_\text{SPF,IFR}}=\overline{q_{\mathrm{SPF,IFU}}}\tag{108.1} $$

よって、(103.7)(107.8)(106.4)を加え合わせて、 $$ \begin{eqnarray} \require{cancel} M_{\mathrm{PMHF}}&=&\overline{q_{\mathrm{SPF,IFR}}}+\overline{q_{\mathrm{DPF1,IFR}}}+\overline{q_{\mathrm{DPF2,IFR}}}\\ &=&(1-K_\text{IF,RF})\lambda_\text{IF}-\bcancel{(1-K_\text{IF,RF})\alpha}+\bcancel{(1-K_\text{IF,RF})\alpha}+K_\text{IF,RF}\beta+K_\text{IF,RF}\beta\\ &=&(1-K_\text{IF,RF})\lambda_\text{IF}+2K_\text{IF,RF}\beta\\ &=&(1-K_{\mathrm{IF,RF}})\lambda_{\mathrm{IF}}+ K_{\mathrm{IF,RF}}\lambda_{\mathrm{IF}}\lambda_{\mathrm{SM}}[(1-K_{\mathrm{MPF}})T_\text{lifetime}+K_{\mathrm{MPF}}\tau], \\ & &ただし、K_{\mathrm{MPF}}:=K_{\mathrm{IF,MPF}}+K_{\mathrm{SM,MPF}}-K_{\mathrm{IF,MPF}}K_{\mathrm{SM,MPF}} \tag{108.2} \end{eqnarray} $$ 2nd Editionの規格式とは異なるものの、これが正解と考えます。

一旦結論が出ましたが、次の記事に続きます。

RAMS 2020においてPMHF式の論文発表が終了したため、本記事を開示します。


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


ページ: