It is possible to cancel an action which is in a wait state. Here is a simple example.
Note the CANCEL declaration in the interface file. This example is exercised by
It is possible to write the application such that CANCEL modifies the behaviour of the rescheduling action rather than terminating it.
Then:
will cause the task to start rescheduling at 0.5sec intervals, but then switch to rescheduling at 10sec intervals. In this particular example the action never terminates.
An example of sending a CANCEL to a task which is controlling a subsidiary task is given in Appendix B.