Posts Tagged with "ISO 26262"

既に発行済みのブログであっても適宜修正・追加することがあります。
Even in the already published blog, we may modify and add appropriately.
posted by sakurai on June 15, 2019

1st Editionと2nd Editionとの変化点

本稿ではISO 26262:2011を1st Edition、ISO 26262:2018を2nd Editionと呼びます。さて、7年間の議論を経て発効された2nd Editionではどこがどう変わったのでしょうか?

本ブログではハードウェア領域においての変化点をご紹介していきます。ISO 26262においてのハードウェア領域は主にPart 5、Part 10、及びPart 11となります。

Part 5

本文中の細かいところも変更されていますが、一見して目に付くのがAnnexの章立てが変更されていることです。

  • 1st Edition Annex F (スケーリングファクタ)の廃止
  • 2nd Edition Annex F (PMHFの評価例)の追加
  • 2nd Edition Annex G (PMHFバジェッティング例)の追加
  • 2nd Edition Annex H(レイテントフォールト取扱い例)の追加

これらひとつひとつについて、「ISO 26262変化点セミナー」でご説明予定ですが、ブログでも簡単に解説していきたいと思います。

Annex F (スケーリングファクタ)の廃止

スケーリングファクタは異なる故障率データベースからの故障率を混ぜて使用する場合、土台を合わせないと正しく使用できないことから、それについての注意点を記述した章でした。ところが2nd Editionでは削除されています。元々、1st Editionでは9.2.4.7にのみスケーリングファクタが書かれており、そこからAnnex Fへ参照となっていたものです。この9.2.4.7はPMHF手法による、安全目標侵害確率の評価の最後の章となっています。つまり1st Editionでは、PMHFを正しく求める方法としてスケーリングファクタを導出し、故障率の土台を合わせて計算することを要求していました。

一方2nd Editionでは、章が削除されたとはいえ、スケーリングの議論は8.4.3に新設されています。8.4は故障率を異なるデータソースから算出する話なので、スケーリングについて触れるにはちょうど良い場所です。さらに備考に、スケーリングを正しく行わない場合SPFM/LFMにも悪影響が及ぶとあり、スケーリング対象をPMHFのみからアーキテクチャメトリクスまで広げていることは妥当と考えます。

まとめると、独自の章としては削除されたものの、スケーリングは一層重要だということです。


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

posted by sakurai on June 4, 2019

1st EditionのPMHF式

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

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

図109.2
図109.2 1st EditionのPMHF第3式

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

2nd EditionのPMHF式

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

図109.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倍異なるのかの理由は判明していません。

しかしながら、弊社ではこの前提は誤りではないかと思います。初期状態、つまりフォールトが起きていない状態においては、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とカウントされ、結論として過大にフォールト確率を見積もっています。

弊社ではこの過剰見積もりに関する論文をRAMS 2020に投稿中であり、そのため、PMHFに関する最新の研究を一旦非開示としました。2019年10月中に採択の決定が行われる予定であり、その後に開示する予定です。


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

posted by sakurai on May 19, 2019

米国ロチェスター大学の資料によれば、 ランダムプロセス$\eta_t$において、ステート空間を$i, j=0,1,2,...,\in\mathcal{E}$について、以下の式を満足する場合に、ランダムプロセス$\eta_t$は連続時間マルコフ連鎖(CTMC)となります。 $$ \Pr\{\eta_{(t+s)}\in j\ |\ \eta_t\in i, \eta_u\in x_u, u\lt t\}=\Pr\{\eta_{(t+s)}\in j\ |\ \eta_t\in i\} $$ 遷移する確率が、過去の時刻$u$での状態に依存せず、現在時刻$t$での状態にのみ依存することを表します。

CTMCである$\eta_t$において、ステートiからjへの瞬間遷移確率関数(Instantanous Transition Probability Function)$P_{ij}$の式は以下のようになります。ただし、元の式を「信頼性関係式の定義式の表現」で導入した記法に変更しています。 $$ P_{ij}(t):=\Pr\{\eta_{(t+dt)}\in\mathcal{j}\ |\ \eta_{t}\in\mathcal{i}\}=q_{ij}dt+o(dt)\tag{102.1} $$ $q_{ij}$は遷移率(Transition Rate)です。ランダムプロセス$\eta_t$において、確率変数$X$を無故障稼働時間とします。$\mathcal{M}$を稼働状態のサブセットとし、$\mathcal{P}$を不稼働状態のサブセットとすれば、$X=\inf\{t:\eta_{t}\in\mathcal{P}\}$と示すことができます。

稼働状態$\mathcal{M}$から不稼働状態$\mathcal{P}$への遷移を考えると、(102.1)は、 $$ P_{\mathcal{MP}}(t)=\Pr\{\eta_{(t+dt)}\in\mathcal{P}\ |\ \eta_{t}\in\mathcal{M}\}=q_{\mathcal{MP}}dt+o(dt)\tag{102.2} $$ となりますが、これと前記事の微小ダウン確率形式と比較し、 $$ \Pr\{\eta_{(t+dt)}\in\mathcal{P}\ |\ \eta_{t}\in\mathcal{M}\}=q_{\mathcal{MP}}dt+o(dt)=\varphi(t)dt\tag{102.3} $$ すなわち、単位時間あたりの稼働状態$\mathcal{M}$から不稼働状態$\mathcal{P}$への遷移率$q(t)$は、$o(dt)\approx 0$の場合のダウン率$\varphi(t)$にほかなりません。逆に言えば、ダウン率$\varphi(t)$は稼働状態$\mathcal{M}$から不稼働状態$\mathcal{P}$への、単位時間当たりの遷移率となります。

ここで、条件付き確率の式から(102.3)の両辺に状態確率$\Pr\{\eta_{t}\in\mathcal{M}\}$をかけると$PUD$が求まります。$PUD$について、$0$から$T_{lifetime}$まで$t$で積分し(102.2)を用いれば、 $$ \int_0^{T_{lifetime}}P_{\mathcal{MP}}(t)dt =\int_0^{T_{lifetime}}\Pr\{\eta_{(t+dt)}\in\mathcal{P}\ |\ \eta_{t}\in\mathcal{M}\}\Pr\{\eta_{t}\in\mathcal{M}\}\\ =\int_0^{T_{lifetime}}\Pr\lbrace\eta_{(t+dt)}\in\mathcal{P}\cap \eta_{t}\in\mathcal{M}\rbrace=\int_0^{T_{lifetime}}q(t)dt =Q({T_{lifetime}})\tag{102.4} $$ これより、SPFとなるADRを、前記事のADRを参考にし(102.4)の両辺を$T_{lifetime}$で割って$\overline{\varphi_{\mathrm{SPF}}}$で表せば、 $$ \overline{\varphi_{\mathrm{SPF}}}=\frac{1}{T_{lifetime}}Q({T_{lifetime}})=\frac{1}{T_{lifetime}}\int_0^{T_{lifetime}}\Pr\{\eta_{(t+dt)}\in\mathcal{P}\ |\ \eta_{t}\in\mathcal{M}\}\Pr\{\eta_{t}\in\mathcal{M}\}\\ =\frac{1}{T_{lifetime}}\int_0^{T_{lifetime}}\Pr\{\eta_{(t+dt)}\in\mathcal{P}\cap\eta_{t}\in\mathcal{M}\} \tag{102.5} $$ これにより、CTMCのADRを求める基本式が求まりました。


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

Kパラメータは条件付き確率か(3)

posted by sakurai on May 12, 2019

前稿(100.1)において、時刻$t$から$t+dt$において、IFのフォールトがVSG抑止される微小確率を求めると、 $$ \Pr\{\mathrm{IF\ prevented}\cap\mathrm{IF\ failed\ in\ }(t, t+dt]\cap\mathrm{IF\ not\ failed\ before\ }t\}\\ =\Pr\{\mathrm{IF\ prevented}\ |\ \mathrm{IF\ failed\ in\ }(t, t+dt]\cap\mathrm{IF\ not\ failed\ before\ }t\}\\ \cdot\Pr\{\mathrm{IF\ failed\ in\ }(t, t+dt]\ |\ \mathrm{IF\ not\ failed\ before\ }t\}\cdot\Pr\{\mathrm{IF\ not\ failed\ before\ }t\}\\ =K_{\mathrm{FMC,RF}}(t)\lambda_{\mathrm{IF}}R_{\mathrm{IF}}(t)dt \tag{101.1} $$ ここで、 $$ \Pr\{\mathrm{IF\ prevented}\ |\ \mathrm{IF\ failed\ at\ }t\cap\mathrm{IF\ not\ failed\ before\ }t\}=K_{\mathrm{FMC,RF}}(t)\\ \Pr\{\mathrm{IF\ failed\ in\ }(t, t+dt]\ |\ \mathrm{IF\ not\ failed\ before\ }t\}=\lambda_{\mathrm{IF}}dt\\ \Pr\{\mathrm{IF\ not\ failed\ before\ }t\}=R_{\mathrm{IF}}(t) $$ となりましたが、「DCはSMのアーキテクチャにより決定される」ことを前提とし、フォールト発生とフォールト検出は独立な事象と考えれば、同じ確率式は、 $$ \Pr\{\mathrm{IF\ prevented}\cap\mathrm{IF\ failed\ in\ }(t, t+dt]\cap\mathrm{IF\ not\ failed\ before\ }t\}\\ =\Pr\{\mathrm{IF\ preventable}\}\cdot\Pr\{\mathrm{IF\ failed\ in\ }(t, t+dt]\ |\ \mathrm{IF\ not\ failed\ before\ }t\}\\ \cdot\Pr\{\mathrm{IF\ not\ failed\ before\ }t\}=K_{\mathrm{FMC,RF}}\lambda_{\mathrm{IF}}R_{\mathrm{IF}}(t)dt \tag{101.2} $$ ここで、 $$ \Pr\{\mathrm{IF\ preventable}\}=K_{\mathrm{FMC,RF}}\\ \Pr\{\mathrm{IF\ failed\ in\ }(t, t+dt]\ |\ \mathrm{IF\ not\ failed\ before\ }t\}=\lambda_{\mathrm{IF}}dt\\ \Pr\{\mathrm{IF\ not\ failed\ before\ }t\}=R_{\mathrm{IF}}(t) $$ と求められます。従って、(101.1)の$\Pr\{\mathrm{IF\ prevented}\ |\ \mathrm{IF\ failed\ at\ }t\}$という確率的な$t$の関数を、(101.2)の$\Pr\{\mathrm{IF\ preventable}\}$という定数に置き換えることができます。

2nd SMの属性である$K_{\mathrm{FMC,MPF}}$についても同様の議論が成り立ち、Kパラメータは条件付き確率ではなく、アーキテクチャ的に決定している能力(定数)として扱います。


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

Kパラメータは条件付き確率か(2)

posted by sakurai on May 10, 2019

(99.1)の定義は便利に使用できます。例えば時刻$t$から$t+dt$において、IFのフォールトがVSG抑止される微小確率を求めると、条件付き確率のチェインルールを用いれば、 $$ \Pr\{\mathrm{IF\ prevented}\cap\mathrm{IF\ failed\ in\ }(t, t+dt]\cap\mathrm{IF\ not\ failed\ before\ }t\}\\ =\Pr\{\mathrm{IF\ prevented}\ |\ \mathrm{IF\ failed\ in\ }(t, t+dt]\cap\mathrm{IF\ not\ failed\ before\ }t\}\\ \cdot\Pr\{\mathrm{IF\ failed\ in\ }(t, t+dt]\ |\ \mathrm{IF\ not\ failed\ before\ }t\}\cdot\Pr\{\mathrm{IF\ not\ failed\ before\ }t\}\\ =K_{\mathrm{FMC,RF}}(t)\lambda_{\mathrm{IF}}R_{\mathrm{IF}}(t)dt \tag{100.1} $$ と、IFに関する故障率や信頼度関数で表すことができます。

しかしながら、Kパラメータ、具体的には$K_{\mathrm{FMC,MPF}}$や$K_{\mathrm{FMC,RF}}$が定数だと矛盾が起きます。まず、条件が確率的に作用することにより、例えば1回目にはVSG抑止されたフォールトが、2回目にはVSG抑止されないことが起こりえます。あるいは1回目にはリペアされたフォールトが2回目にはリペアされないことが起こりえます。検出が確率的になされるからといって、同じ故障が検出されたりされなかったりするのは、なんとなく納得がいきません。

次に問題になるのが、このKは定数にはならないことです。例えば、VSG抑止率について考えると、長時間が経ちVSG抑止を長く続けると、VSG抑止されないフォールト確率(不信頼度)は上昇し続けます。明らかに、VSG抑止されるフォールトの確率が高まりそうであるのに、これが一定であるとは感覚に反します。

フォールト検出のたびにサイコロで検出を決めているならそうなりますが、一般的には診断カバレージ(Diagnostic Coverage; DC)はSMのアーキテクチャにより決定され、確率的には検出されないとここでは考えることにします。そうすれば、上記の問題点は解消されます。


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

posted by sakurai on April 28, 2019

PMHF式において、あるいはその前提となる故障分類フローにおいて、Kパラメータが2種存在します。 具体的には$K_{\mathrm{FMC,RF}}$と$K_{\mathrm{FMC,MPF}}$の2種類です。それぞれ、1st order SMのフォールト検出率及び2nd order SMのフォールト検出率を意味します。

ここで1st order SMとは、主機能IFのフォールトによるSG侵害を抑止する働きを持つSMであり、2nd order SMとは、(主機能やSM等の)エレメントのフォールトがレイテントフォールトとなることを阻止する働きを持つSMです。

さらに、Kパラメータは、主機能とSMにそれぞれ存在するため、IF-SM-2nd SMモデル全体では $$ K_{\mathrm{IF,FMC,RF}}\\ K_{\mathrm{IF,FMC,MPF}}\\ K_{\mathrm{SM,FMC,MPF}} $$ の3種類が存在します。一般的にはSMのフォールトはVSGとならないため、$K_{\mathrm{SM,FMC,RF}} $は存在しません。

さて、当初、例えばこの記事ではこのKパラメータは定数であり、条件付き確率であると認識していました。例えば、 $$ K_{\mathrm{IF,FMC,RF}}:=\Pr\{\mathrm{IF\ prevented}\ |\ \mathrm{IF\ failed}\}\tag{99.1}\\ K_{\mathrm{IF,FMC,MPF}}:=\Pr\{\mathrm{IF\ detected}\ |\ \mathrm{IF\ prevented}\}\\ K_{\mathrm{SM,FMC,MPF}}:=\Pr\{\mathrm{SM\ detected}\ |\ \mathrm{SM\ prevented}\}\\ $$ と定義されます。ただし上記は若干省略して書かれており、詳細に書けば、$\Pr\{\mathrm{IF\ prevented}\ |\ \mathrm{IF\ failed} \}$は$\Pr\{\mathrm{VSG\ of\ IF\ is\ prevented}\ |\ \mathrm{IF\ is\ failed} \}$であり、$\Pr\{\mathrm{IF\ detected}\ |\ \mathrm{IF\ prevented}\}$は、$\Pr\{\mathrm{The\ fault\ of\ IF\ is\ detected}\ |\ \mathrm{VSG\ of\ IF\ is\ prevented}\}$となります。いずれにしろ、Kパラメータが定数であることを前提として考えます。


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

2nd EditionにおけるPMHF式(3)

posted by sakurai on April 21, 2019

前記事の続きです。

弊社の考えるPMHF式について、再度DPFについて考察します。

2nd Editionから引用したシステムアーキテクチャ図を図98.1に示します。IFがVSGとなるのを抑止する(抑止確率$K_{\mathrm{IF,RF}}$)のと同時に、IFがレイテントとなるのを抑止する(抑止確率$K_{\mathrm{IF,MPF}}$)SM1が存在します。また、SM1がレイテントとなるのを抑止する(抑止確率$K_{\mathrm{SM1,MPF}}$)SM2が存在します。

図98.1
図98.1 System Architectural Design of the example

(1st Editionの)規格第1式のPMHF式のDPF項は以下の(98.1)のとおりです。規格第1式が合っていることは前記事で確認しています。ここで、第1式の条件は、最初のSM1のフォールトはリペアラブル、2番目のIFのフォールトはアンリペアラブルです。 $$ M_{PMHF,DPF}=\frac{1}{2}K_{\mathrm{IF,RF}}\lambda_{\mathrm{IF}}\lambda_{\mathrm{SM1}}[(1-K_{\mathrm{SM,MPF}})T_{lifetime}+K_{\mathrm{SM,MPF}}\tau_{\mathrm{SM1}}]\tag{98.1} $$ これをIFとSMのそれぞれに関係する部分に分解します。SM1のレイテント確率が平均 $$ \frac{1}{2}\lambda_{\mathrm{SM1}}[(1-K_{\mathrm{SM,MPF}})T_{lifetime}+K_{\mathrm{SM,MPF}}\tau_{\mathrm{SM1}}] $$ あるところに、IFの故障確率が $$ K_{\mathrm{IF,RF}}\lambda_{\mathrm{IF}}T_{lifetime} $$ であり、そのDPF確率積について、車両寿命$T_{lifetime}$で割ったものと解釈できます。

正規に求めれば、前記事のようにマルコフ遷移図をきちんと書いて、それぞれの場合に分けて求めることが王道ですが、ここでは簡略的な求め方を実施してみます。

システム全体(IFとSM1の合体)で考えると、IFの故障率が$K_{\mathrm{IF,RF}}\lambda_{\mathrm{IF}}$、SM1の故障率が$\lambda_{\mathrm{SM1}}$であるときに、合体システムの故障率は $$ \lambda_{合体}=K_{\mathrm{IF,RF}}\lambda_{\mathrm{IF}}+\lambda_{\mathrm{SM1}} $$ となります。ここで、IFの故障率を$\lambda_{\mathrm{IF}}$ではなく、$K_{\mathrm{IF,RF}}\lambda_{\mathrm{IF}}$としたのには理由があり、IFにとっての故障率は$\lambda_{\mathrm{IF}}$ですが、そのうち、SM1でVSG抑止できない部分の故障率を$(1-K_{\mathrm{IF,RF}})\lambda_{\mathrm{IF}}$、VSG抑止された部分の故障率を$K_{\mathrm{IF,RF}}\lambda_{\mathrm{IF}}$と分解したとき、DPFとなるのは後者の部分のみだからです。

話を戻して、合体システムのフォールトを考えると、1点フォールト目まではリペアラブルであり、合体システムのフォールトが検出されない場合は車両寿命まで、検出されても$\tau$以内の時間間隔ではレイテント状態となります。それが修理されてしまえば、最初に戻ります。が、フォールトが起きている状態で、引き続いて2点目のフォールトが起きるとDPFとなります。よって、合体システムの最初のフォールトはリペアラブル、2番目のフォールトはアンリペアラブルとなります。従って、(98.1)を参考にすれば、合体システムの最初のフォールトの平均レイテント確率が $$ \frac{1}{2}\lambda_{合体}[(1-K_{\mathrm{合体,MPF}})T_{lifetime}+K_{\mathrm{合体,MPF}}\tau]\tag{98.2} $$ となり、引き続くフォールト確率が $$ \lambda_{合体}T_{lifetime}\tag{98.3} $$ となることから、その確率積を車両寿命$T_{lifetime}$で割り、 $$ M_{\mathrm{PMHF,DPF}}=\frac{1}{2}(\lambda_{合体})^2[(1-K_{\mathrm{合体,MPF}})T_{lifetime}+K_{\mathrm{合体,MPF}}\tau]\tag{98.4} $$ となりそうです。ここで$K_{\mathrm{合体,MPF}}$をSM1もしくはSM2によるいずれかで検出する検出確率とします。すなわち、 $$ K_{\mathrm{合体,MPF}}=K_{\mathrm{IF,MPF}}+K_{\mathrm{SM1,MPF}}-K_{\mathrm{IF,MPF}}K_{\mathrm{SM1,MPF}} $$ ただ、これでは確率を多めに見て過ぎています。余分な確率が2例含まれています。というのは、合体システムが2度フォールトする時に、①IFに引き続いてIF、及び②SM1に引き続いてSM1となる、2つの場合はDPFとならないため、その確率を差し引く必要があります。

すると、①の確率積は、 $$ \frac{1}{2}K_{\mathrm{IF,RF}}\lambda_{\mathrm{IF}}[(1-K_{\mathrm{合体,MPF}})T_{lifetime}+K_{\mathrm{合体,MPF}}\tau]\cdot K_{\mathrm{IF,RF}}\lambda_{\mathrm{IF}}T_{lifetime}\cdot\frac{1}{T_{lifetime}}\\ =\frac{1}{2}K_{\mathrm{IF,RF}}^2\lambda_{\mathrm{IF}}^2[(1-K_{\mathrm{合体,MPF}})T_{lifetime}+K_{\mathrm{合体,MPF}}\tau]\tag{98.5} $$ また②の確率積は、 $$ \frac{1}{2}\lambda_{\mathrm{SM1}}[(1-K_{\mathrm{合体,MPF}})T_{lifetime}+K_{\mathrm{合体,MPF}}\tau]\cdot\lambda_{\mathrm{SM1}}T_{lifetime}\cdot\frac{1}{T_{lifetime}}\\ =\frac{1}{2}\lambda_{\mathrm{SM1}}^2[(1-K_{\mathrm{合体,MPF}})T_{lifetime}+K_{\mathrm{合体,MPF}}\tau]\tag{98.6} $$ 従って、PMHFのDPF部分は、(98.4)から(98.5)及び(98.6)を差し引いて、 $$ M_{\mathrm{PMHF,DPF}}=\frac{1}{2}[(\lambda_{合体})^2-(K_{\mathrm{IF,RF}}\lambda_{\mathrm{IF}})^2-\lambda_{\mathrm{SM1}}^2][(1-K_{\mathrm{合体,MPF}})T_{lifetime}+K_{\mathrm{合体,MPF}}\tau]\\ =\frac{1}{2}[(K_{\mathrm{IF,RF}}\lambda_{\mathrm{IF}}+\lambda_{\mathrm{SM1}})^2-(K_{\mathrm{IF,RF}}\lambda_{\mathrm{IF}})^2-\lambda_{\mathrm{SM1}}^2][(1-K_{\mathrm{合体,MPF}})T_{lifetime}+K_{\mathrm{合体,MPF}}\tau]\\ =\img[-1.35em]{/images/withinseminar.png} \tag{98.7} $$ これは前記事で求めた、PMHF値のDPF項と完全に一致します。このように、得られた方程式に対して、別の角度から整合性のある解釈ができることは、大変に面白いと思いますし、得られた方程式の妥当性を裏付けるものと考えます。


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

posted by sakurai on November 12, 2018

非対称冗長という用語を本稿のみ、以下のように定義します。

  • 非対称冗長 --- 冗長構成のうち、主系と従系において数値的な違いがあるもの。通常、冗長構成は故障率等の数値的には非対称であるため、わざわざ非対称冗長と言わなくても良いのですが、本稿のみ、注意喚起のため非対称冗長と呼ぶことにします。機能的には対称なのでご注意ください。

ちなみに、冗長構成とは以下のように定義されます。

  • 冗長構成 --- 機能的に対称な冗長。1oo2の冗長であり、2つのチャネルから成り、主系も従系もどちらも主機能を果たす一方、他方が故障した場合にVSGを抑止するSMの機能を果たす。

この非対称(数値)冗長構成サブシステムにPMHFの値は2つあるのでしょうか?

具体例でみてみましょう。図のヘッドライト回路において、マイコンとトランジスタスイッチの両方からヘッドライトを点灯する機能があるとします。両者ともコンビネーションスイッチ情報を読み込み、点灯するものとします。さて、この場合、どちらが主機能でどちらが安全機構でしょうか?

図70.1
図70.1 非対称冗長システム例

この場合は冗長構成であるため、両方とも主機能となります。両方ともヘッドライト点灯という主目的をはたしているからです。一方で両方とも安全機構です。他方がフォールトしたときに、ライト消灯という、システムとしての機能喪失を抑止するためです。すると、PMHFの計算において困難が生じます。PMHF規格第1式は主機能、安全機構に関して非対称であるためです。マイコンのほうが故障率が一桁大きいので、どちらを主機能とするかでPMHFに2つの値があるよう思えます。

1st Editionに沿って説明します。2つのエレメント主機能(M)、安全機構(SM)から構成されるサブシステムのPMHFは、MのフォールトによるVSGを考えるとPMHF規格第1式となります。一方でSMのフォールトによるVSGの場合を加え合わせればPMHF規格第3式となります。従って、非対称冗長構成サブシステムがあるとき、片方のみを考えてPMHF規格第1式を適用するからPMHFが2つあると誤解を生じてしまうわけです。M, SM双方によるDPFを考えるためには、本来はPMHF規格第3式を使用するべきです。PMHF規格第3式はPMHF規格第2式の近似も含んでいるため、その元になる(65.3)式を再掲すれば、

$$M_{PMHF}\approx\lambda_{M,RF}+\lambda_{M,DPF}(\lambda_{SM,DPF,lat}T_{lifetime}+\lambda_{SM,DPF,det}\tau_{SM})\tag{65.3} $$

おや?M, SMに関して対称となっていませんね。故障率は非対称であっても機能的に対称なので、式は対称、つまりMとSMを入れ替えても同じ式となるはずです。

これを含めると2つの問題が存在しているようです。

  1. PMHF規格第1式のみでサブシステムのPMHFを評価する
  2. 冗長構成を表すPMHF規格式は、M, SMに対して非対称

それぞれの原因を考えると、1.は規格式の理解誤り、2.は論文で指摘したとおり、規格式が冗長に対応していないためです。従って、PMHF規格第3式を用いることで1.は解決しますが、2.が解決されません。

1.の問題に関して言えば、どちらかを主機能と見るのは、設計意図ではあるものの、モノは設計意図どおり故障しません。従ってサブシステムが車両寿命間にダウンする確率の時間平均であるPMHFが2種類あるはずがありません。

2nd Editionでは、1st EditionのPMHF規格第3式の「順番によらない場合」(=主機能によるVSG及びSM1によるVSGの両方)について初めから考慮されているので、1st Editionのような誤解は生じないと思います。つまり1.は解決されていますし、2.も表面的にはM, SM対称となっているので解決されているように見えますが、既述のとおりある問題が残っています。つまり問題は3つあったのでした。


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

posted by sakurai on November 5, 2018

デュアルポイントフェイリャ

次にDPFについて、弊社が考える式とどこが相違しているかを見ていきます。

まず、SMがVSGとならない場合のパターン1式は特定条件(※1)でのみ合っています。この条件は1st Edition規格第1式とも同じです。次にパターン2は特定条件(※1)において前述のように2倍だけ異なっています。この2倍の理由は不明です。
※1 $K_{IF,lat}=0\cap K_{SM1,det}=1$の場合。これを言い換えると、IFはVSGの可能性があるが修理不可能、かつ、SM1はVSGの可能性無しで修理可能。

さらにパターン3、4式は特定条件(※2)でのみ合っています。単にパターン1, 2をひっくり返した(IFとSM1を入れ替えた)式のように見えます。
※2 $K_{SM1,lat}=0\cap K_{IF,det}=1$の場合。これを言い換えると、SM1はVSGの可能性があるが修理不可能、かつ、IFはVSGの可能性無しで修理可能。

これは以下の条件からくるものと推測します。以下は2nd Edition Part10 8.3.2.3 Table 2の引用です。

表69.1
First fault:SM1⇒Second fault:IF First fault:IF⇒Second fault:SM1
Cannot notify the driver Pattern 1 Pattern 3
Can notify the driver Pattern 2 Pattern 4

つまり、Pattern1及び2はIFフォールトによるVSGであり、SM1は修理系、IFは非修理系を仮定しています。 一方、Pattern3及び4はSM1フォールトによるVSGであり、Pattern1及び2のIF/SM1を入れ替えたものとなっているところから推測すればIFは修理系、SM1は非修理系を仮定しています。

いずれも最初のフォールトが起きるエレメントは、upしたりdownしたりを繰り返しても良いのですが(=修理可能という意味)、2番目にフォールトが起きるエレメントは、(最初のフォールトがリペアされた場合)downしたりupしたりするはずが、2番目にdownすることしか許されていません。これは非修理系を意味します。つまり後からフォールトするエレメントの制約が強すぎます。このことは言葉の定義だけで理解されるものではなく、その仮定から導出された1st Editionの式の意味まで考えて初めて理解されることです。

いずれにしろ、この前提はIFもSM1も$t=0$において修理系という一般的なサブシステムに対して、修理不可能という制約をかけすぎているため、PMHFの過大評価につながります。

弊社が考えるPMHFの一般式

IFとSM1が$t=0$において修理系という条件で、マルコフ状態遷移図を書き、確率微分方程式を立て積分してADRを算出した式において、Edition 1の方法で上界を求めた式は、 $$ M_{PMHF}=\lambda_{IF,RF}+\lambda_{SM1,RF}+\img[-1.35em]{/images/withinseminar.png}\tag{69.1} $$ となります。

規格の式(図68.1)は、特殊状況のみを数え上げた、※1または※2のみで成立する式です。


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

2nd EditionにおけるPMHF式

posted by sakurai on October 29, 2018

ISO 26262 2nd Edition

今年春発行と予定されていた2nd EditionはFDISの状況となっていますが、正式発行が遅れているようです。FDISは最終的な規格から語句のレベルしか修正されないとのことで、FDISで検討すればほぼ問題無いと考えられます。

さて、PMHFの部分はだいぶ変更されています。公式が変わっただけでなく、SMが安全目標侵害するケースまで想定されています。元々弊社では一般的なサブシステムを検討対象としており、両方のエレメントが安全目標侵害する場合を対象としていましたので、好都合です。

図68.1のパターン1と2はいずれもSM1が先にフォールトし、次にIF(Intended Function)がフォールトするケースです。そのうち、パターン1はフォールトが検出されない場合、パターン2はフォールトが検出される場合です。一方、パターン3と4はいずれもその逆順にフォールトするケースです。そのうちパターン3はフォールトが検出されない場合、パターン4はフォールトが検出される場合です。

図68.1
図68.1 2nd Edition, Part10-8.3.2.4 PMHF規格 第1式

実はパターン1と2あるいは3と4は特に分ける必要はありません。弊社の式に従えば不稼働率の関数$Q(t)$(59.8)で自然に表されるからです。一方、パターン1と3、2と4はフォールト順序なので、マルコフ状態遷移図に基づく検討が必要です。

重要 1st Editionでは主機能が非修理系であるという前提から、ケース分類で確率を求めても良かったのですが、2nd Editionも同様な方法でPMHF式を求めているようです。主機能も安全機構も非修理系では全く成り立たないので、2nd Editionになって対称的に扱うのであれば両方とも修理系にせざるを得ません。そうすると、主機能であってもVSGとならないフォールト(MPフォールト)を起した後、2nd SMにより検出される部分は修理されることになります。すると、本ケース分けには当てはまらなくなります。例えば、主機能がMPフォールトし、2nd SMにより検出され修理される。次にSM1がMPフォールトし、検出され修理される。これが繰り返されることは十分あり得ますが、規格のケース分類だとこの場合は、Pattern3+Parttern4に相当します。これはマルコフ状態遷移図を書いて初めて理解されることなので、ISO 26262のPMHF理解のためにはマルコフ状態遷移図は必須です。

シングルポイントフェイリャ

ここで、$\lambda_{SPF}, \lambda_{RF}$は定義が書かれていませんので、IFによるものか、SM1によるものも含むのかが定かではありません。それ以外にもパターン1と2ではパターン2のほうにだけ2倍の係数がかかっていますが、その理由は定かではありません。

図68.2
図68.2 2nd Edition, Part10-8.3.2.4 PMHF規格説明

このように、SM1のPVSG、つまりSM1の安全目標侵害の可能性があると、ECCの例まで挙げて言っているので、おそらく$\lambda_{RF}$は以下のようになると考えられます。これは、2エレメントがどちらも主機能、SMとなるような一般モデル式で考えると良いはずです。

$$ \lambda_{RF}=\lambda_{IF,RF}+\lambda_{SM1,RF}=(1-K_{FMC,SM1,RF})\cdot \lambda_{IF}+(1-K_{FMC,SM2,RF})\cdot \lambda_{SM1}\tag{68.1} $$


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


ページ: