373 lines
15 KiB
TeX
373 lines
15 KiB
TeX
|
|
\ifthenelse {\boolean{paper}}
|
|
{
|
|
\begin{abstract}
|
|
This paper applies the symptom extraction technique
|
|
using Propositional Logic diagrams, to identify
|
|
symptom groups in functional~groups under
|
|
analysis.
|
|
\end{abstract}
|
|
}
|
|
{
|
|
\section{introduction}
|
|
This chapter applies the symptom extraction technique
|
|
using Propositional Logic diagrams, to identify
|
|
symptom groups in functional~groups under
|
|
analysis.
|
|
}
|
|
%\clearpage
|
|
|
|
|
|
|
|
\subsection{Static Analysis}
|
|
|
|
|
|
\vspace{0.3cm}
|
|
%\begin{table}[p]
|
|
\begin{tabular}{||l|l||} \hline \hline
|
|
{\em Definition } & {\em Description} \\ \hline
|
|
System & A product designed to \\
|
|
& work as a coherent entity \\ \hline
|
|
Sub-system & A part of a system, \\
|
|
& sub-systems may contain sub-systems \\ \hline
|
|
Failure mode & A way in which a System, \\
|
|
& Sub-system or component can fail \\ \hline
|
|
Functional Group & A collection of sub-systems and/or \\
|
|
& components that interact to \\
|
|
& perform a specific function \\ \hline
|
|
Base Component & Any bought in component, which \\
|
|
& hopefully has a known set of failure modes \\ \hline
|
|
\hline
|
|
\end{tabular}
|
|
%\end{table}
|
|
\vspace{0.3cm}
|
|
|
|
|
|
\section{The Symptom abstraction Process}
|
|
|
|
% TO DO: separate these two:
|
|
|
|
\paragraph{symptom abstraction described}
|
|
|
|
The objective of `symptom abstraction' is to analyse the functional~group and find out what will happen to it,
|
|
when specified component failure modes occur.
|
|
Once we know how it fails as a functional~group, we can treat it as a component or sub-system
|
|
with its own set of failure modes.
|
|
|
|
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.
|
|
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.
|
|
In this way `test~case~results' are grouped as common symptoms, from the perspective of the sub-system.
|
|
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{symptom abstraction represented on the diagram}
|
|
This process can be applied using a diagram.
|
|
From the collection of parts for the sub-system under analysis, a set of failure
|
|
modes for each component is obtained. A diagram is then drawn with
|
|
each component failure mode represented by a contour.
|
|
Component failure mode combinations are
|
|
chosen for `test cases'.\footnote{Combinations of component failure modes can be represented by overlapping contours}
|
|
|
|
A `test case' is represented on the diagram as a point or asterisk,
|
|
in a region enclosed by the contours representing the failure modes it investigates.
|
|
|
|
The effect on the sub-system of each test case is analysed.
|
|
%It is then represented on the diagram by an asterisk on the contour representing the failure mode.
|
|
The `test~case~results' are archived.
|
|
That is to say the results from each test case are now associated with the
|
|
asterisk point.
|
|
When all test cases have been analysed, we switch our attention to a higher abstraction level.
|
|
% We treat the sub-system as a black box, or as a component part itsself.
|
|
% We can now look at the test case results from the perspective of a `user'
|
|
% of this sub-system.
|
|
%
|
|
%
|
|
% We treat the sub-system as a `black box' and view the effects of the component failure
|
|
% at the sub-system level. This mean we are not interested so much in what the compoent does,
|
|
% but how the sub-system reacts when it fails in a certain way.
|
|
%
|
|
% Each `test case' is labelled from the perspective of the failure as seen at sub-system level.
|
|
|
|
%
|
|
We can now try to simplfy by determining common symptoms.
|
|
A common symptom, in this context, is defined as faults caused by different
|
|
component failure modes that have the same effect from the perspective
|
|
of a `user' of the sub-system.
|
|
|
|
Test case results can now viewed as failure modes of the sub-sytem or `black box', and grouped together
|
|
where there are common symptoms.
|
|
These are grouped together by joining them with lines. These lines form collected groups (or `spiders').
|
|
See figure \ref{fig:gensubsys3}.
|
|
%
|
|
It can be seen now that each {\em lone test case} and {\em spider} on the
|
|
diagram is a distinct failure mode of the sub-system.
|
|
This means that these failure modes represent the fault behaviour of the sub-system.
|
|
We can now treat this sub-system as a component in its own right, or in other words,
|
|
we have derived a failure mode model at a higher level of abstraction.
|
|
|
|
We can now draw a new diagram to represent the failure modes of the sub-system.
|
|
Each spider or lone test case, becomes a contour representing a failure mode
|
|
of the sub-system in this new diagram (see figure \ref{fig:gensubsys4}.
|
|
|
|
|
|
|
|
\section{The Process : To analyse a base level sub-system}
|
|
|
|
To sumarise:
|
|
|
|
\begin{itemize}
|
|
\item Determine a minimal functional group
|
|
\item Obtain 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 multiple failures are examined use overlapping contours
|
|
\item For each region on the diagram, make a test case
|
|
\item Examine each test case and determine the effect of the component failure modes on the 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. Join common symptoms with lines connecting them (sometimes termed a `spider').
|
|
\item The lone test cases and the spiders are now the fault mode behaviour of the sub-system.
|
|
\item A new diagram can now be drawn where each spider, or lone test case from the original diagram
|
|
is represented as a contour. These contours represent the failure modes of the sub-system.
|
|
\end{itemize}
|
|
|
|
|
|
|
|
|
|
\section{A general Sub-System example}
|
|
|
|
Consider a functional group $FG$ with component parts $C_1$,$C_2$ and $C_3$.
|
|
Each part 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 part, defining a function $FM()$ where $K$
|
|
is a component part and $F$ is its set of failure modes\footnote{Base component failure modes are defined, often with
|
|
statistics and evironmental factors in a variety of sources. \cite{mil1991}
|
|
}.
|
|
|
|
$$
|
|
FM : K \mapsto F
|
|
$$
|
|
\\
|
|
For our example above
|
|
\\
|
|
$$ FM(C_1) = \{ a_1, a_2, a_3 \} $$
|
|
$$ FM(C_2) = \{ b_1, b_2 \} $$
|
|
$$ FM(C_3) = \{ c_1, c_2 \} $$
|
|
|
|
We can now represent the sub-system as a set of component faulure modes $FG_{cfm}$,
|
|
thus
|
|
|
|
\begin{equation}
|
|
FG_{cfm} = \{a_1, a_2, a_3, b_1, b_2, c_1, c_2 \}
|
|
\end{equation}
|
|
|
|
|
|
|
|
|
|
The failure modes of the components can be represented as contours on
|
|
on the diagram in \ref{fig:gensubsys1}.
|
|
\begin{figure}
|
|
\centering
|
|
\includegraphics[width=3in,height=3in,bb=0 0 513 541]{symptom_abstraction/synmptom_abstraction.jpg}
|
|
% synmptom_abstraction.jpg: 570x601 pixel, 80dpi, 18.10x19.08 cm, bb=0 0 513 541
|
|
\label{fig:gensubsys1}
|
|
\caption{$FG_{cfm}$ Component Failure modes represented as contours}
|
|
\end{figure}
|
|
|
|
% % DIAGRAM WITH SPIDER
|
|
% \begin{figure}
|
|
% \centering
|
|
% \includegraphics[scale=20]{./synmptom_abstraction.jpg}
|
|
% % synmptom_abstraction.jpg: 570x601 pixel, 80dpi, 18.10x19.08 cm, bb=0 0 513 541
|
|
% \label{fig:gensubsys2}
|
|
% \caption{$SS_{cfm}$ Component Failure modes represented as contours}
|
|
% \end{figure}
|
|
|
|
|
|
We can now look at the effects that component failure modes have
|
|
on the sub-system.
|
|
This process involves examining `test cases'. Each `test case' represents the fault behaviour
|
|
of the sub-system due to particular combinations of component fault modes.
|
|
|
|
Each test case can be represented on the diagram as a labeled point.
|
|
The labeled point will reside in a region on the diagram
|
|
enclosed by the contours representing particular component fault modes.
|
|
The label will indicate the fault symptom from the perspective of the sub-system.
|
|
For the sake of example, only single component failure modes are considered.
|
|
We can now assign a test~case to each contour, and mark it on the diagram.
|
|
|
|
% \begin{figure}[h+]
|
|
% \centering
|
|
% \includegraphics[scale=20]{./symptom_abstraction2.jpg}
|
|
% % synmptom_abstraction.jpg: 570x601 pixel, 80dpi, 18.10x19.08 cm, bb=0 0 513 541
|
|
% \label{fig:gensubsys2}
|
|
% \caption{Component Failure modes with analysed test cases}
|
|
% \end{figure}
|
|
\begin{figure}
|
|
\centering
|
|
\includegraphics[width=3in,height=3in,bb=0 0 513 541]{symptom_abstraction/symptom_abstraction2.jpg}
|
|
% symptom_abstraction2.jpg: 570x601 pixel, 80dpi, 18.10x19.08 cm, bb=0 0 513 541
|
|
\label{fig:gensubsys2}
|
|
\caption{Component Failure modes with analysed test cases}
|
|
\end{figure}
|
|
|
|
\par
|
|
\vspace{0.3cm}
|
|
\begin{tabular}{||l|l||} \hline \hline
|
|
{\em Component Failure Mode } & {\em test case} \\ \hline
|
|
$a\_1$ & $fs\_1$ \\ \hline
|
|
$a\_2$ & $fs\_2$ \\ \hline
|
|
$a\_3$ & $fs\_3$ \\ \hline
|
|
$b\_1$ & $fs\_4$ \\ \hline
|
|
$b\_2$ & $fs\_5$ \\ \hline
|
|
$c\_1$ & $fs\_6$ \\ \hline
|
|
$c\_2$ & $fs\_7$ \\ \hline
|
|
\hline
|
|
\end{tabular}
|
|
\vspace{0.3cm}
|
|
|
|
|
|
|
|
The sub-system fault symptoms are now represented on the diagram as in figure \ref{fig:gensubsys2}.
|
|
|
|
A second stage of analysis is now applied.
|
|
Empirically, it is often noticed that a sub-system will fail in the same way due to a variety of reasons.
|
|
To the `user' of the sub-system, it does not matter which component or combination of components has failed.
|
|
The sub-system can thus be considered to have its own set of failure modes.
|
|
This stage of the analysis is to determine these, to collect `like symptoms'.
|
|
This is performed on the diagram by linking the test cases with lines to form `spiders'
|
|
|
|
For the sake of example let us consider the fault symptoms $SP1 = \{fs_2, fs_4, fs_5\}$ to be an identical
|
|
failure mode at the {\em sub-system} level. These can then be joined to form a spider. Likewise
|
|
let $SP2 = \{fs_1, fs_3, fs_7\}$ be an identical failure mode at the {\em sub-system} level.
|
|
Let $SP3 = \{fs_6\}$ be a distinct failure mode at {\em sub-system} level.
|
|
|
|
The diagram can now be drawn as in figure \ref{fig:gensubsys3}.
|
|
|
|
% \begin{figure}[h+]
|
|
% \centering
|
|
% \includegraphics[scale=20]{./symptom_abstraction3.jpg}
|
|
% % synmptom_abstraction.jpg: 570x601 pixel, 80dpi, 18.10x19.08 cm, bb=0 0 513 541
|
|
% \label{fig:gensubsys3}
|
|
% \caption{Common failure modes collected as `Spiders'}
|
|
% \end{figure}
|
|
\begin{figure}[h+]
|
|
\centering
|
|
\includegraphics[width=3in,height=3in,bb=0 0 513 541]{symptom_abstraction/symptom_abstraction3.jpg}
|
|
% symptom_abstraction3.jpg: 570x601 pixel, 80dpi, 18.10x19.08 cm, bb=0 0 513 541
|
|
\label{fig:gensubsys3}
|
|
\caption{Common failure modes collected as `Spiders'}
|
|
\end{figure}
|
|
|
|
|
|
The third stage of the process can be applied automatically.
|
|
Each `spider' or `lone test case' becomes a contour
|
|
in the new diagram (see figure \ref{fig:gensubsys4}.
|
|
|
|
The result of this will be, a set of failure modes for the sub-system, as though it were a {\em black box}
|
|
or a {\em component} to be used in higher level designs.
|
|
|
|
|
|
We have now in $SP1$, $SP2$ and $SP_3$ the three ways in which this sub-system can fail.
|
|
In other words we have derived failure modes for this sub-system.
|
|
|
|
|
|
%\section{The Process : To analyse a base level sub-system}
|
|
|
|
% \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.
|
|
%
|
|
% \STATE Determine functional groups $fg_n \subset S$ of components, where n is an index number
|
|
% \COMMENT{ The functional groups should be chosen to be minimally sized collections of components that perform a specific function.}
|
|
% \REQUIRE{ Ensure that all components belong to at least one functinal group $\bigcup_i fg_i = S $
|
|
% %
|
|
% \FORALL { $fg_i \in S$}
|
|
%
|
|
% \STATE state something
|
|
%
|
|
% \ENDFOR
|
|
%
|
|
% \STATE Check for cut vertices \COMMENT{here we choose to decompose
|
|
% all nested components in one go}
|
|
% %
|
|
% \FORALL {vertices $v \in G$}
|
|
% \STATE Check if $v$ is a cut vertex. \COMMENT{so $d$ is nested and in
|
|
% $d$ there must be a 0-separating curve in the zone corresponding to $v$}
|
|
% \ENDFOR
|
|
%
|
|
%
|
|
%%%%%%%%%%%%
|
|
|
|
|
|
% \begin{itemize}
|
|
% \item determine a minimal functional group
|
|
% \item obtain 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 multiple failures are examined use overlapping contours to represent this
|
|
% \item for each region on the diagram, make a test case
|
|
% \item examine each test case and determine the effect of the component failure modes on the 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.
|
|
% which test cases produce the same fault symptoms. Join common symptoms with `spiders', lines connecting them
|
|
% \item The lone test cases and the spiders are now the fault mode behaviour of the sub-system
|
|
% \item A new diagram can now be drawn where each spider, or lone test case from the original diagram
|
|
% is represented as a contour. These contours represent the failure modes of the sub-system.
|
|
% \end{itemize}
|
|
|
|
This sub-system may now therfore, be represented as three separate failure modes.
|
|
We may now treat this sub-system as we would a component with a known set of failure modes.
|
|
The failure modes of the Sub-system $SS$ are now the set $SS_{fm} = \{ SP1, SP2, SP_3 \}$.
|
|
|
|
Defining the function `$\bowtie$' to represent the {\em symptom abstraction} process, we may now
|
|
write
|
|
|
|
$$
|
|
\bowtie : SubSystemComponentFaultModes \mapsto SubSystemFaultModes
|
|
$$
|
|
|
|
\begin{equation}
|
|
\bowtie(FG_{cfm}) = SS_{fm}
|
|
\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}
|
|
% \end{figure}
|
|
%
|
|
|
|
\begin{figure}[h+]
|
|
\centering
|
|
\includegraphics[width=3in,height=3in,bb=0 0 376 410]{symptom_abstraction/symptom_abstraction4.jpg}
|
|
% symptom_abstraction4.jpg: 418x455 pixel, 80dpi, 13.27x14.45 cm, bb=0 0 376 410
|
|
\caption{Deriving a new diagram}
|
|
\label{fig:gensubsys4}
|
|
\end{figure}
|
|
|
|
|
|
The derived diagram in figure \ref{fig:gensubsys4} shows the functional group of components $A,B,C$
|
|
analysed as a sub-system. The result is a set of fault modes that define the fault mode behaviour of that sub-system.
|
|
|
|
|
|
This sub-system, with its three error modes, can now be treated as a component (although at a higher level of abstraction)
|
|
with known failure modes.
|
|
|
|
|
|
|
|
|
|
|
|
\section{To conclude}
|
|
|
|
|