



\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
