Chapter Questions
If water is seeping into the mine at approximately the same rate as the pump is taking water out, the high water interrupt could be generated many times. Will this affect the behaviour of the software?
Identify which of the task interactions, given in the mine control system design, should be atomic actions. How could the solution be modified to support these actions?
Modify the solution given in this chapter so that it can be executed on a distributed system. Assume that each of the top-level objects, given in Figure 15.3, is an active partition.
To what extent can the solution to Exercise 15.3 be analysed for its timing properties?
Can the data logger determine the actual order of events that have occurred? If not, how could the code be modified to give a valid global ordering? What are the implications for a distributed implementation?
In the analysis of the mine control system, what would be the consequences of running the clock at $100 \mathrm{~ms}$ ? (or $10 \mathrm{~ms}$ ?)
Undertake a sensitivity analysis on the mine control tasks set. Taking each task in turn consider by how much its computation time must increase before the task set becomes unschedulable. Express this value as a percentage of the original $C$ value.
If the deadlines for the CO sensor and air-flow sensor were both 50 then the system would not be schedulable. How could the fact that both sensors have the same period be exploited to obtain a schedulable system?