CYPRESS constitutes a particular framework in which to define taskable, reactive agents based on the model presented in the previous section. The architecture of CYPRESS is depicted in Figure 1.
Figure 1: The Architecture of CYPRESS
CYPRESS is built on top of several mature AI systems that have been tested in a number of real-world applications. SIPE-2 (System for Interactive Planning and Execution) is a classical planning system capable of generating plans in a hierarchical fashion . PRS-CL (the Procedural Reasoning System) is a reactive execution system that integrates goal-oriented and event-driven activity in a flexible, uniform framework . The Gister-CL system implements a suite of evidential reasoning techniques that can be used during both planning and execution to analyze uncertain information about the world and possible actions . For example, Gister-CL can be used to reason about uncertain information in order to choose among multiple planning operators for a goal by the planner, and to choose among suitable procedures by the executor at run-time. The adequacy of PRS-CL and SIPE-2 for our model of intelligent reactive agents is discussed in sections 3.1 and 3.2; Gister-CL is discussed in section 3.3.
PRS-CL and SIPE-2 employ their own internal representations for plans and actions. For this reason, CYPRESS supports the use of an interlingua called the ACT representation  that enables these two systems to share information. ACT provides a language for specifying actions and plans for both planners and executors. CYPRESS includes translators that can automatically map ACTs onto SIPE-2 and PRS-CL structures, along with a translator that can map SIPE-2 operators and plans into ACTs. Using the ACT interlingua, PRS-CL can execute plans produced by SIPE-2 and can invoke SIPE-2 in situations where run-time replanning is required. The ACT EDITOR subsystem supports the graphical creation, and display of ACTs.
In contrast to many other agent architectures, planning and execution operate asynchronously in CYPRESS, in loosely-coupled fashion. This approach makes it possible for the two systems to run in parallel, even on different machines, without interfering with the actions of each other. In particular, PRS-CL remains responsive to its environment during plan synthesis. The subsystems of CYPRESS can function independently of each. However, CYPRESS is used most advantageously as an integrated planning framework that supports a wide range of planning and execution activities.