PRS-CL's design was greatly influenced by the problems encountered in attempting to construct real-time, continuously active, intelligent systems using either conventional programming languages or rule-based expert systems. Conventional programming languages suffer in these applications because of the need to completely specify the order of task execution through the language's control structure. Since any of a large number of things might potentially need to be addressed at any time during execution, this is extremely difficult to do. Even if one is successful, it remains very difficult to extend the system to respond to additional conditions. Rule-based expert systems suffer from not being able to easily capture the context in which tests and actions are to be performed. Typically, each test or action has a diverse set of possible outcomes that have different implications in different contexts; the correct follow-up test or action critically depends on this context. Thus, rules must be augmented with explicit reference to the context in whcih they apply i.e., each rule must reference the sequence of test results and action outcomes that must precede it for its application to be valid. In practice, this is very clumsy and inefficient.
Procedures used in PRS-CL, called Acts, consist of an invocation part that defines what events (such as the posting of a goal or the addition of a new fact) trigger the use of the procedure and what the state of the world must be for the procedure to be executed. The body, or plot, of the Act describes the steps that must be followed and the subgoals that must be achieved when the procedure is executed. The plot can be viewed as a plan and is defined as a graph consisting of nodes and arcs labeled with subgoals. An act looks like a flowchart and is defined using PRS-CL's graphical editor, the Act-Editor.
The Act-Editor User's Guide: A Manual for Version 2.2, (pdf),
K. L. Myers and D. E. Wilkins,
SRI International Artificial Intelligence Center, Menlo Park, CA, September 1997.
Abstract: The Act Formalism provides a medium in which to express knowledge about actions for both the SIPE-2 plan generation system and the PRS plan execution system. This document describes the Act-Editor, which provides a graphical user interface for creating and manipulating Acts. The document is designed for individuals who are already familiar with the Act formalism. The Act-Editor runs on Sun workstations and Windows with Allegro Common Lisp and on Macintoshes with MCL or Allegro.
"The Act Formalism", Version 2.2, (pdf),
K. L. Myers and D. E. Wilkins,
SRI International Artificial Intelligence Center, Menlo Park, CA,
September 1997.
Abstract: Provides a brief overview of the Act formalism, including a BNF grammar specification of Act.
Managing Deliberation and Reasoning in Real-Time Systems, M. Georgeff and F. Ingrand, in Proceedings of the DARPA Workshop on Innovative Approaches to Planning, 1990.
Real-Time Reasoning: The Monitoring and Control of Spacecraft Systems, M. Georgeff and F. Ingrand, in Proceedings of the Sixth IEEE Conference on Artificial Intelligence Applications, 1990.
Decision-Making in an Embedded Reasoning System, M. Georgeff and F. Ingrand, in Proceedings of IJCAI89, Detroit, MI, 1989.
Reactive reasoning and planning: an experiment with a mobile robot, M. Georgeff and A. Lansky, in Proceedings of AAAI87, 1987.
Procedural Knowledge, M. Georgeff and A. Lansky, in Proceedings of the IEEE Special Issue on Knowledge Representation, Volume 74, pages 1383-1398, 1986.
A Procedural Logic, M. Georgeff and A. Lansky, in Proceedings of IJCAI85, Los Angeles, CA, 1985.