TiChi Introduction

Fitt's Law
Object-Action Interface
Prescriptive Theories
Fisheye strategy
Conceptual, semantic,
    syntactic, & lexical

Direct Manipulation

Information Processing
Hacker's Action Theory
Attention & Memory
Andersen's ACT-R
Knowledge & Mental
Social & Cultural

Theories in Computer human interaction
Printer Friendly Version
Lorin Hochstein
October 2002


ACT-R is a model of the human cognitive process developed and used by cognitive psychologists, which can be applied to HCI. It is an acronym for "The Adaptive Control of Thought - Rational". While it is often referred to as "the ACT-R theory", it is not properly considered a theory of cognition, but rather a cognitive architecture that can accommodate different theories. The scope of ACT-R is greater than the scope of any particular theory, and multiple (possibly competing) theories can fit within the framework of ACT-R. It was developed to model problem solving, learning and memory. ACT-R is generally used by researchers in cognitive psychology, but researchers have also found applications in HCI.

Production rules

A fundamental characteristic of ACT-R is that it is a production system theory. The basic premise of a production system theory is that a cognitive skill is composed of conditional statements known as production rules. A production rule is a statement that describes an action which should be taken if a condition is met, sometimes referred to as a condition-action pair. For example:

IF the goal is to classify a shape
   and the shape has four equal sides
THEN classify the shape as a square.
Cognitive tasks are achieved by stringing together production rules, and applying them to working memory. Such a collection of production rules is referred to simply as a production. When a production rule is applied, it is said to fire.


In ACT-R, there are two different categories of long-term memory: declarative and procedural. Declarative memory consists of facts such as "Annapolis is the capital of Maryland", "A square has four equal sides", or "8*7=56". Procedural memory consists of our knowledge of how to do things, though we may not be able to verbalize how we are able to do these things. Examples of procedural knowledge include our ability to drive a car or speak English. Declarative knowledge is represented in ACT-R by units called chunks. Procedural knowledge is represented by productions, which are collections of production rules. ACT-R defines a syntax to represent chunks and productions. An ACT-R model can be represented as a computer program in the LISP programming language, and can be executed. In this syntax, chunks have a schema-like representation containing an "isa" field specifying the category of knowledge, and additional fields to encode the knowledge. Below is an encoding of the fact "8*7=56"
 isa		multiplication-fact
 multiplicand1	eight
 multiplicand2	seven
 product	fifty-six
Below is an encoding of the production rules for counting from one number from another. It is taken from the ACT-R Research Group website.
(P increment
    ISA         count-from
    number       =num1
      ISA         count-order
      first       =num1
      second      =num2
      number       =num2
      ISA         count-order
      first       =num2

Within this production rules paradigm, cognitive tasks are performed by assembling production rules by setting goals, and by reading and writing to working memory (sometimes referred to as buffers). Goals (and subgoals) are represented on a structure called the goal stack.

Two other important concepts in ACT-R are pattern matching and conflict resolution. Pattern matching is the process which determines if a production's conditions are met by the current state of working memory. Conflict resolution is the process that determines which production should be applied if several production rules are applicable.

ACT-R models are defined on two levels of abstraction: the symbolic level and the subsymbolic level. The symbolic level is concerned with productions and chunks as described above. These high-level concepts are implemented by a subsymbolic structure, which consists of a collection of massively parallel processes which are modeled by a set of mathematical equations. These subsymbolic elements affect the high-level chunks and productions. They can be used to determine which production to select for execution, and they determine the speed at which information can be retrieved from declarative memory. They are also responsible for most of the learning processes in ACT-R. The ideal is that this subsymbolic system accurately models the neurological information processing units of the human brain.

Scope and Application

Since ACT-R is a cognitive architecture, it covers a wide range of human cognitive tasks, focusing on learning and problem solving. It has been previously applied to modeling such tasks as solving the Tower of Hanoi puzzle, memory for text or for lists of words, language comprehension, communication and aircraft controlling. To develop an ACT-R model, one must add domain-specific knowledge to the ACT-R architecture.


ACT-R models tend to be quite large for all but the most non-trivial of tasks. A prototypical example is the ACT-R model for solving the standard Tower of Hanoi problem. This example can be found at the ACT-R research group website.

ACT-R has only recently been applied to HCI. Many of these applications are at a preliminary "proof-of-concept" stage. Byrne (1999) used ACT-R (specifically, ACT-R/PM) to model random menu selection. Users searched for a target item on a menu, timings were recorded and compared to an ACT-R model.

Another interesting example of the use of ACT-R applied specifically to HCI is given by Ritter et al (2002). They suggest the use of ACT-R/PM to design a Cognitive Model Interface Evaluation (CMIE) tool. Such a tool can display a user interface, run a cognitive model to interact with the interface, provide display facilities for model traces, and predict performance. They are currently developing a prototype system.

Applicability to HCI

The original formulation of ACT-R (Anderson, 1993) was difficult to apply to HCI applications because it did not take into account perceptual or motor activity. In Anderson (1997), the ACT-R system was modified to accommodate a visual interface.


Later refinements added perceptual-motor modules to the ACT-R system, known as ACT-R/PM (perceptual-motor). With these modules, user interactions with software can be modeled with an ACT-R/PM-based model. Additionally, since an ACT-R model can be implemented as a computer program, these models can be simulated, and can interact directly with the software program being evaluated. In effect, the ACT-R model simulates the actions of a user. Theoretically, with ACT-R models, a developer can do user testing in the absence of actual (human) users. In the ACT-R/PM system, there are two layers: a cognition layer and a perceptual/motor layer. The cognition layer contains the declarative memory modules and procedural memory modules, as described above. The perceptual/motor layer provides an interface for the cognition layer to the external environment. This layer contains modules that are responsible for handling sensory input and for manipulating the environment. Several modules have been developed, the most mature ones being a vision module and a motor module. Speech and audition (hearing) modules are also being developed. A diagram of the overall system is shown below.

Since ACT-R models the process of learning a skill (the transition from declarative knowledge to procedural knowledge), it can be used to evaluate how easy it is for a user to learn how to use a system. This assists designers in building programs that are easier for novices to learn.


As a theory of HCI, ACT-R is predictive, descriptive and prescriptive. An ACT-R model is predictive because it can make predictions about the time required to perform a task. It is descriptive because it models the way that human beings learn and perform cognitive tasks. It is prescriptive because, by modeling the learning process, it can be used to help designer develop tutorial programs that assist users in learning how to use software, or other skills. One of the more successful applications of the ACT-R theory is the development of intelligent tutoring systems to each high school students algebra.

Since ACT-R is an architecture and not a theory in the proper sense, it is not strictly falsifiable. However, specific theories that employ the ACT-R architecture can themselves be falsifiable. Since ACT-R models the time it takes to perform cognitive tasks (through its parallel subsymbolic structure), ACT-R models can be verified by measuring the time it takes to perform a task. Additionally, since this subsymbolic structure is intended to model the behavior of the human brain, neurological data such as fMRI can be used to verify the models.


ACT-R is a well-known theory in the HCI community. It is a prototypical example of a theory of cognitive psychology that has been applied to HCI. However, despite it being-well known it has not yet enjoyed much application in HCI yet. To date, ACT-R applications have been restricted to very simple applications. This is most likely due to the effort required in developing a suitable ACT-R model for a given application, and the relatively newness of the motor-perceptual modules (see Limitations). However, ACT-R is currently an active area of research in cognitive psychology and HCI communities, and as researchers develop new tools it is likely that ACT-R will be more widely applied.


In its original form, ACT-R is not very applicable to HCI because it does not model motor and perceptual systems. However, enhancements to ACT-R such as ACT-R/PM address this issue. Developing ACT-R models is not a trivial matter, and the complexity of developing an ACT-R model (especially one that interacts with a user interface) may dissuade a designer from using this technique.

Probably the most significant limitation of ACT-R is the difficulty involved in applying it. Using ACT-R requires developing a sophisticated model of the cognitive task, and there is simply too much effort involved in developing a model for a specific application. Until a mature toolkit exists for developing and employing ACT-R models, its use will probably be confined to a small set of academics.

ACT-R is not a generative theory. It can only be of assistance in evaluating a user interface. While it does how easy it is to learn and use a system, it does not provide guidelines on how to develop user interfaces. It also does not address how useful or enjoyable a product under design will be. ACT-R also says nothing about the social impact of the software being developed.

Finally, it is also questionable that human cognitive processes can be modeled as a production system. There have been criticisms that production rules are simply descriptive entities and are not psychologically real. Although Anderson (1993) argues persuasively for the psychological reality of production rules, it is by no means an established fact in the cognitive psychology community.



Anderson, John. Rules of the Mind, Lawrence Erlbaum Associates, Hillsdale, NJ (1993).
(This book is the original presentation of ACT-R)

Anderson, John, Lebiere, Christian. The Atomic Components of Thought, Lawrence Erlbaum Associates,Hillsdale, NJ (1993).
(This is a more recent book about ACT-R that also covers aspects of ACT-R/PM).

Anderson, John, Matessa, Michael, and Lebiere, Christian. ACT-R: A Theory of Higher Level Cognition and Its Relation to Visual Attention, Human-Computer Interaction (1997), Volume 12, pp.439-462.
(This paper presents an addition to the ACT-R system to accommodate visual attention).

Byrne, Michael D. ACT-R/PM and menu selection: applying a cognitive architecture to HCI, International Journal of Human-Computer Studies (1999) 55.
(This paper presents ACT-R/PM, the augmentation of ACT-R with perceptual and motor modeling).

Ritter, Frank, Van Rooy, Dirk, St. Amant, Robert. A User Modeling Design Tool Based on a Cognitive Architecture for Comparing Interfaces, Proceedings of the 4th International Conference on Computer-Aided Design of User Interfaces CADUI'2002 (2002) pp111-118.
(This paper proposes a tool based on ACT-R/PM that could be used to evaluate user interfaces.)