Added XFMEA FMMD comparison graph

This commit is contained in:
Robin Clark 2013-06-23 14:15:49 +01:00
parent 31521372c6
commit c3ce1b123e
6 changed files with 188 additions and 19 deletions

View File

@ -987,11 +987,18 @@ ISSN={1530-2059},}
@MISC{gnuplot,
author = "Various Open~source~Project",
title = "",
title = "Gnuplot: graph plotting utility",
howpublished = "Available from http://www.gnuplot.info/",
year = "2005"
}
@book{Janert:2009:GAU:1631269,
author = {Janert, Philipp K.},
title = {Gnuplot in Action: Understanding Data with Graphs},
year = {2009},
isbn = {1933988398, 9781933988399},
publisher = {Manning Publications Co.},
address = {Greenwich, CT, USA},
}
@MISC{eulerviz,
author = "Peter~Rodgers, John~Howse, Andrew~Fish",
title = "Visualization of Euler Diagrams",

View File

@ -6,7 +6,7 @@
DIA = components_81_euler.png
doc: $(DIA)
doc: $(DIA) xfmea_fmmd_comp.png
#
#bib:
@ -14,6 +14,9 @@ doc: $(DIA)
# bibtex HR230003_combined_o2_co_sensor
#
xfmea_fmmd_comp.png:
gnuplot < xfmea_comp.gpt
%.png:%.dia
dia -t png $<

View File

@ -14,7 +14,14 @@ and then formulae are presented for calculating the
complexity of applying FMEA to a group of components.
%
These formulae are then used for a hypothetical example, which is analysed by both FMEA and FMMD.
After analysing hypothetical examples, the FMMD examples from chapter~\ref{sec:chap5} are
%
%After analysing hypothetical examples, the
The hypothetical example gives a general formula, which shows that the reasoning distance
goes from a polynomial to a logarithmic order comparing XFMEA with FMMD.
%
%This means that for
%
The reasoning distances obtained from the FMMD examples (see chapter~\ref{sec:chap5}) are
compared against {\XFMEA}.
%
Following on from the formal definitions, `unitary state failure modes' are defined. In short these
@ -209,7 +216,7 @@ $i$ for identification and a superscript for the $\alpha$~level (see section~\r
For example the first {\fg} in a hierarchy containing base components only
i.e. at the zero'th level of an FMMD hierarchy where $\alpha=0$, would have the superscript 0 and a subscript of 1: $FG^{0}_{1}$.
%
The {\fg} representing the potential divider in section~\ref{sec:pd}
The {\fg} representing the potential divider in section~\ref{subsec:potdiv}
has an $\alpha$ level of 0 (as it contains base components). The {\fg}
with the potential divider and the operational amplifier has an $\alpha$ level of 1.
%$$
@ -303,8 +310,8 @@ process are by-hand/human activities. It can be seen that it is practically impo
%
% Next statement needs alot of justification
%
It is the author's belief that FMMD reduces the comparison complexity enough to make
exhaustive checking (within {\fgs}) entirely feasible.
%It is the author's belief that FMMD reduces the comparison complexity enough to make
%exhaustive checking (within {\fgs}) entirely feasible.
%\pagebreak[4]
@ -337,8 +344,9 @@ use the general formula for comparing the number of checks to make for
%
If we were to create an example by fixing the number of components in a {\fg}
and the number of failure modes per component, we can derive formulae
to compare the number of checks to make from an FMMD hierarchy to {\XFMEA} applied to
all components in a system.
to compare the number of checks to make from an FMMD hierarchy to {\XFMEA}.
%applied to
%all components in a system.
Consider $k$ to be the number of components in a {\fg} (i.e. $k=|{\FG}|$),
$f$ is the number of failure modes per component (i.e. $f=|fm(c)|$), and
@ -437,6 +445,53 @@ $$
For FMMD (where within {\fgs} the analysis \textbf{is exhaustive}) we only require
720 reasoning paths.
\subsubsection{Plotting XFMEA and FMMD reasoning distance}
Using the gnuplot utility~\cite{gnuplot,Janert:2009:GAU:1631269} and implementing equation~\ref{eqn:fmea_state_exp22} for
XFMEA and equation~\ref{eqn:anscen} for FMMD reasoning distances, we can (using a logarithmic axis for reasoning distance)
compare them graphically. The gnuplot script used to
produce figure~\ref{fig:xfmeafmmdcomp} may be found in section~\ref{sec:gnuplotxfmeafmmdcomp}.
\begin{figure}[h]
\centering
\includegraphics[width=400pt]{./CH7_Evaluation/xfmea_fmmd_comp.png}
% xfmea_fmmd_comp.png: 640x480 pixel, 72dpi, 22.58x16.93 cm, bb=0 0 640 480
\caption{XFMEA and FMMD reasoning distance comparison graph.}
\label{fig:xfmeafmmdcomp}
\end{figure}
Looking at the graph in figure~\ref{fig:xfmeafmmdcomp} we see that the reasoning distance
for large numbers of components becomes extremely difficult to achieve
for FMEA.
%
It can be seen that the reasoning distance has gone from a polynomial to a logarithmic order.
%
By applying FMMD we have effectively decimated the large group for analysis into
a hierarchy of much smaller groups and applied FMEA {\em within} those.
%
In mathematical terms this means we have converted the polynomial order
to logarithmic by being able to convert exponentiation
to constants of integration.
%
This process can be viewed as similar to the order of processing
that occurs in the decimation in time FFT~\cite{fftoriginal} when
compared to the DFT algorithm.
%
%We have been able to successively take constants of integration
%out of the equations in the process of de-composition, resulting
%in a saving in the number of processing steps (here hand analysis FMEA stages).
%\clearpage
\subsection{Complexity Comparison applied to FMMD electronic circuits analysed in chapter~\ref{sec:chap5}.}
@ -1365,6 +1420,6 @@ It could be very easy to miss the side effect and include
the component causing the side effect into the wrong {\fg}, or only one germane {\fg}.
\section{Evaluation}
%\section{Evaluation}
TO DO
%TO DO

View File

@ -0,0 +1,48 @@
##
# GNUPLOT SCRIPT to plot XFMEA FMMD reasoning distance
# comparisons.
#
#
# alway define fp in declaration, as in 'C'
# or gnuplot treats these as integers.
#
# number of failure modes per component
fm = 3.0
# number of components in each functional group
k = 3.0
# place the functional group size and failure mode per components
# size into a string to use as the graph title
#
tt = sprintf("reasoning distance comparison for |fg| = %d and |fm| = %d", k, fm)
set title tt
a = 0.0
b = 0.0
# formula for reasoning distance in one level of FMMD
# hierarchy (as given by ll)
#
fmmd(ll)=k**ll * k * fm * (k - 1)
# set up iterative sum in gnuplot syntax
# to iterate over FMMD levels
#
sum(a,b) = (a > b) ? 0 : fmmd(a) + sum(a+1, b)
sig_fx(c) = sum(a,c)
# reasoning distance for exhaustive case in FMEA
# where ll is the hierarchy level
xfmea(ll) = k**(ll+1) * ( k**(ll+1) -1 ) * fm
set xrange [0:1000]
set xlabel "Component count"
set ylabel "reasoning distance"
set logscale y
set terminal png
set output 'xfmea_fmmd_comp.png'
plot sig_fx(x**(1/k)), xfmea(x**(1/k))
#!sleep 20

View File

@ -51,7 +51,7 @@ the FMMD process strictly enforced this throughout the hierarchy of a model.
%
Finally the FMMD process was described algorithmically using set theory in appendix~\ref{sec:algorithmfmmd}.%{app:alg}.
In conclusion then a new method of failure analysis has been devised which improves on established techniques in the following ways:
In conclusion then, a new method of failure analysis has been devised which improves on established techniques in the following ways:
% \begin{itemize}
% \item Must be able to analyse hybrid software/hardware systems,
% \item no state explosion (which has rendered exhaustive analysis impractical),
@ -75,7 +75,7 @@ Under the following assumptions and constraints:
\begin{itemize}
\item Failure modes are available for all {\bcs},
\item Analysts are capable of finding suitable {\fgs} from electronic schematics,
\item Software is hierarchical and its elements (functions) can be modelled using contract programming,
\item Software is hierarchical and its elements (functions) can be modelled using contract programming.
%\item
\end{itemize}
@ -128,7 +128,8 @@ into its hierarchical model.
%By way of example, the Pt100 analysis %example
%from section~\{sec:pt100} has been used to demonstrate this.
Because we can use an FMMD model to generate an FMEA report, with additional {\bc} failure mode statistics
we can therefore used FMMD to produce an FMEDA report.
we can %therefore
use FMMD to produce an FMEDA report.
\subsection{Pt100 Example: Single Failures and statistical data}. %Mean Time to Failure}
@ -147,7 +148,7 @@ can give conservative reliability figures when applied to
modern components}.
%
Using the MIL-HDBK-217F\cite{mil1991} specifications for resistor and thermistor
failure statistics, we calculate the reliability of the Pt100 example ( see section~\ref{sec:pt100}).
failure statistics, we calculate the reliability of the Pt100 example (see section~\ref{sec:Pt100}).
\paragraph{Resistor FIT Calculations}
@ -367,7 +368,7 @@ the FMMD model.
A system will be expected to perform in a given environment.
%
Environment in the context of this study
means external influences under which the System could be expected to work. % under.
means external influences under which the system could be expected to work. % under.
%
A typical data sheet for an electrical component will give
a working temperature range: %, for instance.
@ -381,7 +382,7 @@ authorised human intervention takes place.
A safety critical circuit may have a self test mode which could be operated externally:
a micro-processor may have a SLEEP mode etc.
%
To make FMMD compatible with FTA perational states and environmental conditions should %can %must
To make FMMD compatible with FTA operational states and environmental conditions should %can %must
be factored into the UML model.
%
We may encounter a condition where we would want to inhibit some action of the system.
@ -399,7 +400,7 @@ Environmental influences will affect specific components in specific ways\footno
affected by environmental conditions, in this case temperature, is the opto-isolator~\cite{tlp181}
which is typically affected at around {60 \oc}. Most electrical components are more robust to temperature variations.}.
Environmental analysis is thus applicable to components.
Environmental influences, such as over stress due to voltage
Environmental influences, such as over-stress due to voltage
can be eliminated by down-rating components as discussed in section~\ref{sec:determine_fms}.
With given environmental constraints, we can therefore eliminate some failure modes from the model.
@ -508,7 +509,7 @@ With the contracts in place for the software functions, we can then integrate th
FMMD models both software and hardware;
we can thus verify that all
failure modes from the electronics module have been dealt
by the controlling software.
with by the controlling software.
%
If not they are an un-handled error condition relating to the software hardware interface.
%

View File

@ -828,3 +828,58 @@ FMMD analysis tables from chapter~\ref{sec:chap6}.
}
\clearpage/pr
\subsection{Gnuplot script for hypothetical XFMEA FMMD reasoning distance comparision}
\label{sec:gnuplotxfmeafmmdcomp}
\begin{verbatim}
##
# GNUPLOT SCRIPT to plot XFMEA FMMD reasoning distance
# comparisons.
#
#
# alway define fp in declaration, as in 'C'
# or gnuplot treats these as integers.
#
# number of failure modes per component
fm = 3.0
# number of components in each functional group
k = 3.0
# place the functional group size and failure mode per components
# size into a string to use as the graph title
#
tt = sprintf("reasoning distance comparison for |fg| = %d and |fm| = %d", k, fm)
set title tt
a = 0.0
b = 0.0
# formula for reasoning distance in one level of FMMD
# hierarchy (as given by ll)
#
fmmd(ll)=k**ll * k * fm * (k - 1)
# set up iterative sum in gnuplot syntax
# to iterate over FMMD levels
#
sum(a,b) = (a > b) ? 0 : fmmd(a) + sum(a+1, b)
sig_fx(c) = sum(a,c)
# reasoning distance for exhaustive case in FMEA
# where ll is the hierarchy level
xfmea(ll) = k**(ll+1) * ( k**(ll+1) -1 ) * fm
set xrange [0:1000]
set xlabel "Component count"
set ylabel "reasoning distance"
set logscale y
set terminal png
set output 'xfmea_fmmd_comp.png'
plot sig_fx(x**(1/k)), xfmea(x**(1/k))
#!sleep 20
\end{verbatim}