fta diagram derived from FMMD DAG

This commit is contained in:
Robin Clark 2011-05-09 18:59:45 +01:00
parent 1177cc335c
commit 2d5f96f596

View File

@ -374,7 +374,7 @@ back to their potential causes.
\path (OPAMPNP) edge (AMPLOW);
\path (OPAMPLD) edge (AMPLOW);
\path (OPAMPLS) edge (AMPLP);
\path (OPAMPLS) edge (AMPLP);
% %\node[symptom,pin={[pin edge={->}]right:Output}, right of=C-1a] (O) {};
% \node[symptom, right of=C-1a] (s1) {s1};
% \node[symptom, right of=C-2a] (s2) {s2};
@ -413,26 +413,22 @@ back to their potential causes.
\clearpage
\section{Extracting Fault Trees form the DAG}
% \node (g1) [event] {No flow to receiver}
% child{node (g2) {No flow from Component B}
% child {node (g3) {No flow into Component B}
% child {node (g4) {No flow from Component A1}
% child {node (t1) {No flow from source1}}
% child {node (b2) {Component A1 blocks flow}}
% }
% A simple fault tree
% % Author: Zhang Long, Mail: zhangloong[at]gmail.com
% % \def\pgfsysdriver{pgfsys-dvipdfm.def}
% % \documentclass{minimal}
% % \usepackage{tikz}
% % \usetikzlibrary{shapes.gates.logic.US,trees,positioning,arrows}
% % \begin{document}
\section{Extracting Fault Trees from the DAG}
We can derive an FTA diagram for a top level event, by tracing back through the DAG.
Where we come to a node with more than one error source, this becomes an or gate
in the FTA diagram. Tracing back from the top level event $AMP Low$ we are lead to
the $OPAMP latch down$ and $OP amp Noop$. These two events can cause the symptom $AMP Low$.
We can also trace back down to the symptom $PD High$. Thus we have three
possible cause for $AMP LOW$, and so we can draw a three input
`or' gate below $AMP Low$, to which $OPAMP latch down$, $OP amp Noop$ and $PD High$ connect to from below.
$OPAMP latch down$ and $OP amp Noop$ are base level or component events, and so we cannot
trace them down any further.
$PD High$ is a symptom, and can be traced further.
$PD High$ can ocurr by either event $R1_{open}$ or $R2_{short}$.
We can place an or gate below $PD High$ and connect the events $R1_{open}$ or $R2_{short}$
to it.
The FTA diagram directly derived from the FMMD DAG is shown in figure \ref{fig:noninvfta}.
\begin{figure}
\begin{tikzpicture}[
@ -464,47 +460,61 @@ back to their potential causes.
% absolute
]
%% Draw events and edges
\node (g1) [event] {No flow to receiver}
child{node (g2) {No flow from Component B}
child {node (g3) {No flow into Component B}
child {node (g4) {No flow from Component A1}
child {node (t1) {No flow from source1}}
child {node (b2) {Component A1 blocks flow}}
}
child {node (g5) {No flow from Component A2}
child {node (t2) {No flow from source2}}
child {node (b3) {Component A2 blocks flow}}
}
%\node (g1) [event] {AMP Low}
%
% child { node (g1) { triple or gate }
%
% child { node (PDHigh) { double or gate }
% child { node (g2) {G02} {
% child {node (r1o) {$R1_{open}$}}
% child {node (r2s) {$R2_{short}$}}
% }
% }
% }
% child {node (opld) {opamp latch down}}
% child {node (opnp) {opamp noop}}
%
% };
\node (g1) [event] {amp low}
child {
node (g2) {op amp output voltage low}
child {node (t1) {pd high}
child { node (g4) {potential divider voltage high}
child {node (b1) {r1 open}}
child {node (b2) {r2 short}}
}
%child { node (g5) {No flow from Component A2}
% child {node (t2) {No flow from source2}}
% child {node (b3) {Component A2 blocks flow}}
%}
}
child {node (b1) {Component B blocks flow}}
child {node (b3) {OP amp latch dn}}
child {node (b4) {OP amp no op}}
};
%% Place gates and other symbols
%% In the CVS version of PGF labels are placed differently than in PGF 2.0
%% To render them correctly replace '-20' with 'right' and add the 'absolute'
%% option to the tikzpicture environment. The absolute option makes the
%% node labels ignore the rotation of the parent node.
\node [or] at (g2.south) [label=-20:G02] {};
\node [and] at (g3.south) [label=-20:G03] {};
\node [or] at (g4.south) [label=-20:G04] {};
\node [or] at (g5.south) [label=-20:G05] {};
\node [be] at (b1.south) [label=below:B01] {};
\node [be] at (b2.south) [label=below:B02] {};
\node [be] at (b3.south) [label=below:B03] {};
\node [tr] at (t1.south) [label=below:T01] {};
\node [tr] at (t2.south) [label=below:T02] {};
%% Draw system flow diagram
% \begin{scope}[xshift=-7.5cm,yshift=-5cm,very thick,
% node distance=1.6cm,on grid,>=stealth',
% block/.style={rectangle,draw,fill=cyan!20},
% comp/.style={circle,draw,fill=orange!40}]
% \node [block] (re) {Receiver};
% \node [comp] (cb) [above=of re] {B} edge [->] (re);
% \node [comp] (ca1) [above=of cb,xshift=-0.8cm] {A1} edge [->] (cb);
% \node [comp] (ca2) [right=of ca1] {A2} edge [->] (cb);
% \node [block] (s1) [above=of ca1] {Source1} edge [->] (ca1);
% \node [block] (s2) [right=of s1] {Source2} edge [->] (ca2);
% \end{scope}
\node [or] at (g1.south) [label=-20:G01] {};
\node [or] at (g2.south) [label=-20:G02] {};
\node [or] at (g4.south) [label=-20:G02] {};
% \node [and] at (g3.south) [label=-20:G03] {};
% \node [or] at (g4.south) [label=-20:G04] {};
% \node [or] at (g5.south) [label=-20:G05] {};
\node [be] at (b1.south) [label=below:B01] {};
\node [be] at (b2.south) [label=below:B02] {};
\node [be] at (b3.south) [label=below:B03] {};
\node [be] at (b4.south) [label=below:B04] {};
% \node [tr] at (t1.south) [label=below:T01] {};
% \node [tr] at (t2.south) [label=below:T02] {};
%%
\end{tikzpicture}
\label{fig:noninvfta}
\caption{Example FTA for a Gas Supply with two Shutoff Valves}
\end{figure}
\clearpage