next up previous contents
Next: Discussion Up: Hybrid Architectures Previous: Hybrid Architectures   Contents

Procedural Reasoning System : PRS

PRS architecture [IGR92] represents and reasons about actions and procedures in a dynamic domain. PRS data structures include a set of current beliefs, a set of goals, a library of plans (Knowledge Areas (KAs)) and an intention structure. The KAs are of two kinds - the procedural KAs that encode procedural knowledge about a specific domain, and meta-level KAs that manipulate beliefs, goals, intentions and other KAs of PRS itself. Each KA has a body that specifies the sequence of actions that may be performed to achieve a goal or to respond to an event and an invocation condition that specifies when the particular KA is to be activated. Some KAs (called primitive KAs) have in the body only a primitive action that is directly performable by the system. A KA may be invoked because of a change in the agent's goals or beliefs or both. A partially ordered set of all KAs that are chosen for execution are stored in the intention structure. As each non-primitive KA is executed, it establishes certain subgoals which in turn would invoke other KAs. All the KAs thus invoked form a run-time stack of procedures to be executed. When there are multiple tasks to be performed, each task would have a separate run-time stack associated with it. An interpreter selects appropriate KAs based on system beliefs and goals, places selected KAs in the intention structure, selects a task from the root of the intention structure and finally executes one step of that task. This would result in the performance of a primitive action, establishment of a new sub-goal or the conclusion of some new belief. The establishment of new goals and beliefs would trigger the interpreter to again select appropriate KAs and the process continues.

The main strengths of this architecture are its ability to construct and act upon partial plans and its ability to pursue goal-directed tasks while being responsive to changes in the environment. The main issue is that the reasoning that goes on within the architecture is essentially based on the user definition of the different metalevel KAs. Because of this user-reliance, the architecture is only as good as the meta-level KAs that the user specifies. If proper meta-level KAs are not specified potential problems could arise especially when multiple tasks are executed at the same time.


next up previous contents
Next: Discussion Up: Hybrid Architectures Previous: Hybrid Architectures   Contents
Darsana Josyula 2006-01-16