Posts Tagged with "SAPHIRE"

既に発行済みのブログであっても適宜修正・追加することがあります。
We may make changes and additions to blogs already published.
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%としているためです。

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

FTA (10)

posted by sakurai on January 20, 2017 #29

因数分解

前稿のMCSにおいて因数分解を行います。このステップは必須のステップではありません。論理的には前のツリーと等価なツリーなのですが、冗長構成となっていることをひとめで明らかにするために因数分解を行います。上記のMCS論理式を因数分解したものを以下のFTに示します。因数分解はAND-OR形式をOR-AND形式に変換するものですが、残念ながら自動的には困難であるため、人力で行います。

FTA-TEST1-MCS-FACT
図29.1 FTA例のMCSと等価のFT

論理等価なのでMCSは上記MCSと同じです。メインマイコン各部(8箇所)の故障とサブマイコン各部(8箇所)の故障が互いに主機能・安全機構の関係となりSPFを防止しており、共通部分の回路のみがSPFとなっていることがひとめでわかります。MCの数は前と同じく8×8+1=65項となります。

ISO26262の目的は安全に関する論証なので、このようにアセッサー等の第三者が見てわかりやすいドキュメントを生成することが重要です。マイコンやLSIのように比較的故障率の大な部品を使用する際に、マイコン単体でASIL-Dを達成するのは困難ですが、このような冗長構成をとればSPF/RFが冗長部分で微小となるため、ASIL-D対応が可能となります。


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

FTA (9)

posted by sakurai on January 10, 2017 #28

実際の例

システムFTAの実例をご紹介します。これはあるECUの安全分析を実施したもので、メインマイコンとサブマイコンによる冗長制御を行っているECUの例です。電源回路は共通で、共通の信号が両マイコンに入力され、両マイコンの出力が揃って初めて動作するという回路構成となっています。主機能としてはマイコンはひとつで成立するのですが、ECUがASIL-D対応をする必要があるため、冗長構成をとり故障率を低減しています。

システムFTAと称する理由は、基事象が部品の故障モードではなく、エレメントの故障モードとなっているためです。

トップ事象を侵害する分析は、このように一般的に非常に複雑になり、マイコンの故障が複数個所に出てくることになります。以下はFTの図です。

FTA-TEST1
図28.1 ECUのFTA例

MCSの導出

この例のMCSを取得したものが以下の図です。SAPHIREにより155個の積項(ミニマルカット=MC)が得られました。カラムは順番に、その事象の「連番」、「ケース」、「確率」、「確率のパーセント表記」、「ミニマルカット」です。

mcs1-1
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
mcs1-2
図28.2 FTA例のMCS

3次以上の次数項の省略

次にSAPHIREの分析の際に、3次以上の積項を省略したMCSを取得してみます。3次以上の積項を省略する理由は、ISO26262において3点故障はセーフフォルトとして良いとあるためであり、3次以上の積項は一般的に確率的に非常に小さいので省略可能なためです。

これを行うにはSAPHIREにおいて、Fault Treeを選択しSolveコマンドを実行する際に、Sizeに2を設定します。すると155個得られた積項が65個と減少します。以下のMCSの論理式を確認すると1次と2次の積項のみであることがわかります。今回はTOP事象の侵害確率は、155項の積算でも65項の積算でも2.218E-5と変わりませんでした。これからも3次以上の積項を省略することが可能と言えます。

mcs2-1
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
mcs2-2
図28.3 FTA例のMCS(2次以下)

これを論理式として出力し、FTL(Fault Tree Language)に(手で)変換してからSAPHIREに取り込むと、SAPHIREがツリーを構成してくれます。その図を以下に示します。

FTA-TEST1-MCS
図28.4 FTA例のMCSのFT

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

FTA (8)

posted by sakurai on December 20, 2016 #27

MCSのFault Tree

SAPHIREではMCSの論理式は出力してくれるのですが、残念ながらFault Tree図(FT図)は構成されません。そこで、論理式からのインポートを行います。まず論理式は図26.2のように出力されるので、それをFTL(Fault Tree Language)に変換しますが、変換したものを以下に示します。

WARWICKFTA, TOP-MCS =
TOP-MCS OR TOP0 TOP1
TOP0 AND E1 E3 E4
TOP1 AND E2 E3 E4

その後、SAPHIREのインポート機能により取り込み、FT図を作成したものが、図27.1となります。

図27.1
図27.1 MCSのFT図

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

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


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


ページ: