Skip links
Main content



ACT-R is both a theory and a programming environment. As a theory, ACT-R is a proposed unified theory of cognition realized as a production system[1]. As a programming environment, ACT-R is a production system, enhanced with a development environment to set parameters, run simulations, etc.

ACT-R contains a number of modules, as does any cognitive architecture. These modules make available knowledge that is currently accessed via limited-size buffers. ACT-R runs in cycles. Each cycle the pattern matcher fires the most important production rules to create new productions. This is done to achieve a set of goals.

"Buffers. ACT-R accesses its modules (except for the procedural-memory module) through buffers. For each module, a dedicated buffer serves as the interface with that module. The contents of the buffers at a given moment in time represents the state of ACT-R at that moment."

"Pattern Matcher. The pattern matcher searches for a production that matches the current state of the buffers. Only one such production can be executed at a given moment. That production, when executed, can modify the buffers and thus change the state of the system. Thus, in ACT-R cognition unfolds as a succession of production firings."

ACT-R is used primarily to model experimental psychology data.

Research Group

The research is done by the ACT-R Research Group of the Carnegie Mellon University, which is lead by John R. Anderson.

Systems built from this architecture

The architecture is used to build a large number of models simulating part of the human mind. Publications about these models can be found here.

Supported Cognitive Faculties

ACT-R discerns the following modules:
  • perceptual-motor modules
  • declarative memory
  • procedural memory

The architecture: main data-flow, main control-flow

This is the diagram with which the research group represents ACT-R's architecture:

This diagram shows ACT-R in action:

Being mainly a production system, the main architectural style is that of a Blackboard. The blackboard itself is implemented by the productions that are currently active. The knowledge sources are the production rules / the modules and buffers. The scheduler is implemented as the Matcher.

IDA's control flow is Emulated Parallel. All modules appear to be active simultaneously. The matcher goes through a continuous cycle of Match-Select-Execute.


Major articles