Added XFMEA FMMD comparison graph
This commit is contained in:
parent
31521372c6
commit
c3ce1b123e
11
mybib.bib
11
mybib.bib
@ -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",
|
||||
|
@ -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 $<
|
||||
|
@ -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
|
||||
|
48
submission_thesis/CH7_Evaluation/xfmea_comp.gpt
Normal file
48
submission_thesis/CH7_Evaluation/xfmea_comp.gpt
Normal 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
|
@ -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.
|
||||
%
|
||||
|
@ -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}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user