paper

A Universal Modular ACTOR Formalism for Artificial Intelligence

  • Authors:

📜 Abstract

This paper proposes a modular ACTOR architecture and definitional method for artificial intelligence that is conceptually based on a single kind of object: actors [or, if you will, virtual processors, activation frames, or streams]. The formalism makes no presuppositions about the representation of primitive data structures and control structures. Such structures can be programmed, micro-coded, or hard wired in a uniform modular fashion. In fact it is impossible to determine whether a given object is "really" represented as a list, a vector, a hash table, a function, or a process. The architecture will efficiently run the coming generation of PLANNER-like artificial intelligence languages including those requiring a high degree of parallelism. The efficiency is gained without loss of programming generality because it only makes certain actors more efficient; it does not change their behavioral characteristics. The architecture is general with respect to control structure and does not have or need goto, interrupt, or semaphore primitives. The formalism achieves the goals that the disallowed constructs are intended to achieve by other more structured methods.

✨ Summary

The paper presents actors as a uniform computational abstraction for data structures, functions, processes, control mechanisms, logical formulas, databases, and other entities. Actors communicate by sending messages, can create further actors, and use continuations to represent subsequent computation. The model treats control flow and data flow as inseparable, favors local behavioral definitions over global state descriptions, and proposes schedulers, intentions, monitors, name-binding mechanisms, and resource managers as actor-based facilities. It applies the formalism to procedural semantics, quantificational logic, knowledge bases, extension worlds, pattern- and world-directed invocation, synchronization, protection, and parallel hardware architectures. It also describes substitution, reduction, and meta-evaluation as general mechanisms for evaluation, deduction, verification, compilation, protocol abstraction, and automatic actor generation.

The paper became a foundational reference for the Actor model of concurrent computation. Later systems literature and industry documentation explicitly identify the 1973 work by Hewitt, Bishop, and Steiger as the source of the model’s message-driven computational abstraction. Akka documentation connects the model to concurrent and distributed programming, while Akka’s industry materials describe its use in scalable and resilient application development. The model’s influence also extended through subsequent work on actor semantics, Erlang-related concurrency, and modern distributed-system frameworks. (ijcai.org)