We begin by presenting an abstract characterization of our model for taskable, reactive agents. The model contains two main intelligent components, an executor and a planner. The two components share a library of possible actions that the system can take. The library encompasses a full range of action representations, including plans, planning operators, and executable procedures. The executable procedures correspond to predefined standard operating procedures for satisfying individual goals. These three classes of actions span multiple levels of abstraction.
The executor is always active, constantly monitoring the world for goals to be achieved or events that require immediate action. In accord with its current beliefs and goals, the executor takes actions in response to these goals and events. Appropriate responses include applying predefined executable procedures stored in the action library, invoking the planner to produce a new plan for achieving a goal, or requesting that the planner modify a previous plan for which problems have developed during execution. The planner should be capable of synthesizing sophisticated action sequences that include parallel actions, conditional actions, and resource assignments.
The planner plans only to a certain level of detail, with the executor taking that plan and expanding it at run-time by applying appropriate library actions at lower levels of abstraction. Planning to the lowest level of detail is often undesirable due to the resultant combinatorics of deep searches. Furthermore, it makes sense only to plan down to abstraction levels at which actions can be reasoned about ahead of time. For example, it is undesirable to plan large military operations down to the minutest detail since many decisions are conditioned on information that is not available until run-time. Rather, it is the responsibility of the executor to further adapt the plan to the actual state of the world during execution. Similarly, it is often undesirable for the execution system to respond to high-level goals without a plan; for instance, a reactive system should not attempt to implement a Desert Storm-sized operation by applying procedures blindly.
There is an additional benefit to having an executor that can take plans at varying levels of abstraction and expand them at run-time, namely it enables the executor to begin taking actions towards meeting a goal without having to wait for a completely finished plan.