OK finished it, now some proof reading to do.

This commit is contained in:
Robin Clark 2012-12-01 16:47:22 +00:00
parent dbac2af119
commit bdda240396
3 changed files with 61 additions and 15 deletions

View File

@ -7,7 +7,8 @@ PNG_DIA = blockdiagramcircuit2.png bubba_oscillator_block_diagram.png circuit1
tree_abstraction_levels.png vrange.png sigma_delta_block.png ftcontext.png ct1.png hd.png \
sigdel1.png sdadc.png bubba_euler_1.png bubba_euler_2.png eulersd.png eulersdfinal.png \
eulerfivepole.png eulerswhw.png context_diagram_PID.png context_diagram2_PID.png context_software.png \
context_calltree.png euler_afferent_PID.png euler_heater_output.png euler_led_output.png
context_calltree.png euler_afferent_PID.png euler_heater_output.png euler_led_output.png \
euler_temp_controller.png

View File

@ -1331,7 +1331,7 @@ The post condition for the monitor function is that it implements the PID contro
{
\tiny
\begin{table}[h+]
\caption{ PID standalone controller: Failure Mode Effects Analysis} % title of Table
\caption{ standalone temperature controller: Failure Mode Effects Analysis} % title of Table
\label{tbl:pid}
\begin{tabular}{|| l | c | l ||} \hline
@ -1343,31 +1343,76 @@ The post condition for the monitor function is that it implements the PID contro
\hline
FC1: $ Temp LED fails $ & LED will not light & FailureIndicated \\
& & \\ \hline
FC1: PID KnownControlValueError & As error is detectable/ & ControlFailureIndicated \\
& observable error can be indicated & \\ \hline
FC2: $ Processor LED fails $ & LED will not light & FailureIndicated \\
& & \\ \hline
FC2: PID IncorrectControlerrorV & undetectable/iunobservable & ControlFailure \\
& failure PID will not control properly & \\ \hline
FC3: $ PWM LED fails $ & LED will not light & FailureIndicated \\
& & \\ \hline
FC3: HeaterOutput & Heater will constantly & ControlFailureIndicated \\
HeaterOnFULL & apply maximum power & \\ \hline
FC4: GPIO stuck HIGH & LED permanently OFF & FailureIndicated \\ \hline
FC4: HeaterOutput & heater will supply & ControlFailureIndicated \\ \hline
HeaterOFF & no power & \\
FC5: GPIO stuck Low & LED permanently ON & FailureIndicated \\ \hline
FC5: HeaterOutput & with incorrect hower applied & ControlFailure \\ \hline
HeaterOutputIncorrect & control will not be effective & \\
FC6: Software SetLEDs & Incorrect Indication & IndicationError \\
fails to set outputs correctly & Post condition failure & \\ \hline
FC6: LEDOutput & failure of LED system & KnownIndicationError \\
FailureIndicated & where failure is observable & \\ \hline
FC7: LEDOutput & failure of LED system & UnknownIndicationError \\
IndicationError & where failure is unobservable & \\ \hline
%% PROM\_FAULT, RAM\_FAULT, CPU\_FAULT, ALU\_FAULT, CLOCK\_STOPPED
FC8: micro-controller & un-defined behaviour & ControlFailure \\
PROM\_FAULT & & \\ \hline
FC9: micro-controller & un-defined behaviour & ControlFailure \\
RAM\_FAULT & & \\ \hline
FC10: micro-controller & un-defined behaviour & ControlFailure \\
CPU\_FAULT & & \\ \hline
FC11: micro-controller & incorrect arithmetic & ControlFailure \\
ALU\_FAULT & performed in processing & \\ \hline
FC12: micro-controller & processor will not run & ControlFailureIndicated \\
CLOCK\_STOPPED & indicator leds will not flash & \\ \hline
FC13: monitor: & postcondition fails & ControlFailure \\
software fails & & \\ \hline
\hline
\end{tabular}
\end{table}
}
We can now create a {\dc} for the standalone temperature controller, and give it the name TempController.
It will have the following failure modes:
$$fm ( TempController ) = \{ ControlFailureIndicated, ControlFailure, KnownIndicationError, UnknownIndicationError \}$$
We can now represent this failure mode analysis as an Euler diagram, see figure~\ref{fig:euler_temp_controller}.
\begin{figure}[h]
\centering
\includegraphics[width=300pt]{./CH5_Examples/euler_temp_controller.png}
% euler_temp_controller.png: 714x251 pixel, 72dpi, 25.19x8.85 cm, bb=0 0 714 251
\caption{euler diagram of the temperature controller final anaysis stage, showing the hybrid software/hardware {\dcs} and the function at the head of the call tree `monitor'.}
\label{fig:euler_temp_controller}
\end{figure}