Agent Architectures

Table of Contents


[Gat, 1991-1993] ATLANTIS (A Three-Layer Architecture for Navigating Through Intricate Situations). Gat's main thesis is that the argument of planning versus reactivity is really an argument about the use of internal state, which is an argument about making predictions about the world. He proposes that internal state should be maintained only at a high level of abstraction, and that it should be used to guide a robot's actions but not to control them directly.

Internal State, Predictions, and Abstraction

The fundamental problem of state is that every piece of internal state carries with it an implicit prediction that the information contained in this state will continue to be valid for some time to come. These predictions, coupled with the unpredictability of the world, are the root of the problem. The constructive observation is that state should only be used to record facts that are likely to be at least usually correct.

Abstraction is simply a description of something. The level of an abstraction is simply an inverse measure of the precision of the description. The more abstract, the more broadly applicable the information. Gat gives the example of the location of his house (he knows roughly, but not exactly, where it is). By combining abstract state information with local sensors, he is able to find the house or the mustard in his refrigerator.

Actions based on stored internal state sometimes fail. In humans, occasional errors of this sort are not a problem for two reasons: First, people use the information in their world models to guide their actions but not to control them directly. Second, people can tell when things go wrong and can take corrective action. We carefully engineer our environment to eliminate the opportunity to make the sort of mistakes that are difficult to recover from -- falling off cliffs, for example.

The Atlantis Architecture

The ATLANTIS action model is based on operators whose execution consumes negligible time, and thus do not themselves bring about changes in the world but instead initiate processes which then cause change. These processes are called activities, and the operators which initiate (and terminate) them are called decisions.

The architecture consists of three components: the controller, the sequencer, and the deliberator.

The Controller

The controller is responsible for moment-by-moment control of the robot's actuators in response to the current value of the robot's sensors. The controller is a purely reactive control system.

To support the kinds of transfer functions needed to control the reactive robot, the ALFA (A Language For Action) language was developed. ALFA is similar in spirit to REX but the two languages provide very different abstractions. ALFA programs consist of computational models which are connected to each other and to the outside world by means of communications channels. Both the computations performed and their interconnections are specified within module definitions, allowing modules to be inserted and removed without having to restructure the communications network.

The Sequencer

The sequencer is responsible for controlling sequences of primitive activities and deliberative computations. Controlling sequences is difficult primarily because the sequencer must be able to deal effectively with unexpected failures. This requires careful maintenance of a great deal of state information because the sequencer must be able to remember what has been done in the past to decide what to do now.

The fundamental design principle underlying the sequencer is the notion of cognizant failure. A cognizant failure is a failure which the system can detect somehow. Rather than design algorithms which never fail, we instead use algorithms which (almost) never fail to detect a failure.

The sequencer initiates and terminates primitive activities by activating and deactivating sets of modules in the controller. It can also send parameters to the controller via channels.

The sequencer is modeled after Firby's Reactive Action Package (RAP) system. The system maintains a task queue, which is simply a list of tasks the system must perform. Each task contains a list of methods for performing that task, together with annotations describing under what circumstances each method is applicable. A method is either a primitive action or a list of sub-tasks to be installed on the task queue. The system works by successively expanding tasks on the queue until they either finish or fail. When a task fails, an alternate method is tried.

The main difference between the original RAP system and the ATLANTIS sequencer is that the latter controls activities rather than atomic actions. This requires a few modifications to the RAP system. First, the system must insure that two activities that can interfere with one another are not active simultaneously. Second, if a primitive activity must be interrupted the system must be sure it is cleanly terminated (since conflicts are controlled by locking resources).

The Deliberator

The deliberator is responsible for maintaining world models and constructing plans. It performs all manner of time-consuming computations at a high level of abstraction. The results are placed in a database where they are used as an additional source of input data by the sequencer, rather than directly controlling the robot.

Note that all deliberative computations are initiated (and may be terminated before completion) by the sequencer. It typically consists of a set of LISP programs implementing traditional AI algorithms. The function of the sequencer and controller is to provide an interface which connects to physical sensors and actuators on one end, and to classical AI algorithms on the other.


[Hayes-Roth, 1985-present] BB1 is a blackboard system for general intelligent agent control.

Definitions in BB1

control problem
Which of its potential actions should an AI system perform at each point in the problem-solving process? The control problem is fundamental to all cognitive processes and intelligent systems.

Knowledge Source Activation Record. It is similar to an item on a task agenda; it represents a unique triggering of a particular knowledge source by a particular blackboard event. When a KSAR is chosen by the scheduling mechanism, its action executes in the context of its triggering information.

An attribute of a control decision; a predicate (or function) of KSAR attributes.

A KSAR expiration condition (predicate).

control decision attributes
Characteristics possessed by control decision KSARs, including: Name, Goal, Criterion, Weight, Rationale, Source, Status, etc.


The central issue to agent design is the control problem: which of its potential actions should a system perform next in the problem-solving process? In solving this problem, an agent system will decide what problems to solve, what knowledge to bring to bear, how to evaluate alternative solutions, when problems are solved, and when to change its focus of attention. In solving the control problem an agent determines its own cognitive behavior.

AI should approach the control problem as a real-time planning problem. BB1 operationalizes intelligent problem solving as achievement of the following goals:

  1. Make explicit control decisions that solve the control problem.
  2. Decide what actions to perform by reconciling independent decisions about what actions are desirable and what actions are feasible.
  3. Adopt variable grain-size control heuristics.
  4. Adopt control heuristics that focus on whatever action attributes are useful in the current problem-solving situation.
  5. Adopt, retain, and discard individual control heuristics in response to dynamic problem-solving situations.
  6. Decide how to integrate multiple control heuristics of varying importance.
  7. Dynamically plan strategic sequences of actions.
  8. Reason about the relative priorities of domain and control actions.

Notice that, in contrast with SOAR, this approach does not consider learning an integral part of intelligent action (it does not purport to address intelligence, just the control problem), and it also makes an explicit distinction between domain and control activity.

The BB1 architecture achieves these goals. Its important features include

Basic Principles of Blackboard Design

The blackboard approach is a problem-solving framework originally developed for the HEARSAY-II speech understanding system. It entails three basic assumptions:

  1. All solution elements generated during problem-solving are recorded in a structured, global database called the blackboard.

    Solution elements are organized according to two axes: level of abstraction, and solution intervals, which are different regions of the solution on some problem-specific dimensions.

  2. Solution elements are generated and recorded on the blackboard by independent processes called knowledge sources.

    Knowledge sources have a condition-action structure. Ordinarily the condition is a particular configuration of elements on the blackboard. The action ordinarily entails the creation or modification of solution elements on the blackboard. Generally the triggering of a knowledge source produces a knowledge-source activation record (KSAR).

    Knowledge sources are independent in that they do not invoke one another and ordinarily have no knowledge of each other's expertise, behavior, or existence. The blackboard architecture achieves simultaneous independence and cooperation among knowledge sources by permitting them to influence one another's problem-solving behavior only indirectly via the information on the blackboard.

  3. On each problem solving cycle, a scheduling mechanism chooses a single KSAR to execute its action.

    The scheduling mechanism determines which KSARs execute and in what order. Commonly the scheduler uses a variety of criteria (e.g., knowledge-source reliability, triggering information credibility, expected value of the action) to choose the KSAR.

Extensions of the Blackboard Control Architecture (BB1)

BB1 extends the basic assumptions of a blackboard system as follows:

  1. The blackboard control architecture defines explicit domain and control blackboards.

    The important point being that the designer can specify the solution intervals, levels of abstraction, and vocabulary on the domain blackboard, while those of the control blackboard are domain-independent and fixed by the architecture.
  2. The blackboard control architecture defines explicit domain and control knowledge sources.

    Note that some of the control knowledge sources are domain-dependent; all KSs are represented as data structures that are available for interpretation and modification.

  3. The blackboard control architecture defines a simple, adaptive scheduling mechanism to manage both domain and control KSARs.

    Three basic control KSs iterate a three-step problem-solving cycle: enumerate pending KSARs, choose one <>

    Transfer interrupted!