Basic PROforma Concepts: Task State Transitions II
The diagram below shows all possible state transitions:
However, the precise combination of circumstances under which these transitions actually do occur is quite complex. The best way to understand them is to start with the basic rules given in the previous section and be aware of the following complications:
- Tasks that are cyclical return to the dormant state on completion (and then back to in progress, if their cycle Interval is zero or unspecified)
- Tasks can only become in progress if their parent plan is in progress. This applies also to tasks with event triggers.
- Tasks that have been event triggered return to dormant on completion, and their parent plan remains in progress. One consequence of this is that any downstream tasks can never be reached, as their antecedents have not all been performed (recall that scheduling constraints are met if only if all the antecedent tasks are either completed or discarded). Other characteristics of event triggers include:
- The triggerable task does not execute unless the trigger is invoked, even if scheduling conditions are met.
- When the trigger is invoked the task executes, even if scheduling conditions are not met.
- The task state returns to dormant after completion.
- Tasks with a state trigger remain dormant until the state condition becomes true, at which point they follow the usual transition path, i.e. they become in progress, and then after being confirmed they become completed. Unlike event triggers they do not return to dormant, and hence are not “re-triggerable” (for this reason state triggers are perhaps better thought of as “wait conditions”).
- Plans can have termination conditions and abort conditions. If a parent plan terminates, it becomes completed, and its contents become discarded. If a parent plan aborts, it becomes discarded, and its contents become discarded. Note also that abort conditions are only checked when scheduling constraints have been met, whereas termination conditions are checked in advance.
- An enquiry completes only when values have been supplied for all its mandatory sources. Any outstanding optional sources will remain requested. The same applies to a decision with sources.