From 4e7f73f6f59aa76966b275280b2194c20356d761 Mon Sep 17 00:00:00 2001 From: Robin Clark Date: Mon, 21 Jun 2010 14:05:23 +0100 Subject: [PATCH] symptom ex, went through algotithm description --- symptom_ex_process/symptom_ex_process.tex | 99 ++++++++++++----------- 1 file changed, 54 insertions(+), 45 deletions(-) diff --git a/symptom_ex_process/symptom_ex_process.tex b/symptom_ex_process/symptom_ex_process.tex index 500c824..bc78e42 100644 --- a/symptom_ex_process/symptom_ex_process.tex +++ b/symptom_ex_process/symptom_ex_process.tex @@ -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