ection{The Symptom abstraction Process} % TO DO: separate these two: \paragraph{Symptom Extraction Described} The objective of `symptom abstraction' is to analyse the functional~group and find how it can fail when specified components within it fail. Once we know how functional~group can fail, we can treat it as a component or sub-system with its own set of failure modes. \paragraph{FMEA applied to the Functional Group} 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 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 (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. Note that here because the process is bottom up, we can ensure that all failure modes associated with a functional~group have been handled. Were failure~modes missed, any failure mode model could be dangerously incomplete. It is possible here for an automated system to flag unhandled failure modes. \ref{requirement at the start} %%% %%%\section{The Process : To analyse a base level Derived~Component/sub-system} %%% %%%To sumarise: %%% %%%\begin{itemize} %%% \item Determine a minimal functional group %%% \item Obtain the list of components in the functional group %%% \item Collect the failure modes for each component %%%% \item Draw these as contours on a diagram %%%% \item Where si,ultaneous failures are examined use overlapping contours %%%% \item For each region on the diagram, make a test case %%% \item Examine each failure mode of all the components in the functional~group, and determine their effects on the failure~mode behaviour of the functional group %%% \item Collect common symptoms. Imagine you are handed this functional group as a `black box', a `sub-system' to use. %%%Determine which test cases produce the same fault symptoms {\em from the perspective of the functional~group}.% Join common symptoms with lines connecting them (sometimes termed a `spider'). %%% \item The lone test cases and the common~symptoms are now the fault mode behaviour of the sub-system/derived~component. %%% \item A new `derived component' can now be created where each common~symptom, or lone test case is a failure~mode of this new component. %%%\end{itemize} %%% %%% %%% %%% %%%\section{A general derived Component/Sub-System example} %%% %%%Consider a functional group $FG$ with components $C_1$, $C_2$ and $C_3$. %%% %%%$$ FG = \{ C_1 , C_2 , C_3 \} $$ %%% %%%Each component has a set of related fault modes (i.e. ways in which it can fail to operate correctly). %%%Let us define the following failure modes for each component, defining a function $FM()$ %%%that is passed a component and returns the set of failure modes associated with it %%%\footnote{Base component failure modes are defined, often with %%%statistics and evironmental factors in a variety of sources. \cite{mil1991} %%%}. %%% %%%To re-cap from the definitions chapter \ref{chap:definitions}. %%% %%%Let the set of all possible components be $\mathcal{C}$ %%%and let the set of all possible failure modes be $\mathcal{F}$. %%% %%%We can define a function $FM$ %%% %%%\begin{equation} %%%FM : \mathcal{C} \mapsto \mathcal{P}\mathcal{F} %%%\end{equation} %%% %%%defined by (where $C$ is a component and $F$ is a set of failure modes): %%% %%%$$ FM ( C ) = F $$ %%% %%%%\\ %%% %%%And for this example: %%% %%%$$ FM(C_1) = \{ a_1, a_2, a_3 \} $$ %%%$$ FM(C_2) = \{ b_1, b_2 \} $$ %%%$$ FM(C_3) = \{ c_1, c_2 \} $$ %%% %%% %%%\paragraph{Finding all failure modes within the functional group} %%% %%%For FMMD failure mode analysis, we need to consider the failure modes %%%from all the components in the functional group as a flat set. %%%This can be found by applying function $FM$ to all the components %%%in the functional~group and taking the union of them thus: %%% %%%$$ FunctionalGroupAllFailureModes = \bigcup_{j \in \{1...n\}} FM(C_j) $$ %%% %%%We can actually overload the notation for the function FM %%%and define it for the set components within a functional group $FG$ (i.e. where $FG \subset \mathcal{C} $) thus: %%% %%%\begin{equation} %%%FM : FG \mapsto \mathcal{F} %%%\end{equation} %%% %%%Applied to the functional~group $FG$ in the example above: %%%\begin{equation} %%% FM(FG) = \{a_1, a_2, a_3, b_1, b_2, c_1, c_2 \} %%%\end{equation} %%% %%%This can be seen as all the failure modes that can affect the failure mode group $FG$. %%% %%%\subsection{Analysis of the functional group failure modes} %%% %%%For this example we shall consider single failure modes. %%%%For each of the failure modes from $FM(FG)$ we shall %%%%create a test case ($fgfm_i$). Next each test case is examined/analysed %%%%and its effect on the functional group determined. %%% %%%\par %%%%\vspace{0.3cm} %%%\begin{table}[h] %%%\begin{tabular}{||c|c|c|c||} \hline \hline %%% {\em Component Failure Mode } & {\em test case} & {\em Functional Group} & {\em Functional Group} \\ %%% {\em } & {\em } & {\em failure mode} & {\em Symptom} \\ \hline %%%% %%%$a\_1$ & $fs\_1$ & $fgfm_{1}$ & SP2 \\ \hline %%%$a\_2$ & $fs\_2$ & $fgfm_{2}$ & SP1 \\ \hline %%%$a\_3$ & $fs\_3$ & $fgfm_{3}$ & SP2\\ \hline %%%$b\_1$ & $fs\_4$ & $fgfm_{4}$ & SP1 \\ \hline %%%$b\_2$ & $fs\_5$ & $fgfm_{5}$ & SP1 \\ \hline %%%$c\_1$ & $fs\_6$ & $fgfm_{6}$ & \\ \hline %%%$c\_2$ & $fs\_7$ & $fgfm_{7}$ & SP2\\ \hline %%%% %%% \hline %%%\end{tabular} %%%\caption{Component to functional group to failure symptoms example} %%%\label{tab:fexsymptoms} %%%\end{table} %%%%\vspace{0.3cm} %%% %%%Table~\ref{tab:fexsymptoms} shows the analysis process. %%%As we are only looking at single fault possibilities for this example each failure mode %%%is represented by a test~case. %%%The Component failure modes become test cases\footnote{The test case stage is necessary because for more complex analysis we have to consider the effects of combinations of component failure modes}. %%%The test cases are analysed w.r.t. the functional~group. %%%These become functional~group~failure~modes ($fgfm$'s). %%%The functional~group~failure~modes are how the functional group fails for the test~case, rather than how the components failed. %%% %%%For the sake of example, let us consider the fault symptoms of $\{fgfm_2, fgfm_4, fgfm_5\}$ to be %%%identical from the perspective of the functional~group. %%%That is to say, the way in which functional~group fails if $fgfm_2$, $fgfm_4$ or $fgfm_5$ % failure modes %%%occur, is going to be the same. %%%For example, in our CD player example, this could mean the common symptom `no\_sound'. %%%No matter which component failure modes, or combinations thereof cause the problem, %%%the failure symptom is the same. %%%It may be of interest to the manufacturers and designers of the CD player why it failed, but %%%as far as we the users are concerned, it has only one symptom, %%%`no\_sound'! %%%We can thus group these component failure modes into a common symptom, $SP1$, thus %%%$ SP1 = \{fgfm_2, fgfm_4, fgfm_5\}$. %%%% These can then be joined to form a spider. %%%Likewise %%%let $SP2 = \{fgfm_1, fgfm_3, fgfm_7\}$ be an identical failure mode {\em from the perspective of the functional~group}. %%%Let $\{fgfm_6\}$ be a distinct failure mode {\em from the perspective of the functional~group i.e. it cannot be grouped as a common symptom}. %%% %%% %%%We have now in $SP1$, $SP2$ and $fgfm_6$ as the three ways in which this functional~group can fail. %%%In other words we have derived failure modes for this functional~group. %%%We can place these in a set of symptoms, $SP$. %%%% %%%$$ SP = \{ SP1, SP2, fgfm_6 \} $$ %%%% %%%% %%%These three symptoms can be considered the set of failure modes for the functional~group, and %%%we can treat it as though it were a {\em black box} %%%or a {\em component} to be used in higher level designs. %%%% %%%The next stage of the process could be applied automatically. %%%Each common symptom becomes a failure mode of %%%a newly created derived component. Let $DC$ be the newly derived component. %%%This is assigned the failure modes that were derived from the functional~group. %%%We can thus apply the function $FM$ on this newly derived component thus: %%% %%%$$ FM(DC) = \{ SP1, SP2, fgfm_6 \} $$ %%% %%%Note that $fgfm_6$, while %being a failure mode has %%%not being grouped as a common symptom %%%has \textbf{not dissappeared from the analysis process}. %%%Were the designer to have overlooked this test case, it would appear in the derived component. %%%This is rather like a child not eating his lunch and being served it cold for dinner\footnote{Although I was only ever threatened with a cold dinner once, my advice to all nine year olds faced with this dilemma, it is best to throw the brussel sprouts out of the dining~room window while the adults are not watching!}! %%%The process must not allow failure modes to be ignored or forgotten (see project aims in section \ref{requirements}). %%% %%% %%%\subsection{Defining the analysis process as a function} %%% %%%It is useful to define this analysis process as a function. %%%Defining the function `$\bowtie$' to represent the {\em symptom abstraction} process, we may now %%%write %%% %%%$$ %%%\bowtie : SubSystemComponentFaultModes \mapsto DerivedComponent %%%$$ %%%% %%%%\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 %%%\end{equation} %%% %%% %%%%The $SS_{fm}$ set of fault modes can be represented as a diagram with each fault~mode of $SS$ being a contour. %%%%The derivation of $SS_{fm}$ is represented graphically using the `$\bowtie$' symbol, as in figure \ref{fig:gensubsys4} %%% %%%% \begin{figure}[h+] %%%% \centering %%%% \includegraphics[width=3in,height=3in]{./symptom_abstraction4.jpg} %%%% % synmptom_abstraction.jpg: 570x601 pixel, 80dpi, 18.10x19.08 cm, bb=0 0 513 541 %%%% \label{fig:gensubsys3} %%%% \caption{Deriving a new diagram} %%% %%% %%%This sub-system or derived~component $DC$ , with its three error modes, can now be treated as a component (although at a higher level of abstraction) %%%with known failure modes. %%%This process can be repeated using derived~components to build a %%%hierarchical %%%fault~mode %%%model. %%% %%% %%% %%% %%%