This commit is contained in:
Robin Clark 2010-06-23 10:09:57 +01:00
parent da51a2981e
commit 54935771fa

View File

@ -500,6 +500,11 @@ verification checks in the process can be stated formally.
\clearpage
\subsection{Algorithmic Description of Symptom Abstraction \\ Determine Failure Modes to examine}
The first stage is to find the failure modes to consider for
analysis.
Let $FG$ be the set of components in the functional group under analysis, and $c$
be components that are members of it.
%%
%% Algorithm 1
%%
@ -515,9 +520,9 @@ 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$ represent a component}
\ENSURE{ Each component $C \in FG $ has a known set of failure modes i.e. $FM(C) \neq \emptyset$ }
\ENSURE{ Each component $c \in FG $ has a known set of failure modes i.e. $ \forall c \in FG | FM(c) \neq \emptyset$ }
\STATE {let $F=FM(FG)$ be a set of all failure modes to consider for the functional~group $FG$}
@ -537,6 +542,13 @@ in the analysis stages.
\clearpage
\subsection{Algorithmic Description of Symptom Abstraction \\ Determine Test Cases}
From the failure modes associated with the functional~group
we now need to determine test cases.
The test cases are collections of failure modes.
These could be formed from single failure modes or failure modes in combination.
Let $TC$ be the set of test cases associated withthe functional group $FG$.
%%
%% Algorithm 2
%%
@ -556,18 +568,7 @@ in the analysis stages.
\STATE { Let $TC$ be a set of test cases }
\STATE { Let $tc_j$ be set of component failure modes where $j$ is an index of $J$}
\COMMENT { Each set $tc_j$ is a `test case' }
\STATE { $ \forall j \in J | tc_j \in TC $ }
%\STATE { $ \bigcup_{j=1...N} tc_j = \bigcup TC $ }
%\COMMENT { All $tc_j$ test cases sets belong to $TC$ }
%\REQUIRE { $ TC \subset \bigcup (FM_{cfm}) $ }
%\COMMENT { $TC$ is the set of all test_cases
% Let TC be a subset of the powerset of the failure modes $ FG_{cfm} $,
%i.e. only failure modes present in $ FG_{cfm} $ are present in sets belonging to $ TC $}
\COMMENT { Ensure the test cases are complete and unique }
\STATE { $ \forall j \in J | tc_j \in TC $ } \COMMENT {Ensure the test cases are complete and unique}
\FORALL { $tc_j \in TC$ }
%\ENSURE {$ tc_j \in \bigcap FG_{cfm} $}
@ -582,12 +583,16 @@ 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 F)) \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} }
\COMMENT { This corresponds to checking that at least each failure mode is considered at
least once in the analysis; more rigorous cardinality constraint
checks may be required for some safety standards}
% some european standards
% imply checking all double fault combinations\cite{en298} }
%\hline
Algorithm \ref{alg:sympabs22} has taken the set of failure modes $ F=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.
The next stage is to analyse the effect of each test case on the functional group.
\end{algorithmic}
\end{algorithm}
@ -597,6 +602,9 @@ The next stages is to analyse the effect of each test case on the functional gro
%%
%% Algorithm 3
%%
The test cases are now analysed for their impact on the behaviour of the functional~group.
Let $R$ be a set of results indexed by $j$ (the same index used to identify the test cases $tc_{j}$).
\begin{algorithm}[h+]
~\label{alg:sympabs3}
@ -605,9 +613,9 @@ The next stages is to analyse the effect of each test case on the functional gro
\STATE { let r be a `test case result'}
\STATE { Let the function $Analyse : tc \mapsto r $ } \COMMENT { This analysis is a human activity, examining the failure~modes in the test case and determining how the functional~group will fail under those conditions}
\STATE { $ R $ is a set of test case results $r_j \in R$ where the index $j$ corresponds to $tc_j \in TC$}
\FORALL { $tc_j \in TC$ }
\FORALL { $tc_j \in TC$ }
\STATE { $ rc_j = Analyse(tc_j) $} \COMMENT {this is Fault Mode Effects Analysis (FMEA) applied in the context of the functional group}
\STATE { $ rc_j \in R $ }
\STATE { $ rc_j \in R $ } \COMMENT{Add $rc_j$ to the set R}
\ENDFOR
%\hline
@ -621,6 +629,9 @@ Algorithm \ref{alg:sympabs33} has built the set $R$, the sub-system/functional g
%%
%% Algorithm 4
%%
This stage analyses the results from bottom-up FMEA analysis ($R$), and collects
results that, from the perspective of the functional~group, have the same failure symptom.
Let set $SP$ be the set of symptoms for the functional group $FG$.
\begin{algorithm}[h+]
~\label{alg:sympabs4}
@ -667,6 +678,10 @@ We now have a set $SP$ of the symptoms of failure.
%%
%% Algorithm 5
%%
This final stage, is the creation of the derived component.
This derived component may now be used to build
new functional groups at higher levels of fault abstraction.
Let $DC$ be a derived component with its own set of failure~modes.
\begin{algorithm}[h+]
~\label{alg:sympabs5}
@ -693,7 +708,10 @@ Hierarchies of fault abstraction can be built that can model an entire SYSTEM.
\section{To conclude}
The technique provides a methodology for bottom-up analysis of the fault behaviour of complex safety critical systems.
The symptom abstraction technique allows us to take a functional group of components, analyse the failure
mode behaviour and create a new entity, a derived~component, that has its own set of failure modes.
This process naturally takes one step to building a hierarchical failure mode model
from the bottom-up.
\subsection{Hierarchical Simplification}
@ -717,3 +735,7 @@ Minimal cut sets \cite{nasafta} can be determined from these, and by
analysing the statistical likelyhood of the component failures,
the MTTF and SIL\cite{en61508} levels can be automatically calculated.
\vspace{40pt}
\today