diff --git a/fmmd_concept/component.dia b/fmmd_concept/component.dia new file mode 100644 index 0000000..4ff7001 Binary files /dev/null and b/fmmd_concept/component.dia differ diff --git a/fmmd_concept/component.jpg b/fmmd_concept/component.jpg new file mode 100644 index 0000000..31fbdd8 Binary files /dev/null and b/fmmd_concept/component.jpg differ diff --git a/fmmd_concept/fmmd_concept.tex b/fmmd_concept/fmmd_concept.tex index 7a252e9..fe69f23 100644 --- a/fmmd_concept/fmmd_concept.tex +++ b/fmmd_concept/fmmd_concept.tex @@ -863,6 +863,17 @@ create higher level {\fg}s in later stages. % NEED DIAGRAM OF HIERACY % \vspace{20pt} +We associate a component with its failure modes. +This is represented in UML in figure \ref{fig:componentconcept}. + +\begin{figure}[h] + \centering + \includegraphics[width=200pt,keepaspectratio=true]{./component.jpg} + % component.jpg: 467x76 pixel, 72dpi, 16.47x2.68 cm, bb=0 0 467 76 + \caption{Component with failure modes UML diagram} + \label{fig:componentconcept} +\end{figure} + \subsection{Environmental Conditions, Operational States and FMMD} @@ -986,7 +997,72 @@ are built from components performing a given task. By breaking the problem of failure mode analysis into small stages and building a hierarchy, the problems associated with the cross products of all failure modes within a system are reduced by an exponential order. +Where appropriate multiple simultaneous failures can be modelled, by +intoducing test~cases where the conjunction of failure modes is considered. +\subsubsection {Inhibit Conditions} +Some failure modes only occur when another failure has occured, or +due to an environmental condition reaching a critical value. This is specifically +dealt with using the FTA methodology~\cite{nucfta}[IV 9]. +An example FTA inhibit gate is shown in figure \ref{fig:inhibitconcept}. + + \begin{figure} + \centering + \begin{tikzpicture}[shorten >=1pt,->,draw=black!50, node distance=\layersep] + \draw[style=thick]; + + \tikzstyle{every pin edge}=[<-,shorten <=1pt] + \tikzstyle{fmmde}=[circle,fill=black!25,minimum size=17pt,inner sep=0pt] + \tikzstyle{fmmdt}=[elipse,fill=red!15,minimum size=17pt,inner sep=0pt] + \tikzstyle{fmmdc}=[rectangle,draw,fill=black!17,minimum size=17pt,inner sep=4pt] + \tikzstyle{fmmdi}=[regular polygon,regular polygon sides=6, draw],fill=black!25,minimum size=50,inner sep=4pt] + \tikzstyle{component}=[fmmde, fill=green!50]; + \tikzstyle{ctext}=[fmmde, draw, fill=black!20]; + \tikzstyle{failure}=[fmmde, fill=red!50]; + \tikzstyle{symptom}=[fmmde, fill=blue!50]; + \tikzstyle{inhibit}=[fmmdi, fill=blue!40]; + \tikzstyle{condition}=[fmmdc, fill=black!20]; + \tikzstyle{conjunction}=[fmmde, fill=red!40]; + \tikzstyle{annot} = [text width=4em, text centered] + + \node[condition] (C-Q) at (0,-1) {Condition Q}; + \node[inhibit] (I) at (0,-4) {Inhibit}; + \node[ctext] (CC) at (4,-4) {$\stackrel{ probability\; that}{ Q\; occurs\; given\; A}$}; + %\node[text] (T) at (2,-2) {Probability that Q occurs given A}; + \node[condition] (C-A) at (0,-7) {Condition A}; + + + + \path (C-A) edge (I); + \path (CC) edge (I); + \path (I) edge (C-Q); + %\path (C-1b) edge (CJ); + %\path (C-1b) edge (CJ); + + \end{tikzpicture} + % End of code + \caption{FTA `inhibit' gate} + \label{fig:inhibitconcept} +\end{figure} + +\paragraph{Static or Dynamic Modelling of Inhibit} +If the model is static we can consider the conditional failure +at a lower probability of occuring (i.e. pthe probability +of A multiplied by the probability of Q). +If we wish to dynamically model the conditional failure +an attribute to the failure~modes must be added +that can reference other failure~modes and environmental conditions. +An UML diagram with inhibit conditions added is shown in figure \ref{fig:uml2concept}. + +% UML DIAGRAM + +\begin{figure}[h] + \centering + \includegraphics[width=400pt,keepaspectratio=true]{./fmmd_env_op_uml2.jpg} + % fmmd_env_op_uml2.jpg: 866x313 pixel, 72dpi, 30.55x11.04 cm, bb=0 0 866 313 + \caption{UML diagram with Inhibit conditions} + \label{fig:umlconcept2} +\end{figure} \subsection{Advantages of FMMD Methodology} diff --git a/fmmd_concept/fmmd_env_op_uml.dia b/fmmd_concept/fmmd_env_op_uml.dia index d52b522..9edf288 100644 Binary files a/fmmd_concept/fmmd_env_op_uml.dia and b/fmmd_concept/fmmd_env_op_uml.dia differ diff --git a/fmmd_concept/fmmd_env_op_uml.jpg b/fmmd_concept/fmmd_env_op_uml.jpg index b217411..32082e4 100644 Binary files a/fmmd_concept/fmmd_env_op_uml.jpg and b/fmmd_concept/fmmd_env_op_uml.jpg differ diff --git a/fmmd_concept/fmmd_env_op_uml2.dia b/fmmd_concept/fmmd_env_op_uml2.dia new file mode 100644 index 0000000..dc7491b Binary files /dev/null and b/fmmd_concept/fmmd_env_op_uml2.dia differ diff --git a/fmmd_concept/fmmd_env_op_uml2.jpg b/fmmd_concept/fmmd_env_op_uml2.jpg new file mode 100644 index 0000000..de27b98 Binary files /dev/null and b/fmmd_concept/fmmd_env_op_uml2.jpg differ diff --git a/fmmd_concept/paper.tex b/fmmd_concept/paper.tex index 16d45e9..8438dc0 100644 --- a/fmmd_concept/paper.tex +++ b/fmmd_concept/paper.tex @@ -3,6 +3,7 @@ \usepackage{graphicx} \usepackage{fancyhdr} \usepackage{tikz} +\usetikzlibrary{shapes,snakes} \usepackage{amsfonts,amsmath,amsthm} \input{../style} \usepackage{ifthen} diff --git a/standards/paper.log b/standards/paper.log index 6c5602f..cf5f5c8 100644 --- a/standards/paper.log +++ b/standards/paper.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian) (format=pdflatex 2010.10.4) 12 OCT 2010 16:40 +This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian) (format=pdflatex 2010.10.4) 3 DEC 2010 14:43 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -413,10 +413,10 @@ File: ./prod_life.jpg Graphic file (type jpg) No file paper.bbl. [2] (./paper.aux) ) Here is how much of TeX's memory you used: - 8189 strings out of 495052 - 137972 string characters out of 1182271 - 187902 words of memory out of 3000000 - 11197 multiletter control sequences out of 15000+50000 + 8191 strings out of 495052 + 137977 string characters out of 1182271 + 187933 words of memory out of 3000000 + 11199 multiletter control sequences out of 15000+50000 10456 words of font info for 39 fonts, out of 3000000 for 9000 28 hyphenation exceptions out of 8191 47i,11n,49p,350b,242s stack positions out of 5000i,500n,10000p,200000b,50000s @@ -427,7 +427,7 @@ f-texlive/fonts/type1/public/amsfonts/cm/cmr12.pfb> -Output written on paper.pdf (2 pages, 127654 bytes). +Output written on paper.pdf (2 pages, 128175 bytes). PDF statistics: 41 PDF objects out of 1000 (max. 8388607) 0 named destinations out of 1000 (max. 500000) diff --git a/standards/paper.pdf b/standards/paper.pdf index 6e8dada..76fac92 100644 Binary files a/standards/paper.pdf and b/standards/paper.pdf differ diff --git a/survey/Makefile b/survey/Makefile index a2cf030..03c35ae 100644 --- a/survey/Makefile +++ b/survey/Makefile @@ -8,7 +8,8 @@ paper: paper.tex survey_paper.tex #latex paper.tex #dvipdf paper pdflatex cannot use eps ffs pdflatex paper.tex - okular paper.pdf + mv paper.pdf survey_paper.pdf + okular survey_paper.pdf # Remove the need for referncing graphics in subdirectories diff --git a/survey/paper.tex b/survey/paper.tex index b0870ba..7789b37 100644 --- a/survey/paper.tex +++ b/survey/paper.tex @@ -3,6 +3,7 @@ \usepackage{graphicx} \usepackage{fancyhdr} \usepackage{tikz} +\usetikzlibrary{shapes.gates.logic.US,trees,positioning,arrows} \usepackage{amsfonts,amsmath,amsthm} \usepackage{ifthen} \newboolean{paper} diff --git a/survey/survey.tex b/survey/survey.tex index 74a1800..b979e26 100644 --- a/survey/survey.tex +++ b/survey/survey.tex @@ -81,6 +81,90 @@ Fault tree Analysis Show how it works, top down, FROM INTERBET HISTORY OF FTA + +% 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} + +\begin{figure} +\begin{tikzpicture}[ +% Gates and symbols style + and/.style={and gate US,thick,draw,fill=blue!40,rotate=90, + anchor=east,xshift=-1mm}, + or/.style={or gate US,thick,draw,fill=blue!40,rotate=90, + anchor=east,xshift=-1mm}, + be/.style={circle,thick,draw,fill=white!60,anchor=north, + minimum width=0.7cm}, + tr/.style={buffer gate US,thick,draw,fill=white!60,rotate=90, + anchor=east,minimum width=0.8cm}, +% Label style + label distance=3mm, + every label/.style={blue}, +% Event style + event/.style={rectangle,thick,draw,fill=yellow!20,text width=2cm, + text centered,font=\sffamily,anchor=north}, +% Children and edges style + edge from parent/.style={very thick,draw=black!70}, + edge from parent path={(\tikzparentnode.south) -- ++(0,-1.05cm) + -| (\tikzchildnode.north)}, + level 1/.style={sibling distance=7cm,level distance=1.4cm, + growth parent anchor=south,nodes=event}, + level 2/.style={sibling distance=7cm}, + level 3/.style={sibling distance=6cm}, + level 4/.style={sibling distance=3cm} +%% For compatability with PGF CVS add the absolute option: +% 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}} + } + } + child {node (b1) {Component B blocks flow}} + }; +%% 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} +\end{tikzpicture} +\caption{Example FTA for a Gas Supply with two Shutoff Valves} +\end{figure} + + %%- RE_PHRASE %% %%- RE_PHRASE %% Fault tree analysis (FTA) is a tool originally developed in %% RE_PHRASE %% 1962 by Bell Labs for use in studying failure modes in the