312 lines
11 KiB
TeX
312 lines
11 KiB
TeX
|
|
|
|
|
|
|
|
\ifthenelse {\boolean{paper}}
|
|
{
|
|
\abstract{
|
|
|
|
%% What I have done
|
|
%%
|
|
This paper presents a simple two level Failure Mode Modular De-Composition (FMMD)
|
|
model of a theoretical system.
|
|
Firstly a UML model is presented and the class relationships described.
|
|
Secondly the theoretical model is developed and analysed.
|
|
This model is then represented as a Directed Acyclic Graph (DAG),
|
|
showing the data relationships between the {\fg}s
|
|
components and failure modes.
|
|
|
|
% What I have found
|
|
%%
|
|
From traversing the DAG, minimal cut sets (component level combinations
|
|
that cause system level failures) are revealed.
|
|
Common mode failure modes and same component dependencies
|
|
can also be automatically determined.
|
|
|
|
%% Sell it
|
|
%%
|
|
By having an FMMD data model, we can derive failure mode models
|
|
for the traditional methodologies (such as FMEA, FMECA, FMEDA and FTA).
|
|
Also, with statistical data, we can use the minimal cut set results
|
|
to determine the likelihood of particular system failures, even
|
|
if they have multiple causes.
|
|
%
|
|
} % abstract
|
|
} % ifthenelse
|
|
{
|
|
%%% CHAPTER INTO NEARLT THE SAME AS ABSTRACT
|
|
\section{Introduction}
|
|
|
|
This chapter
|
|
presents a simple two stage FMMD % Failure Mode Modular De-Composition (FMMD)
|
|
model of a theoretical system.
|
|
The Analysis model is then represented as a Directed Acyclic Graph (DAG), of the {\fg}s
|
|
components and failure modes represented in it.
|
|
|
|
% What I have found
|
|
%%
|
|
From traversing the DAG, minimal cut sets (component level combinations
|
|
that cause system level failures) are revealed.
|
|
Common mode failure modes and same component dependencies
|
|
can also be automatically determined.
|
|
|
|
%% Sell it
|
|
%%
|
|
By having an FMMD data model, we can derive failure mode models
|
|
for the traditional methodologies (such as FMEA, FMECA, FMEDA and FTA).
|
|
Also, with statistical data, we can use the minimal cut set results
|
|
to determine the likelihood of particular system failures, even
|
|
if they have multiple causes.
|
|
}
|
|
|
|
%{ \huge This might become a chapter in its own right after fmmdset }
|
|
|
|
\section{From UML Model to Object Model}
|
|
|
|
Let us consider a theoretical FMMD model. For the sake of simplicity
|
|
consider that all base~components have %only
|
|
two failure modes that
|
|
we will label $a$ and $b$.
|
|
We can start with some base components, of types C and K say, $\{ C_1, C_2, C_3, K_4, C_5, C_6, K_7 \}$.
|
|
\input{./shortfm}
|
|
|
|
|
|
\paragraph{Determining Failure Mode collections.}
|
|
Thus applying the function $fm$ to any of the components
|
|
gives error modes identified by a or b.
|
|
|
|
As each component has two failure
|
|
modes $a$ and $b$. So the function $fm$ applied to
|
|
$C_1$ yields $C_{1 a}$ and $C_{1 b}$:
|
|
i.e. $fm(C_1) = \{ C_{1 a}, C_{1 b} \}$.
|
|
|
|
%HOW UML OBJECT MODEL OF COMPONENT AND ITS ERROR MODES
|
|
|
|
\ifthenelse {\boolean{paper}}
|
|
{
|
|
We can organise these into functional groups (where the superscript
|
|
represents the FMMD hierarchy level, or $\alpha$ value, thus:
|
|
}
|
|
{
|
|
We can organise these into functional groups (where the superscript
|
|
represents the $\alpha$ value, or FMMD hierarchy level, see section \ref{alpha}), thus:
|
|
}
|
|
|
|
$$ FG^0_1 = \{C_1, C_2\},$$
|
|
$$ FG^0_2 = \{C_1, C_3, K_4\},$$
|
|
$$ FG^0_3 = \{C_5, C_6, K_7\}.$$
|
|
|
|
Note that in this model the base~component $C_1$ has been used in two separate functional groups.
|
|
This could be a component that they
|
|
both commonly use. A real world example of a component included in
|
|
more than one {\fg} could
|
|
be a power-supply or DCDC\footnote{A DCDC (direct current to direct current)
|
|
converter, is a common feature in modern PCBs, used to provide isolation
|
|
and/or voltage supplies at a different EMF from the source of power.}
|
|
converter shared to power
|
|
the functional groups $FG^0_1$ and $FG^1_1$.
|
|
|
|
Also note that the component type $K$ has been used by
|
|
two different functional groups.
|
|
|
|
For the sake of example, let our temperature environment
|
|
for the SYSTEM be ${{0}\oc}$ to ${{125}\oc}$, but let the component
|
|
type `K' have a de-graded performance failure mode between
|
|
${{80}\oc}$ and ${{125}\oc}$\footnote{ A real world example of
|
|
degraded performace with temperature is the isolating opto coupler.
|
|
These can typically only cope with lower baud rate ranges
|
|
at high temperatures \cite{tlp181}.}. We can term this
|
|
degraded performance of component `K' as failure mode `d'.
|
|
|
|
|
|
\paragraph{Symptom Extraction.}
|
|
A process of symptom extraction is now applied to the functional groups.
|
|
Again for the sake of example, let us say that each functional
|
|
group has one or two symptoms again subscripted by $a$ and $b$.
|
|
|
|
%Applying symptom abstraction to $FG^0_1$ i.e. $\bowtie fm ( FG^0_1 ) = \{ FG^0_{1 a}, FG^0_{1 b} \} $
|
|
%We can now create a new derived component, $DC^1_1$, whose failure
|
|
%modes are the symptoms of $FG^0_1 $ thus $ fm ( {DC}^1_1 ) = \{ FG^0_{1 a}, FG^0_{1 b} \} $.
|
|
|
|
\paragraph{Building the Object Model}
|
|
|
|
Using the UML model in figure \ref{fig:cfg2fmmd_data}, we apply FMMD analysis stages
|
|
to build a hierarchy representing the whole system.
|
|
We shall begin with the $FG^0$ level functional groups $ FG^0_1, FG^0_2 $ and $FG^0_3$ defined above.
|
|
|
|
\begin{figure}[h]
|
|
\centering
|
|
\includegraphics[width=400pt,bb=0 0 702 464,keepaspectratio=true]{./fmmd_data_model/cfg2.jpg}
|
|
% cfg2.jpg: 702x464 pixel, 72dpi, 24.76x16.37 cm, bb=0 0 702 464
|
|
\caption{UML Class model for FMMD}
|
|
\label{fig:cfg2fmmd_data}
|
|
\end{figure}
|
|
|
|
% %\begin{figure}[h]
|
|
% \centering
|
|
% \includegraphics[width=400pt,keepaspectratio=true]{./fmmd_data_model/cfg2.jpg}
|
|
% % cfg2.jpg: 702x464 pixel, 72dpi, 24.76x16.37 cm, bb=0 0 702 464
|
|
% \caption{Complete UML diagram}
|
|
% \label{fig:cfg2fmmd_data}
|
|
% \end{figure}
|
|
|
|
\pagebreak[4]
|
|
\subsection{Find Failure Modes}
|
|
|
|
Consider the SYSTEM environment with its temperature range of ${{0}\oc}$ to ${{125}\oc}$.
|
|
We must check this against all components used.
|
|
For our example, we component `K' which has an extra
|
|
failure mode for degraded performance `d'. Thus applying the function $fm$
|
|
to component type `K' under these temperature range conditions
|
|
gives the following failure modes, $fm{K} =\{ K_a, K_b, K_d \}$.
|
|
Were our system specified for a ${{0}\oc}$ to ${{80}\oc}$ range
|
|
we could say $fm{K} =\{ K_a, K_b \}$.
|
|
|
|
\pagebreak[3]
|
|
\paragraph{Get the failure modes from the functional groups.}
|
|
Applying the function $fm$ to our functional groups, with the SYSTEM environmental
|
|
constraint applied to component type `K', yields
|
|
|
|
%%//$$ FG^0_1 = \{C_1, C_2\},$$
|
|
%%$$ FG^0_2 = \{C_1, C_3, K_4\},$$
|
|
%%$$ FG^0_3 = \{C_5, C_6, K_7\}.$$
|
|
|
|
$$ fm(FG^0_1) = \{C_{1 a}, C_{1 b}, C_{2 a}, C_{2 b}\},$$
|
|
$$ fm(FG^0_2) = \{C_{1 a}, C_{1 b}, C_{3 a}, C_{3 b}, K_{4 a}, K_{4 b}, K_{4 d}\},$$
|
|
$$ fm(FG^0_3) = \{C_{5 a}, C_{5 b}, C_{6 a}, C_{6 b}, K_{7 a}, K_{7 b}, K_{7 d}\}.$$
|
|
|
|
The next stage is to look at the failure modes from the perspective of
|
|
the functional groups, rather than the components.
|
|
We can call these failures modes `symptoms'.
|
|
As this is a theoretical example, we shall have to skip this step\footnote{
|
|
In a real analysis this would involve evaluating the effect of each components failure mode, (or combinations of)
|
|
on the performance of the {\fg}.}.
|
|
The next stage is to collect the common symptoms, or the symptoms that
|
|
are the same {\em from the perspective of a user of the {\fg}}.
|
|
We can define this stage as the function $\bowtie$ which has a set of failure modes as
|
|
its range and {\dc} as its domain.
|
|
|
|
For the sake of example let us determine some arbitary collections
|
|
into symptoms. Let us group the symptoms from $ FG^0_1 $ as the following
|
|
$ s1 = \{ C_{1 a}, C_{2 b} \}$ and $ s2 = \{ C_{1 b}, C_{2 a} \}$.
|
|
We can represent the relationships between the failure modes, and desired failure modes or symptoms
|
|
as a directed acyclic graph (see figure \ref{fig:dag0}).
|
|
|
|
|
|
\begin{figure}[h]
|
|
\centering
|
|
\includegraphics[width=300pt,bb=0 0 466 270,keepaspectratio=true]{./fmmd_data_model/dag0.jpg}
|
|
% dag0.jpg: 466x270 pixel, 72dpi, 16.44x9.52 cm, bb=0 0 466 270
|
|
\caption{DAG reprsenting the failure modes from $FG^0_1$.}
|
|
\label{fig:dag0}
|
|
\end{figure}
|
|
|
|
|
|
We can now create a new {\dc}. This will have an $\alpha$ value higher
|
|
than the any of the components in the {\fg} that it was derived from.
|
|
In this case all components were base components and therefore have an $\alpha$ value of zero.
|
|
Our derived component can thus take an $\alpha$ value of one.
|
|
|
|
Our newly derived component can be
|
|
$$ DC^1_1 = \bowtie fm(FG^0_1) .$$
|
|
|
|
Applying $fm$ to our new derived component will give us our symptoms from functional group $ FG^0_1 $
|
|
thus
|
|
|
|
$$ fm(DC^1_1) = \{s1, s2 \}.$$
|
|
|
|
We can represent $ DC^1_1 $ as an addition to the DAG (see figure \ref{fig:dag1}).
|
|
|
|
|
|
|
|
\begin{figure}[h]
|
|
\centering
|
|
\includegraphics[width=300pt,bb=0 0 466 270,keepaspectratio=true]{./fmmd_data_model/dag1.jpg}
|
|
% dag0.jpg: 466x270 pixel, 72dpi, 16.44x9.52 cm, bb=0 0 466 270
|
|
\caption{DAG reprsenting the failure modes from $FG^0_1$ and $ DC^1_0 $.}
|
|
\label{fig:dag1}
|
|
\end{figure}
|
|
|
|
|
|
\subsection{ Creating Derived components from $FG^0_2$ and $FG^0_3$ }
|
|
|
|
Applying the FMMD process for $FG^0_2$ and $FG^0_3$.
|
|
|
|
\paragraph{Applying FMMD $ \bowtie fm(FG^0_2) $:}
|
|
|
|
The failure modes $fm(FG^0_2) = \{C_{1 a}, C_{1 b}, C_{3 a}, C_{3 b}, K_{4 a}, K_{4 b}, K_{4 d}\}.$
|
|
Let us say new symptom s3 can be caused by failure modes $\{C_{1 a}, C_{3 b}, K_{4 b} \}$
|
|
, let us say new symptom s4 can be caused by failure modes $\{C_{1 b}, C_{3 a}, K_{4 d} \}$
|
|
and let us say new symptom s5 can be caused by failure mode $\{K_{4 a} \}$.
|
|
|
|
We can create a derived component $DC^1_2$ using
|
|
$\bowtie fm(FG^0_2) = DC^1_2$.
|
|
Applying $fm$ to our {\dcs} gives $fm(DC^1_2) = \{ s3,s4,s5 \}$.
|
|
|
|
|
|
\paragraph{Applying FMMD $\bowtie fm(FG^0_3) $ :}
|
|
Let us say new symptom s6 can be caused by failure modes $\{C_{5 a}, C_{6 b}, K_{4 b} \}$
|
|
, let us say new symptom s7 can be caused by failure modes $\{C_{5 b}, C_{6 a}, K_{7 d} \}$
|
|
and let us say new symptom s8 can be caused by failure mode $\{K_{7 a} \}$.
|
|
|
|
We can create a derived component $DC^1_3$ using
|
|
$\bowtie fm(FG^0_3) = DC^1_3$
|
|
where $fm(DC^1_3) = \{ s6,s7,s8 \}$.
|
|
|
|
|
|
\pagebreak[4]
|
|
\subsection{Using Derived Components in Functional Groups}
|
|
|
|
|
|
HERE show how the hierarchy is built, how the inheritance works etc
|
|
|
|
HAVE an example. totally theoretical. HAVE Common mode failure detection AND Common dependency detection
|
|
|
|
\subsection{Directed Acyclic Graph}
|
|
|
|
Show how the hierarchy can be represented as a DAG
|
|
|
|
draw a dag
|
|
|
|
\subsection{Traversing the datamodel}
|
|
|
|
Show how we can find multiple causes for a SYSTEM level error
|
|
|
|
\subsubsection{Common mode failure detection}
|
|
|
|
Describe what a common mode failure is.
|
|
|
|
show how common mode failures can be detected by using the parts list (same components can all have their
|
|
error modes turned on, and the effect can be seen on the system, automatically tracing
|
|
common mode failures.
|
|
|
|
|
|
\subsubsection{Common dependency detection}
|
|
|
|
The same component can be relied on by different functional groups within a system
|
|
For instance a power supply spur (i.e. supplying a particular isolated voltage say)
|
|
could have many functional groups depending or linked to its failure modes.
|
|
|
|
Show how FMMD makes this tracable
|
|
|
|
|
|
% clear the page if its a paper to keep the diagram out of the references
|
|
\ifthenelse {\boolean{paper}}
|
|
{
|
|
\clearpage
|
|
}
|
|
{
|
|
}
|
|
|
|
|
|
\section{Current Static Failure Mode Methodologies}
|
|
\ifthenelse {\boolean{paper}}
|
|
{
|
|
paper
|
|
}
|
|
{
|
|
chapter
|
|
}
|
|
\vspace{60pt}
|
|
\today
|