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,
|
@MISC{gnuplot,
|
||||||
author = "Various Open~source~Project",
|
author = "Various Open~source~Project",
|
||||||
title = "",
|
title = "Gnuplot: graph plotting utility",
|
||||||
howpublished = "Available from http://www.gnuplot.info/",
|
howpublished = "Available from http://www.gnuplot.info/",
|
||||||
year = "2005"
|
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,
|
@MISC{eulerviz,
|
||||||
author = "Peter~Rodgers, John~Howse, Andrew~Fish",
|
author = "Peter~Rodgers, John~Howse, Andrew~Fish",
|
||||||
title = "Visualization of Euler Diagrams",
|
title = "Visualization of Euler Diagrams",
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
DIA = components_81_euler.png
|
DIA = components_81_euler.png
|
||||||
|
|
||||||
|
|
||||||
doc: $(DIA)
|
doc: $(DIA) xfmea_fmmd_comp.png
|
||||||
|
|
||||||
#
|
#
|
||||||
#bib:
|
#bib:
|
||||||
@ -14,6 +14,9 @@ doc: $(DIA)
|
|||||||
# bibtex HR230003_combined_o2_co_sensor
|
# bibtex HR230003_combined_o2_co_sensor
|
||||||
#
|
#
|
||||||
|
|
||||||
|
xfmea_fmmd_comp.png:
|
||||||
|
gnuplot < xfmea_comp.gpt
|
||||||
|
|
||||||
|
|
||||||
%.png:%.dia
|
%.png:%.dia
|
||||||
dia -t png $<
|
dia -t png $<
|
||||||
|
@ -14,7 +14,14 @@ and then formulae are presented for calculating the
|
|||||||
complexity of applying FMEA to a group of components.
|
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.
|
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}.
|
compared against {\XFMEA}.
|
||||||
%
|
%
|
||||||
Following on from the formal definitions, `unitary state failure modes' are defined. In short these
|
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
|
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}$.
|
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}
|
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.
|
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
|
% Next statement needs alot of justification
|
||||||
%
|
%
|
||||||
It is the author's belief that FMMD reduces the comparison complexity enough to make
|
%It is the author's belief that FMMD reduces the comparison complexity enough to make
|
||||||
exhaustive checking (within {\fgs}) entirely feasible.
|
%exhaustive checking (within {\fgs}) entirely feasible.
|
||||||
|
|
||||||
|
|
||||||
%\pagebreak[4]
|
%\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}
|
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
|
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
|
to compare the number of checks to make from an FMMD hierarchy to {\XFMEA}.
|
||||||
all components in a system.
|
%applied to
|
||||||
|
%all components in a system.
|
||||||
|
|
||||||
Consider $k$ to be the number of components in a {\fg} (i.e. $k=|{\FG}|$),
|
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
|
$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
|
For FMMD (where within {\fgs} the analysis \textbf{is exhaustive}) we only require
|
||||||
720 reasoning paths.
|
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
|
%\clearpage
|
||||||
\subsection{Complexity Comparison applied to FMMD electronic circuits analysed in chapter~\ref{sec:chap5}.}
|
\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}.
|
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}.
|
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}
|
% \begin{itemize}
|
||||||
% \item Must be able to analyse hybrid software/hardware systems,
|
% \item Must be able to analyse hybrid software/hardware systems,
|
||||||
% \item no state explosion (which has rendered exhaustive analysis impractical),
|
% \item no state explosion (which has rendered exhaustive analysis impractical),
|
||||||
@ -75,7 +75,7 @@ Under the following assumptions and constraints:
|
|||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Failure modes are available for all {\bcs},
|
\item Failure modes are available for all {\bcs},
|
||||||
\item Analysts are capable of finding suitable {\fgs} from electronic schematics,
|
\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
|
%\item
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
@ -128,7 +128,8 @@ into its hierarchical model.
|
|||||||
%By way of example, the Pt100 analysis %example
|
%By way of example, the Pt100 analysis %example
|
||||||
%from section~\{sec:pt100} has been used to demonstrate this.
|
%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
|
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}
|
\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}.
|
modern components}.
|
||||||
%
|
%
|
||||||
Using the MIL-HDBK-217F\cite{mil1991} specifications for resistor and thermistor
|
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}
|
\paragraph{Resistor FIT Calculations}
|
||||||
@ -367,7 +368,7 @@ the FMMD model.
|
|||||||
A system will be expected to perform in a given environment.
|
A system will be expected to perform in a given environment.
|
||||||
%
|
%
|
||||||
Environment in the context of this study
|
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 typical data sheet for an electrical component will give
|
||||||
a working temperature range: %, for instance.
|
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 safety critical circuit may have a self test mode which could be operated externally:
|
||||||
a micro-processor may have a SLEEP mode etc.
|
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.
|
be factored into the UML model.
|
||||||
%
|
%
|
||||||
We may encounter a condition where we would want to inhibit some action of the system.
|
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}
|
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.}.
|
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 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}.
|
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.
|
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;
|
FMMD models both software and hardware;
|
||||||
we can thus verify that all
|
we can thus verify that all
|
||||||
failure modes from the electronics module have been dealt
|
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.
|
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
|
\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