OK finished it, now some proof reading to do.
This commit is contained in:
parent
dbac2af119
commit
bdda240396
@ -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
|
||||
|
||||
|
||||
|
||||
|
BIN
submission_thesis/CH5_Examples/euler_temp_controller.dia
Normal file
BIN
submission_thesis/CH5_Examples/euler_temp_controller.dia
Normal file
Binary file not shown.
@ -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}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user