symptom ex, went through algotithm description

This commit is contained in:
Robin Clark 2010-06-21 14:05:23 +01:00
parent 54cfe711dc
commit 4e7f73f6f5

View File

@ -52,7 +52,7 @@ A faulty piece of equipment is examined and will have a
symptom or specific fault. The suspected area or sub-system within the
equipment will next be looked into.
The trouble shooter will look for behaviour that is unusual or incorrect
to determine the next area or sub~system to look at, each time
to determine the next area or sub~system to look into, each time
moving to a more detailed lower level.
Specific measurements
and checks will be made, and finally a component or a low level sub-system
@ -61,18 +61,20 @@ A natural fault finding process is thus top~down.
\subsection{FMMD - Bottom~up Analysis}
The FMMD technique does not follow the `natural fault finding' or top down approach,
it instead works from the bottom up.
Starting with a collection of components that form
Starting with a collection of base~components that form
a simple functional group, the effect of all component error modes are
examined, as to their effect on the functional group.
The effects on the functional group can then be collected as common symptoms,
and now we may treat the functional group as a component. It has a known set of failure modes.
and now we may treat the functional group as a component as it has a known set of failure modes.
By reusing the `components' derived from functional~groups an entire
hierarichal failure mode mode of the system can be built.
By working from the bottom up, we can trace all possible sources
that could cause a particular mode of equipment failure.
This means that at the design stage of a product all component failure
modes must be considered. The aim here is for complete failure mode coverage.
This also means that we can obtain statistical estimates based on the known reliabilities
of the components.
It also means that every component failure mode must at the very least be considered.
%It also means that every component failure mode must at the very least be considered.
\subsection{Static Analysis}
@ -123,8 +125,11 @@ will have a fault/failure behaviour and it should
always be possible to obtain a set of failure modes
for each `component'. In FMMD terms a sub-system is a derived component.
If we look at the sound system again as an example,
the CD~player could fail in several distinct ways, no matter what has happened to it or has gone wrong inside it.
If we look at the sound system example,
the CD~player could fail in several distinct ways,
and this couldbe due to a large number of
component failure modes.
%no matter what has happened to it or has gone wrong inside it.
Using the reasoning that working from the bottom up forces the consideration of all possible
@ -141,11 +146,13 @@ to be one of the base level functional~groups.
In choosing the lowest level (base component) sub-systems we would look
for the smallest `functional~groups' of components within a system. A functional~group is a set of components that interact
for the smallest `functional~groups' of components within a system.
We can define a functional~group as a set of components that interact
to perform a specific function.
When we have analysed the fault behaviour of a functional group, we can treat it as a `black box'.
We can now call our functional~group a sub-system. The goal here is to know how it will behave under fault conditions !
We can now call our functional~group a sub-system or a derived~component.
The goal here is to know how it will behave under fault conditions !
%Imagine buying one such `sub~system' from a very honest vendor.
%One of those sir, yes but be warned it may fail in these distinct ways, here
%in the honest data sheet the set of failure modes is listed!
@ -159,10 +166,9 @@ We can now call our functional~group a sub-system. The goal here is to know how
%\footnote{Microchip sources give an FIT of 4 for their PIC18 series micro~controllers\cite{microchip}, The DOD
%1991 reliability manual\cite{mil1991} applies a FIT of 100 for this generic type of component}
Electrical components have detailed datasheets associated with them. A useful extension of this would
Electrical components have detailed datasheets associated with them. A useful extension of this could
be failure modes of the component, with environmental factors and MTTF statistics.
Currently this sort of information is generally only available for generic component types\cite{mil1991}.
Currently this sort of failure mode information is generally only available for generic component types\cite{mil1991}.
%At higher levels of analysis, functional~groups are pre-analysed sub-systems that interact to
@ -211,22 +217,32 @@ As the functional~group is a set of components, the failure~modes
that we have to consider are all the failure modes of its components.
Each failure mode (or combination of) investigated is termed a `test case'.
Each `test case' is analysed.
The component failure modes are examined with respect to their effect on the functional~group.
%
The component failure modes in each test case
are examined with respect to their effect on the functional~group.
%
The aim of this analysis is to find out how the functional~group reacts
to each of the test case conditions.
The goal of the process is to produce a set of failure modes from the perspective of the functional~group.
\paragraph{Symptom Identification}
When all `test~cases' have been analysed, a second phase is applied.
%
This looks at the results of the `test~cases' as symptoms
of the sub-system.
Single component failures within the functional~group may cause unique symptoms.
Single component failures (or combinations) within the functional~group may cause unique symptoms.
However, many failures, when looked at from the perspective of the functional group, will have the same symptoms.
These can be collected as `common symptoms'.
To go back to the CD~player example, a failed
output stage, and a failed internal audio amplifier,
will both cause the same failure; $no\_sound$ !
\paragraph{Collection of Symptoms}
The common symptoms of failure and lone~component failure~modes are identified and collected.
We can now consider the functional~group as a component and the common symptoms as its failure modes.
@ -282,7 +298,7 @@ We can define a function $FM$
FM : \mathcal{C} \mapsto \mathcal{P}\mathcal{F}
\end{equation}
defined by
defined by (where $C$ is a component and $F$ is a set of failure modes):
$$ FM ( C ) = F $$
@ -409,12 +425,14 @@ write
$$
\bowtie : SubSystemComponentFaultModes \mapsto DerivedComponent
$$
\begin{equation}
\bowtie(FG_{cfm}) = DC
\end{equation}
or applying the function $FM$ to obtain the $FG_{cfm}$ set
%
%\begin{equation}
% \bowtie(FG_{cfm}) = DC
%\end{equation}
%
%or applying the function $FM$ to obtain the $FG_{cfm}$ set
%
Where DC is a derived component, and FG is a functional group:
\begin{equation}
\bowtie(FM(FG)) = DC
@ -488,7 +506,7 @@ verification checks in the process can be stated formally.
\begin{algorithm}[h+]
~\label{alg:sympabs1}
\caption{Determine failure modes: $FG \mapsto FG_{cfm}$} \label{alg:sympabs11}
\caption{Determine failure modes: $FG \mapsto F$} \label{alg:sympabs11}
\begin{algorithmic}[1]
%\REQUIRE Obtain a list of components for the System $S$ under investigation.
%ENSURE Decomposition of $S$ into atomic components where each component $c$ has a know set of $fm$ failure modes.
@ -497,26 +515,19 @@ verification checks in the process can be stated formally.
%\STATE Determine functional groups $fg_n \subset S$ of components, where n is an index number and the number of functional groups found.
\STATE { Let $FG$ be a set of components } \COMMENT{ The functional group should be chosen to be minimally sized collections of components that perform a specific function}
\STATE { Let $c$ represent a component}
\STATE { Let $C_{fm}$ represent a set of failure modes }
\STATE { $FM(c) \mapsto C_{fm} $} \COMMENT {Let the function $FM$ take a component and return a set of all its failure modes}
\STATE { Let $C$ represent a component}
%\ENSURE { $ \forall c | c \in FG \wedge FM(c) \neq \emptyset $}
%\ENSURE { $ c | c \in FG \wedge FM(c) \neq \emptyset $}
\ENSURE{ Each component $c \in FG $ has a known set of failure modes i.e. $FM(c) \neq \emptyset$ }
%\REQUIRE{ Ensure that all components belong to at least one functional group $\bigcup_{i=1...n} fg_i = S $ }
%symptom_abstraction
% okular
\ENSURE{ Each component $C \in FG $ has a known set of failure modes i.e. $FM(C) \neq \emptyset$ }
\STATE {let $FG_{cfm}$ be a set of all failure modes to consider for the functional~group $FG$}
\STATE {let $FM(FG)$ be a set of all failure modes to consider for the functional~group $FG$}
\STATE {Collect all failure modes from all the components in FG into the set $FG_{cfm}$}
\FORALL { $c \in FG $ }
\STATE { $ FM(c) \in FG_{cfm} $ } \COMMENT {Collect all failure modes from each component into the set $FM_{cfm}$}
\ENDFOR
%\STATE {Collect all failure modes from all the components in FG into the set $FG_{cfm}$}
%\FORALL { $c \in FG $ }
%\STATE { $ FM(c) \in FG_{cfm} $ } \COMMENT {Collect all failure modes from each component into the set $FM_{cfm}$}
%\ENDFOR
%\hline
Algorthim \ref{alg:sympabs11} has taken a functional group $FG$ and returned a set of failure~modes $FG_{cfm}$.
Algorthim \ref{alg:sympabs11} has taken a functional~group $FG$ and returned a set of failure~modes $F=FM(FG)$ where each component has a known set of failure~modes.
The next task is to formulate `test cases'. These are the combinations of failure~modes that will be used
in the analysis stages.
@ -533,7 +544,7 @@ in the analysis stages.
\begin{algorithm}[h+]
~\label{alg:sympabs2}
\caption{Determine Test Cases: $FM_{cfm} \mapsto TC $} \label{alg:sympabs22}
\caption{Determine Test Cases: $FM(FG) \mapsto TC $} \label{alg:sympabs22}
\begin{algorithmic}[1]
\REQUIRE {Determine the test cases to be applied}
@ -560,8 +571,8 @@ in the analysis stages.
\FORALL { $tc_j \in TC$ }
%\ENSURE {$ tc_j \in \bigcap FG_{cfm} $}
\ENSURE {$ tc_j \in \mathcal{P} FG_{cfm} $}
\COMMENT { require that the test case is a member of the powerset of $FM_{cfm}$ }
\ENSURE {$ tc_j \in \mathcal{P}(FM(FG))$}
\COMMENT { require that the test case is a member of the powerset of $FM(FG)$ }
\ENSURE { $ \forall \; j2 \; \in J ( \forall \; j1 \; \in J | tc_{j1} \neq tc_{j2} \; \wedge \; j1 \neq j2 ) $}
\COMMENT { Test cases must be unique }
\ENDFOR
@ -570,12 +581,12 @@ in the analysis stages.
\STATE { let $f$ represet a component failure mode }
\REQUIRE { That all failure modes are represented in at least one test case }
\ENSURE { $ \forall f | (f \in FM_{cfm}) \wedge (f \in \bigcup TC) $ }
\ENSURE { $ \forall f | (f \in FM(FG)) \wedge (f \in \bigcup TC) $ }
\COMMENT { This corresponds to checking that at least each failure mode is considered at least once in the analysis; some european standards
imply checking all double fault combinations\cite{en298} }
%\hline
Algorithm \ref{alg:sympabs22} has taken the set of failure modes $FM_{cfm}$ and returned a set of test cases $TC$.
Algorithm \ref{alg:sympabs22} has taken the set of failure modes $ FM(FG) $ and returned a set of test cases $TC$.
The next stages is to analyse the effect of each test case on the functional group.
\end{algorithmic}
@ -629,7 +640,8 @@ Algorithm \ref{alg:sympabs33} has built the set $R$, the sub-system/functional g
\FORALL { $ r_j \in R$ }
\STATE { $sp_l \in \mathcal{P} R \wedge sp_l \in SP$ }
\STATE { $sp_l \in \bigcap R \wedge sp_l \in SP$ } \COMMENT{ Collect common symptoms.
%\STATE { $sp_l \in \bigcap R \wedge sp_l \in SP$ }
\COMMENT{ Collect common symptoms.
Analyse the sub-system's fault behaviour under the failure modes in $tc_j$ and determine the symptoms $sp_l$ that it
causes in the functional group $FG$}
%\ENSURE { $ \forall l2 \in L ( \forall l1 \in L | \exists a \in sp_{l1} \neq \exists b \in sp_{l2} \wedge l1 \neq l2 ) $}
@ -639,9 +651,6 @@ causes in the functional group $FG$}
\COMMENT { Ensure that the elements in each $sp_l$ are not present in any other $sp_l$ set }
\ENDFOR
\STATE { The Set $SP$ can now be considered to be the set of fault modes for the sub-system that $FG$ represents}
%\hline