Information Technology Reference
In-Depth Information
5.1 Informal Causality Analysis Examples
It can be easily verified that the trace shown in Table 3 satisfies the GPCA
safety property in Equation (1). Now we show the causality analyses via a series
of examples, based on variants of the trace observed in Table 3.
Example 1 (Faulty tasks, no system failure). Given a trace as observed in Ta-
ble 3, with Event 12 missing. In this case, PM is faulty by not sending the stop
event. However the system property is not violated since the AC task detects
an empty reservoir message and alarms and stops the pump motor.
According to Step 1 of the causality analysis framework, there is no need for
subsequent causality analysis.
Example 2 (Single faulty task caused system failure). Consider a trace where
only Event 1 and Event 2 in Table 3 are observed. In this case, the PI task
fails to move the bolus request event from Q1 to Q2, read by the PM task.
Subsequently the PM task does not perform any actions, since it does not know
thereisabolusrequest.Inthiscasethe PI task is faulty while PM is not.
Example 3 (Multiple faulty tasks jointly caused system failure). Consider the
trace in Table 3 with Events 3-5 and Events 10-12 missing. In this case, the PI
task is faulty by not moving the bolus request message to Q2. The AC task is
faulty by not delivering the alarm and stop events. However, replacing neither
the PI nor the AC task individually could make the system failure disappear.
Both PI and AC must be replaced with good ones for the system failure to
disappear.
Example 4 (Multiple faulty tasks, but only one caused system failure). In the
example in Subsection 2.1, a trace with six events
(enq(Q1, bolus) , 8500),
(deq(Q1, bolus) , 8502), (enq(Q3, empty) , 8503), (deq(Q3, empty) , 8701),
(alarm , 9760), (stop , 9760)
{
is shown. In this example, both PI and AC are
faulty. However AC 's faulty behavior would not have been triggered in the first
place if PI were not faulty, and thus should not be considered as a cause for
system failure. In the meanwhile, although it is the PM task's job to send the
start event, it should not be the cause of system failure in this case either since
it is not a faulty task: it does not receive the bolus request message in the first
place, due to PI 's fault.
}
Example 5 (Multiple faulty tasks, but only one caused system property violation).
Consider the trace in Table 3 with only Events 1-9 observed. In this case, both
the AC and the PM tasks are faulty by not delivering the corresponding events.
In this case, if the AC task were not faulty, the system failure would disappear.
Examples 4 and 5 show the improvement in precision that we have achieved
using causality analysis: not all of the identified faulty tasks are the culprits for
the system failure. By ruling out the tasks which are not culprits, the subsequent
analysis for the system failure can be focused on the identified minimal culprits.
 
Search WWH ::




Custom Search