Our research is developing persistent agents that can achieve complex tasks in dynamic and uncertain environments. We refer to such agents as taskable, reactive agents. An agent of this type requires a number of capabilities. The ability to execute complex tasks necessitates the use of strategic plans that provide an outline for accomplishing tasks; hence, the agent must be able to synthesize new plans at run-time. The dynamic nature of the environment requires that the agent be able to deal with unpredicatable changes in its world. As such, agents must be able to react to unanticipated events by taking appropriate actions in a timely manner, while continuing activities that support current goals. The unpredicatability of the world could lead to failure of plans generated for individual tasks. Thus, agents must have the ability to recover from failures by adapting their activities to the new situation, or even replanning should the world change sufficiently. Finally, the agent should be able to perform all of the above operations even in the face of uncertainty about the world state.
Many domains of interest require problem-solving agents with the above capabilities. Military operations provides a good example. Certainly one would not engage in an undertaking such as Desert Storm without first formulating a strategic mission plan. Reactive response and failure recovery are necessary because unexpected equipment failures, weather conditions, and enemy actions (among others) may require changes to the overall strategic plan. Reasoning in the face of uncertainty is critical, since complete knowledge for a given scenario is unlikely.
This paper describes the CYPRESS system, which provides a framework in which to create taskable, reactive agents. Several features distinguish our approach: (1) the generation and execution of complex plans with parallel actions, (2) the integration of goal-driven and event-driven activities during execution, (3) the use of evidential reasoning for dealing with uncertainty, and (4) the use of replanning to handle run-time execution problems.
The replanning capabilities are of particular note, as CYPRESS is the first system of which we are aware that supports asynchronous runtime replanning with a general-purpose generative planner. When problems arise during execution of strategic plans, CYPRESS can invoke a planning module to produce a new plan while continuing to execute unaffected portions of the plan. This mode of operation contrasts with synchronous replanning, in which plan execution is halted while an alternative plan is generated. Asynchronous replanning is critical in domains such as military operations or robot control, where it is infeasible to halt all execution activities while replanning some portion of the overall plan.
The motivation for CYPRESS was to build an heuristically adequate system that would be useful in practical applications. To this end, CYPRESS relies on mature, powerful planning and execution technologies, namely the SIPE-2 generative planner, the PRS-CL reactive execution system, and the Gister-CL system for reasoning about uncertainty. We have applied CYPRESS to a number of demanding problems, including real-time tracking, fault-diagnosis, and military operations .
While there have been many efforts to develop the component technologies (planners, replanners, reactive controllers, uncertain reasoners) required for the kind of agent described here, and even to integrate some of these technologies, we are unaware of any current systems that provide the full functionality of CYPRESS. This paper focuses on the integrated use of plan generation, execution, replanning, and reasoning about uncertainty in CYPRESS. Detailed technical discussions of the various subsystems are provided in other documents.