symptom ex, went through algotithm description
This commit is contained in:
parent
54cfe711dc
commit
4e7f73f6f5
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user