One of the best-known agent architectures is the Procedural Reasoning System (PRS), developed by Georgeff and Lansky [Georgeff and Lansky, 1987]. Like IRMA, (see above), the PRS is a belief-desire-intention architecture, which includes a plan library, as well as explicit symbolic representations of beliefs, desires, and intentions. Beliefs are facts, either about the external world or the system's internal state, and are expressed in classical first-order logic. Desires are represented as system behaviours (rather than as static representations of goal states). A PRS plan library contains a set of partially-elaborated plans, called knowledge areas (KAs), each of which is associated with an invocation condition. This condition determines when the KA is to be activated. KAs may be activated in a goal-driven or data-driven fashion; KAs may also be reactive, allowing the PRS to respond rapidly to changes in its environment. The set of currently active KAs in a system represent its intentions. These various data structures are manipulated by a system interpreter, which is responsible for updating beliefs, invoking KAs, and executing actions. The PRS has been evaluated in a simulation of maintenance procedures for the space shuttle, as well as other domains [Georgeff and Ingrand, 1989].