From 5732b47ad7163c35dbd8c5f0a817e7dce5ce49b0 Mon Sep 17 00:00:00 2001 From: Robin Clark Date: Thu, 22 Nov 2012 11:54:09 +0000 Subject: [PATCH] sneaky snoopy --- submission_thesis/CH5_Examples/software.tex | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/submission_thesis/CH5_Examples/software.tex b/submission_thesis/CH5_Examples/software.tex index e0afc80..a53cc99 100644 --- a/submission_thesis/CH5_Examples/software.tex +++ b/submission_thesis/CH5_Examples/software.tex @@ -33,7 +33,8 @@ When we have analysed a software function---using failure conditions of its inputs as failure modes---we can determine its symptoms of failure (i.e. how calling functions will see its failure mode behaviour). -We can thus apply the $\derivec$ process to software functions, by viewing them in terms of their failure +We can thus apply the FMMD % $\derivec$ +process to software functions, by viewing them in terms of their failure 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 concepts of modularity and sub-systems in design, applying FMMD means deciding on the members for {\fgs} @@ -410,8 +411,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 create a {\dc} to represent this called $CMATV$. -We can express this using the `$\derivec$' function thus: -$$ CMATV = \; \derivec (G_1) .$$ +%We can express this using the `$\derivec$' function thus: +%$$ CMATV = \; \derivec (G_1) .$$ As its failure modes, are the symptoms of failure from the functional group we can now state: $$fm ( CMATV ) = \{ HIGH , LOW, V\_ERR \} .$$ @@ -502,9 +503,9 @@ for the function. 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}. -We can now create a {\dc} called $RADC$ thus: $$RADC = \; \derivec(G_2)$$ which has the following -{\fms}: - +%We can now create a {\dc} called $RADC$ thus: $$RADC = \; \derivec(G_2)$$ which has the following +%{\fms}: +We can now create a {\dc} called $RADC$ thus: $$ fm(RADC) = \{ VV\_ERR, HIGH, LOW \} .$$ @@ -575,9 +576,9 @@ For single failures these are the two ways in which this function can fail. An $OUT\_OF\_RANGE$ will be flagged by the error flag variable. The $VAL\_ERR$ will simply mean that the value read is incorrect. -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 = \; \derivec(G_3) .$$ +% $$ R420I = \; \derivec(G_3) .$$ This new {\dc} has the following {\fms}: $$fm(R420I) = \{OUT\_OF\_RANGE, VAL\_ERR\} .$$ @@ -612,7 +613,7 @@ as a hierarchical diagram, see figure~\ref{fig:eulerswhw}. % see figure~\ref{fig \end{figure} - +% HTR == HATE TO REMOVE %HTR 18NOV2012 We can represent %the hierarchy in figure~\ref{fig:hd} algebraically, %HTR 18NOV2012 the analysis hierarchy algebraically using the `$\derivec$' function: %HTR 18NOV2012 %using the groups as intermediate stages: