Posts Tagged with "ISO 26262"

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

FTA (7)

posted by sakurai on December 13, 2016 #26

論理圧縮の実際

前回ご紹介した、英国Warwick大学のFTに対して、SAPHIREでTOP事象侵害確率を求めてみます。 FTのイベントに対して、$A=e_1$、$B=e_2$、$C=e_3$、$D=e_4$と置き直して、FTA(5)の表24.1のイベントの故障率に基づけば、

表26.1
基事象ID 故障率[FIT]
e1 8.74
e2 1.80
e3 1.53
e4 5.08

これらに基づきSAPHIREでFTを構成すると図26-1のようになります。

図26-1
図26.1 FT図

SAPHIREによりMCSを求め、TOP事象侵害確率を求めると以下の表のようになります。車両寿命を$10^5$時間とすれば、平均的な故障率は$8.186\cdot 10^{-6}[FIT]$となります。

表26.2
表26-2

MCSは同じく{{A, C, D}, {B, C, D}}と求められます。


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

FTA (6)

posted by sakurai on December 4, 2016 #25

論理圧縮の実際

さらにツールを用いてやや複雑なFTに関して論理圧縮を実行してみましょう。英国Warwick大学のFTAの説明資料に以下のようなやや複雑なFTが例示されています。

図21-1
図25.1

これにFTA(4)のMCSアルゴリズムで示したブール代数により手作業で論理圧縮を実施すると、以下のようになります。

\[ (A\cup B)\cap((A\cap C)\cup(A\cap B))\cap(D\cap C) =(A+B)(AC+DB)DC\\ =AACDC+ADBDC+BACDC+BDBDC\\ =ACD+ABCD+ABCD+BCD\\ =ACD(1+B)+BCD(1+A)\\ =ACD+BCD \]

図25.2

MCSは{{A, C, D}, {B, C, D}}と求められます。一方、WinCUPLで論理圧縮を行うには、以下のようなファイルを用意します。

Name MinimalCutSet;
PartNo 00 ;
Date 2016/03/28 ;
Revision 01 ;
Designer Engineer ;
Company FS Micro Corporation;
Assembly None ;
Location ;
Device ;

Pin [1..4] = [A, B, C, D];
Pin 5 = Q;

/* EQUATIONS */
Q.t = (A # B) & ((A & C) # (D & B)) & (D & C);

図25.3

WinCUPLにより論理圧縮をかけた結果、以下のような出力が得られます。手作業で実施したのと同じ論理式が得られます。


*******************************************************************************
MinimalCutSet
*******************************************************************************

CUPL(WM) 5.0a Serial# 60008009
Device virtual Library DLIB-h-40-1
Created Tue Mar 29 09:37:27 2016
Name Minimal Cut Set
Partno 00
Revision 01
Date 2016/03/28
Designer Engineer
Company FS Micro Corporation
Assembly None
Location

===============================================================================
Expanded Product Terms
===============================================================================

Q.t =>
B & C & D
# A & C & D

図25.4

MCSは同じく{{A, C, D}, {B, C, D}}と求められます。


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

FTA (5)

posted by sakurai on November 19, 2016 #24

WinCUPL

前稿でMCSの導出はブール則による論理圧縮であることを説明しました。論理圧縮ツールの具体例として、WinCUPLというツールをご紹介します。これは大学で開発されたCUPLというPLDのプログラミングツールをAtmelがWindows用に移植したもので、無料で使用可能です。 PLDプログラミング機能のうちのlogic minimization(論理圧縮)機能を使用します。論理圧縮とは、入力された複雑なブール式をespresso法等で簡略化するもので、本稿ではFTAのMinimal Cut Setを導出するために流用します。

PMHF値の算出

実際にWinCUPLにより論理圧縮を実施し、MCSを求め、PMHF値を算出してみましょう。PMHFとは、車両寿命間での故障確率(正確には平均不稼働確率)を求め、車両寿命で割った平均故障率(正確には平均不稼働率)を意味します。ただしこの場合、DPFは小さいため無視するものとします。FTA(1)でご紹介したFTを対象とします。さらに基事象の故障確率は以下の表で与えられるものとし、車両寿命を$10^5$[H](10万時間)として確率を計算します。

表24.1
基事象ID 故障率[FIT]
e1 8.74
e2 1.80
e3 1.53
e4 5.08
e5 9.69
e6 5.36
e7 8.22
e8 6.23

手順としてはまず、このFTをWinCUPLにより簡単化します。

FTA(1)でご紹介したFTをCUPLの入力論理式で記述すると、以下のようになります。

Name MinimalCutSet;
PartNo 00 ;
Date 2016/03/28 ;
Revision 01 ;
Designer Engineer ;
Company FS Micro Corporation;
Assembly None ;
Location ;
Device ;

/* *************** INPUT PINS *********************/
Pin [10..18] = [e1..e8];

/* *************** OUTPUT PINS *********************/
Pin 1 = top;

top = (e1 # e2) # (e3 & e4 & e5) # (e6 # (e7 & e8));

図24.1

WinCUPLによる論理圧縮

前述の入力をWinCUPLで処理すると、以下のようなドキュメントが出力されます。


*******************************************************************************
MinimalCutSet
*******************************************************************************

CUPL(WM) 5.0a Serial# 60008009
Device virtual Library DLIB-h-40-1
Created Tue Mar 29 09:37:27 2016
Name Minimal Cut Set
Partno 00
Revision 01
Date 2016/03/28
Designer Engineer
Company FS Micro Corporation
Assembly None
Location

===============================================================================
Expanded Product Terms
===============================================================================

top =>
e3 & e4 & e5
# e7 & e8
# e6
# e2
# e1

(省略)

図24.2
ここで、上記論理式は、{{e1}, {e2}, {e6}, {e7, e8}, {e3, e4, e5}}というMCSを意味します。従って、TOP事象侵害確率をレアイベント近似で求める場合、FTA(2)で見たように(21.2)で求められます。 \[ P\{TOP\}\approx P\{e_1\}+P\{e_2\}+P\{e_3\}P\{e_4\}P\{e_5\}+P\{e_6\}+P\{e_7\}P\{e_8\}\tag{24.1} \]

これらの基事故障率に基づいて、車両寿命を$10^5$[H]とした場合の「Exponential1次近似」を用い、さらにレアイベント近似を用いた計算を行うと、

0.000874+0.00018+0.000153*0.000508*0.000969+0.000536+0.000822*0.000623=1.591e-03

図24.3

となります。PMHFは故障率の次元を持つので上記確率を車両寿命$10^5[H]$で割ると、PMHF=$1.591\cdot 10^{-8}=15.91$[FIT]と求められます。

SAPHIREによる計算

SAPHIREではMCS導出とTOP事象侵害確率計算まで自動で可能です。この結果を次図に示します。

図new ft cutset2
図24.4 MCS図

SAPHIREでも同じく{{e1}, {e2}, {e6}, {e7, e8}, {e3, e4, e5}}というMCSが取得できました。また、TOP事象確率は$1.590\cdot 10^{-3}$と手計算と比較して若干小さい結果となりました。同様に上記確率を車両寿命$10^5[H]$で割れば、PMHF=$1.590\cdot 10^{-8}=15.9$[FIT]となります。手計算の結果のほうが若干大きいのは、レアイベント近似によるダブルカウントのためと考えられます。


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

FTA (4)

posted by sakurai on November 9, 2016 #23

FTAツール

商用ツールが各種でていますが、ここではフリーで使用可能なツールをご紹介します。まずALDのFault Tree Analyzerはwebベースで無料でFTA解析が可能なようです。ただしFAQにもあるようにこのツールはwebベースであるためサーバ側にデータを蓄積することから、守秘性の高い情報を扱う場合には同社の有償のツールRAM Commanderを使うほうが良いと書かれています。

続いて本ブログでも使用している米国原子力規制委員会で開発されたSAPHIRE。バージョン8.0.9まではRSICCにより無償で提供されています。ただし米国の公的機関で開発されたためか、守秘契約や会社の情報や使徒について、米国の安全保障に問題が無いことが確認される必要があります。最新版は8.1.3であり、SAPHIREユーザーズグループによって有償で提供されます。

無償版のSAPHIREによりFTA(1)で示したFT図を入力したものを示します。

図NEW-FT
図23.1 FT図

これのMCSを導出すると、

図NEW-FTcutsets
図23.2 FTのMCS図

のようになります。1st orderが{E1}, {E2}, {E6}、2nd orderが{E7, E8}、3rd orderが{E3, E4, E5}の計5個のcut setがえられました。ただし元々のFTが複雑でないため、MCSの論理圧縮のご利益はあまりありませんでした。後述するような複雑なFTの場合にはツールの論理圧縮の威力が発揮されます。

本来FTAは基事象の確率に基づきTOP事象の確率を計算するためのものですから、これから基事象の確率を仮定した上でTOP事象確率を計算してみます。

MCSアルゴリズム

実際にMCSを求めるのはどのようなアルゴリズムでしょうか?基本的にはブール代数の基本則に従って論理圧縮を行います。具体的にはブール代数の冪等則、交換則、結合則、吸収則、分配則を用いて 論理の簡単化を行います。


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

FTA (3)

posted by sakurai on November 3, 2016 #22

FTAの確率計算の一般式

前稿の例を一般化してみます。FTAの計算は確率計算であるため、確率の包除原理を用いて、TOP事象を侵害する確率$Q_{TOP}$は、 \[ Q_{TOP}(\bigcup_i^nMCS_i)=\sum_{i=1}^nQ(MCS_i)-\sum_{i\lt j}Q(MCS_i\cap MCS_j)+\sum_{i\lt j\lt k}Q(MCS_i\cap MCS_j\cap MCS_k)-\cdots+(-1)^{n-1}Q(\bigcap_{i=1}^n MCS_i)\tag{22.1} \] となります。それぞれのMCSの確率$Q(MCS_i)$は単純に \[ Q(MCS_i)=\prod_{j=1}^mQ(B_j)\tag{22.2} \] で求まります。ここで$Q(B_j)$は$i$番目のMCSに含まれる基事象$B_j$の確率です。 前稿のレアイベント近似を用いれば、$MCS_i$が同時に成立する確率が無視できるものとして、(22.1)は初項のみが残り、 \[ Q_{TOP}(\bigcup_i^nMCS_i)\approx\sum_{i=1}^nQ(MCS_i)\tag{22.3} \] と近似されます。


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

FTA (2)

posted by sakurai on October 21, 2016 #21

レアイベント近似

アイテムが故障する確率=トップ事象確率を求めるのがFTAの役割であるため、基事象の確率を求め、それを積算します。それぞれのイベントを$e_i$で表し、イベントの確率を$P\{e_i\}$で表すとき、MCSが$\{1\},\{2\},\{3,4,5\},\{6\},\{7,8\}$で表されるTOP事象の侵害確率P{TOP}は、直列アイテムでの不信頼度の(8.4)と並列アイテムでの不信頼度の(9.2)とを用いて、(21.1)と表されます。 \[ P\{TOP\}=1-(1-P\{e_1\})(1-P\{e_2\})(1-P\{e_3\}P\{e_4\}P\{e_5\})(1-P\{e_6\})(1-P\{e_7\}P\{e_8\})\tag{21.1} \]

ここで、(21.1)の比較的小さい値の項を省略した、ORを加算、ANDを乗算とする計算で求めるレアイベント近似方法があります。 \[ P\{TOP\}\approx P\{e_1\}+P\{e_2\}+P\{e_3\}P\{e_4\}P\{e_5\}+P\{e_6\}+P\{e_7\}P\{e_8\}\tag{21.2} \]

アイテムの故障率(2)で議論したように、これが可能なのは基事象確率が低い場合です。本来はダブルカウント分の確率を引くべきところ、ダブルカウント分の確率が小さく無視可能である場合に限り、レアイベント近似が成立します。


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

FTA

posted by sakurai on October 7, 2016 #20

FTAとは

Wikipediaの記事FTAによって定義が示されるとおり、下位アイテム又は外部事象、若しくはこれらの組合せのフォールトモードのいずれが、定められたフォールトモードを発生させ得るか決めるための、フォールトの木形式で表された解析を意味します。基事象(Basic Event)は故障確率を持ち、TOP事象を侵害する確率計算を行います。

FTAの例

図fta1
図20.1 WikipediaのFTA図

図20.1はWikipediaに掲載されているFT(Fault Tree)図です。

MCS, MPS

FTでは基事象、TOP事象は故障の時にtrueとなるという前提をとります。ここでTOP事象=故障を引き起こすための基本事象の組み合わせのうち、最も少ない組み合わせのことをMC(Minimal Cut, 最小カット)と呼び、一般的にそれらは複数あるため全体をMCS(Minimal Cut Set, 最小カット集合)と呼びます。例えば上記のFTAではMCは$\{1\},\{2\},\{3,4,5\},\{6\},\{7,8\}$となります。1のとき、または2のとき、または3かつ4かつ5のとき、または6のとき、または7かつ8のとき、と読みます。

一方、TOP事象が動作のときにtrueとなるツリーも構成できます。この場合、TOP事象=動作となる基本事象の組み合わせのうち、最も少ない組み合わせのことをMP(Minimal Path, 最小パス)と呼び、一般的にそれらは複数あるため全体をMPS(Minimal Path Set, 最小パス集合)と呼びます。

FT解析ではTOP事象=故障となる分析を行うため、MCSが重要です。

RBD図

RBD(Reliability Block Diagram)では、FTとは逆に、動作をtrue、故障をfalseとしてシステム図を構成します。このときに、動作するパスをカットして動作しなくなる最小の組み合わせがMC(=最小カット)となり、その集合がMCSです。

セミナー内
具体的に、上記RBD図に先のMCSを適用すると、$\{1\},\{2\},\{3,4,5\},\{6\},\{7,8\}$のMCはそれぞれがRBDの成功パスをカットして、機能動作をさせなくするカットだということがわかります。例えば$\{1, 2\}$のように複数箇所をカットしても機能動作しなくなりますがこれはMinimalではなく、$\{1\}, \{2\}, ..., \{7, 8\}$がMCとなります。このように、MCSはFTの双対構造であるRBDにおいて定義して初めてその意味を理解できます。その意味では、FTにおいてFTを成立させる(=TOP事象を侵害する)最小の事象の組み合わせは、むしろMPSと呼ぶべきでしょうが、慣用的にRBDでの定義であるMCSと呼ばれます。

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

PMHF値の計算

posted by sakurai on September 21, 2016 #19

PMHFの加算

部品個別のPMHF式は前回導出したものとなりますが、これをアイテムとして積算(総和)する必要があります。その方法には一般に、FMEDAによるもの、FTAによるものの2種類があります。単純な直列アイテムであれば、確率計算的には和を取るだけなので(ただし$\lambda t\ll 1$のとき)FMEDAとFTAは同じ値になります。一方、冗長構成等の並列アイテムの場合は、FTAでないと正しい値は求まりません。アイテムの故障率(2)でご紹介したように、並列アイテムの場合、アイテム不信頼度は部品不信頼度の積となるためです。FTAを用いると、ANDゲートで並列アイテム、ORゲートで直列アイテムを表すことができ、値の計算を正確に行うことができます。

ANDゲートでは確率の乗算で、事象の確率が正確に求まります。一方ORゲートにおいては、$\lambda t\ll 1$のとき、例えば$\lambda t<0.1$の場合には加算で事象の確率が求められます。ただしこの場合はレアイベント近似となります。以下に、近似ではなくExcelを使った方法で、簡単に正確に求めるやり方をご紹介します。

教科書等には信頼度で書かれていますが、故障率は不信頼度を時間平均したものですから、不信頼度で表すのが便利です。すると、ANDゲート=並列アイテムの不信頼度はアイテムの故障率(2)で求めた、 \[ F_{item}(t)=F_1(t)\cdot F_2(t)\cdot\cdots\cdot F_n(t)=\prod_{i=1}^n F_i(t)\tag{9.2} \]

のように、不信頼度の積で求められ、一方ORゲート=直列アイテムの不信頼度はアイテムの故障率(1)で求めた、 \[ F_{item}(t)=1-\prod_{i=1}^n[1-F_i(t)] \tag{8.4} \]

のように求められます。

Excelによるレアイベント近似を用いない積算法

確率計算において乗算、加算を用いるレアイベント近似(FTA(2)で説明予定)の場合は特に関数を用意する必要はありませんが、(8.4)のようにレアイベント近似を用いない場合の計算については、以下のように関数を用意すると便利です。

public function lambda(range as range) as string
dim val as double
val = 1#
foreach cell in range
val = val * (1- cell)
next
lambda = format((1# - val)/100000#, "0.000E+00")
end function

Excelにおいて、確率計算の積は乗算を行い、一方和については上記関数を用いて(8.4)を計算します。


※このブログは2016年に書かれたものであり、新しい研究結果を以下に連載していますので、参考にしてください
https://fs-micro.com/post/show/id/59.html


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

PMHF式の導出 (4)

posted by sakurai on August 22, 2016 #18

PMHF式の計算

(16.2)の添字の意味を見ていきます。故障率の添字がl(=latent)とd(=detected)で表されていますが、規格Part10の表記あるいは図16.1の表記を用いれば、 $$ \lambda_{RF}=(1-K_{M,FMC,RF}\lambda_M\\ \lambda_{M,DPF,l}=(1-K_{M,FMC,DPF})\lambda_{M,DPF}\\ \lambda_{M,DPF,d}=K_{M,FMC,DPF})\lambda_{M,DPF}\\ \lambda_{SM,DPF,l}=(1-K_{SM,FMC,DPF})\lambda_{SM,DPF}\\ \lambda_{SM,DPF,d}=K_{SM,FMC,DPF})\lambda_{SM,DPF}\\ \lambda_{M,DPF}=K_{M,FMC,RF}\lambda_M\\ \lambda_{SM,DPF}=\lambda_{SM} \tag{18.1} $$ となります。これらを(16.2)に代入すれば、 $$ \img[-1.35em]{/images/withinseminar.png}\tag{18.2} $$ となります。(18.2)に至ってようやく主機能故障率、安全機構故障率、安全機構カバレージ等の数値を用いてPMHFの計算を実行することが可能となります。


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

PMHF式の導出 (3)

posted by sakurai on August 10, 2016 #17

対象ブロック図

図17.1にPMHFの計算となるブロック図を示します。主機能Mに対して1st SMであるSMが設置されており、Mの2nd SMであるSM2-M及びSMの2nd SMであるSM2-SMが設置されています。Part10の記法に従い、SMのDC(Diagnostic Coverage)は$K_{M,FMC,RF}$、SM2M及びSM2SMのDCはそれぞれ$K_{M,FMC,MPF}$及び$K_{SM,FMC,MPF}$と書かれます。M、SMの故障率はそれぞれ$\lambda_M$、$\lambda_{SM}$ですが、2nd SMはλ=0となります。さらにMは安全機構ではないため(冗長の場合はSMとなりますが)、DC及び$\tau$(故障検出周期)は存在しません。さらにM及びSMの$\tau$は存在せず、SM2M及びSM2SMの$\tau$はそれぞれ$\tau_M$及び$\tau_{SM}$となります。

規格には明確に書かれていませんが、故障が検出された場合はゼロ時間で完全に修理されることが、暗黙に仮定されています。

図17.1
図17.1 対象サブシステムブロック図

PMHF式の導出

規格の「SMが先に故障してその後Mが故障する場合」は誤りであることは説明しましたが、式を吟味すると「SMがどうであれMが故障してSG侵害となる場合」であるようです。従ってそのように読み替えれば、規格第1式は、

$$ M_{PMHF}=M_{PMHF,SPF}+M_{PMHF,DPF,SM\rightarrow M}\tag{17.1} $$ であり、これを計算すると、 $$ M_{PMHF,M}\approx \lambda_{M,RF}+\frac{1}{2}\lambda_{M,DPF}\lambda_{SM}\lbrace (1-K_{SM,FMC,MPF})T_{lifetime}+K_{SM,FMC,MPF}\tau_{SM}\rbrace\tag{17.2} $$ となり、これは規格第1式と正確に一致します。

最終的なPMHFを求めます。SPFとDPFは排他事象であり、また、「主機能故障でレイテント⇒安全機構故障」とその逆の「安全機構故障でレイテント⇒主機能故障」も排他事象です。排他事象は確率が加え合わせられることから、トータルのPMHFは上記を(11.1)に適用して、(17.3)となります。 $$ M_{PMHF}=M_{PMHF,SPF}+M_{PMHF,DPF,M\rightarrow SM}+M_{PMHF,DPF,SM\rightarrow M}\tag{17.3} $$

これに対して、SPFに関しては(12.2)を適用します。さらに、DPFに関しては(15.2)に基づき、主機能故障と安全機構故障の順番を考慮して先の2パターンのPMHFを加え合わせれば、PMHF式(17.4)が得られます。

$$M_{PMHF}\approx \lambda_{M,RF}+\lambda_{M,DPF}\lambda_{SM}\lbrace (1-K_{SM,FMC,MPF})T_{lifetime}+K_{SM,FMC,MPF}\tau_{SM}\rbrace\tag{17.4}$$ となり、これは$K_{SM,FMC,MPF}\tau_{SM}\approx0$の場合、規格第3式と一致します。

※このブログは2016年に書かれたものであり、新しい研究結果を以下に連載していますので、参考にしてください
https://fs-micro.com/post/show/id/59.html


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


ページ: