FMMD software paper proof read.

diagrams updted to D rather than bowtie notation
This commit is contained in:
robin 2012-04-25 22:54:40 +01:00
parent cf3b20395c
commit 7e364faf3f
6 changed files with 16 additions and 14 deletions

View File

@ -0,0 +1 @@
../../mybib.bib

View File

@ -56,6 +56,7 @@
%\renewcommand{\rmdefault}{tnr} %\renewcommand{\rmdefault}{tnr}
%\newboolean{paper} %\newboolean{paper}
%\setboolean{paper}{true} % boolvar=true or false %\setboolean{paper}{true} % boolvar=true or false
\newcommand{\derivec}{{D}}
\newcommand{\ft}{\ensuremath{4\!\!\rightarrow\!\!20mA} } \newcommand{\ft}{\ensuremath{4\!\!\rightarrow\!\!20mA} }
\newcommand{\permil}{\ensuremath{{ }^0/_{00}}} \newcommand{\permil}{\ensuremath{{ }^0/_{00}}}
\newcommand{\oc}{\ensuremath{^{o}{C}}} \newcommand{\oc}{\ensuremath{^{o}{C}}}
@ -352,11 +353,11 @@ of the {\fg} from which it was derived.
% in a specific configuration. This specific configuration corresponds to % in a specific configuration. This specific configuration corresponds to
% a {\fg}. Our use of it as a building block corresponds to a {\dc}. % a {\fg}. Our use of it as a building block corresponds to a {\dc}.
We can use the symbol `$\bowtie$' to represent the creation of a derived component We can use the symbol `$\derivec$' to represent the creation of a derived component
from a {\fg}. This symbol is convenient for drawn hierarchy diagrams. % (see figure~\ref{fmmdh}). from a {\fg}. This symbol is convenient for drawn hierarchy diagrams. % (see figure~\ref{fmmdh}).
We define the $\bowtie$ function, where $\FG$ is the set of all {\fgs} and $\DC$ is the set of all {\dcs}, We define the $\derivec$ function, where $\FG$ is the set of all {\fgs} and $\DC$ is the set of all {\dcs},
$$ \bowtie ( {\FG} ) \mapsto {\DC} .$$ $$ \derivec ( {\FG} ) \mapsto {\DC} .$$
We show an FMMD hierarchy in figure~\ref{fig:fmmdh}. We show an FMMD hierarchy in figure~\ref{fig:fmmdh}.
Using this diagram, we can follow the creation of the hierarchy in Using this diagram, we can follow the creation of the hierarchy in
@ -368,7 +369,7 @@ That is to say their component failure modes are examined, and thus
the ways in which the {\fgs} can fail. The ways in which a the ways in which the {\fgs} can fail. The ways in which a
{\fg} can fail, can be viewed as symptoms of failure for the {\fg}. {\fg} can fail, can be viewed as symptoms of failure for the {\fg}.
% %
The `$\bowtie$' function is now applied to create {\dcs}. The `$\derivec$' function is now applied to create {\dcs}.
These are shown in figure~\ref{fig:fmmdh} above the {\fgs}. These are shown in figure~\ref{fig:fmmdh} above the {\fgs}.
Now that we have {\dcs}, we can use them to form a higher level functional group. Now that we have {\dcs}, we can use them to form a higher level functional group.
We apply the same FMEA process to this and can derive a top level We apply the same FMEA process to this and can derive a top level
@ -414,7 +415,7 @@ When we have analysed a software function---using failure conditions
of its inputs as failure modes---we can of its inputs as failure modes---we can
determine its symptoms of failure (i.e. how calling functions will see its failure mode behaviour). determine its symptoms of failure (i.e. how calling functions will see its failure mode behaviour).
We can thus apply the $\bowtie$ process to software functions, by viewing them in terms of their failure We can thus apply the $\derivec$ function to software functions, by viewing them in terms of their failure
mode behaviour. To simplify things as well, software already fits into a hierarchy. mode behaviour. To simplify things as well, software already fits into a hierarchy.
For Electronics and Mechanical systems, although we may be guided by the original designers For Electronics and Mechanical systems, although we may be guided by the original designers
concepts of modularity and sub-systems in design, applying FMMD means deciding on the members for {\fgs} concepts of modularity and sub-systems in design, applying FMMD means deciding on the members for {\fgs}
@ -757,8 +758,8 @@ With these failure modes, we can analyse our first functional group, see table~\
We now collect the symptoms for the hardware functional group, $\{ HIGH , LOW, V\_ERR \} $. We now collect the symptoms for the hardware functional group, $\{ HIGH , LOW, V\_ERR \} $.
We now create a {\dc} to represent this called $CMATV$. We now create a {\dc} to represent this called $CMATV$.
We can express this using the `$\bowtie$' function thus: We can express this using the `$\derivec$' function thus:
$$ CMATV = \; \bowtie (G_1) .$$ $$ CMATV = \; \derivec (G_1) .$$
As its failure modes are the symptoms of failure from the functional group we can now state: As its failure modes are the symptoms of failure from the functional group we can now state:
$$fm ( CMATV ) = \{ HIGH , LOW, V\_ERR \} .$$ $$fm ( CMATV ) = \{ HIGH , LOW, V\_ERR \} .$$
@ -844,7 +845,7 @@ for the function.
This postcondition, {\em /* ensure: value is voltage input to within 0.1\% */ }, This postcondition, {\em /* ensure: value is voltage input to within 0.1\% */ },
corresponds to $VV\_ERR$, and is already in the {\fm} set for this {\fg}. corresponds to $VV\_ERR$, and is already in the {\fm} set for this {\fg}.
We can now create a {\dc} called $RADC$ thus: $$RADC = \; \bowtie(G_2)$$ which has the following We can now create a {\dc} called $RADC$ thus: $$RADC = \; \derivec(G_2)$$ which has the following
{\fms}: {\fms}:
$$ fm(RADC) = \{ VV\_ERR, HIGH, LOW \} .$$ $$ fm(RADC) = \{ VV\_ERR, HIGH, LOW \} .$$
@ -914,7 +915,7 @@ The $VAL\_ERR$ will mean that the value read is simply wrong.
We can finally make a {\dc} to represent a failure mode model for our function $read\_4\_20\_input$ thus: We can finally make a {\dc} to represent a failure mode model for our function $read\_4\_20\_input$ thus:
$$ R420I = \; \bowtie(G_3) .$$ $$ R420I = \; \derivec(G_3) .$$
This new {\dc} has the following {\fms}: This new {\dc} has the following {\fms}:
$$fm(R420I) = \{OUT\_OF\_RANGE, VAL\_ERR\} .$$ $$fm(R420I) = \{OUT\_OF\_RANGE, VAL\_ERR\} .$$
@ -940,18 +941,18 @@ as a hierarchical diagram, see figure~\ref{fig:hd}.
We can represent the hierarchy in figure~\ref{fig:hd} algebraically, using the `$\bowtie$' function We can represent the hierarchy in figure~\ref{fig:hd} algebraically, using the `$\derivec$' function
using the groups as intermediate stages: using the groups as intermediate stages:
\begin{eqnarray*} \begin{eqnarray*}
G_1 &=& \{R,ADC\} \\ G_1 &=& \{R,ADC\} \\
CMATV &=& \;\bowtie (G_1) \\ CMATV &=& \;\derivec (G_1) \\
G_2 &=& \{CMATV, read\_ADC \} \\ G_2 &=& \{CMATV, read\_ADC \} \\
RADC &=& \; \bowtie (G_2) \\ RADC &=& \; \derivec (G_2) \\
G_3 &=& \{ RADC, read\_4\_20\_input \} \\ G_3 &=& \{ RADC, read\_4\_20\_input \} \\
R420I &=& \; \bowtie (G_3) \\ R420I &=& \; \derivec (G_3) \\
\end{eqnarray*} \end{eqnarray*}
or, a nested definition, or, a nested definition,
$$ \bowtie \Big( \bowtie \big( \bowtie(R,ADC), read\_4\_20\_input \big), read\_4\_20\_input \Big). $$ $$ \derivec \Big( \derivec \big( \derivec(R,ADC), read\_4\_20\_input \big), read\_4\_20\_input \Big). $$

Binary file not shown.

Binary file not shown.