next up previous
Next: Example Up: Planning for Asynchronous Requests Previous: Search Control Rules

Suspending and Interrupting Tasks

ROGUE needs to be able to respond quickly when new tasks arrive and also when priorities of existing tasks change. PRODIGY4.0 supports these changing objectives by making it easy to suspend and reactivate tasks.

PRODIGY4.0 grows the plan incrementally, meaning that each time it selects a goal to expand, the remainder of the plan is unaffected. The system can therefore easily suspend planning for one task while it plans for another. The planning already done for the suspended goals remains valid until PRODIGY4.0 is able to return to them.

When PRODIGY4.0 does in fact return to the suspended actions, it validates their preconditions in the state, expanding the plan if necessary, or continuing execution if appropriate.

Generally, the plans for the interrupted goals will not be affected by the planning and execution for the new goal. Occasionally, however, actions executed to achieve the new goal might undo or achieve parts of the interrupted plan. For example, the robot might have finished its new task in the pickup location of the interrupted task. There are also occasions in which exogenous events may change the state, such as if a user passed the robot in the corridor and took his mail at that time.

In cases like these, the execution monitoring algorithm will update PRODIGY4.0's state information and PRODIGY4.0 will know which preconditions it needs to re-achieve or to ignore. In Section 3.2 we discuss in more detail how side-effects of actions and exogenous events may affect interrupted or pending plans.



next up previous
Next: Example Up: Planning for Asynchronous Requests Previous: Search Control Rules

Karen Zita Haigh
Mon Oct 6 14:33:27 EDT 1997