Agha and Hewitt give an overview of the actor model of computation and show how it leads to an object-oriented programming style that can exploit the large-scale concurrency of modern architectures. Actors are autonomous computational agents whose actions are coordinated by message communication. The control structures of an actor language are defined as patterns of message passing. Since only message communication determines the causal connection and, hence, the execution ordering of actions, actor programs execute with maximal concurrency of causally independent actions. However, concurrency in program execution is not visible at the programming level. Actor languages thus provide the conceptual simplicity of object-oriented programming along with fine-grain concurrency in program execution.
For high-level object-oriented programming, actors provide strong encapsulation of procedural and declarative information, and they include mechanisms for conceptual organization of ideas. Efficiency of execution in terms of time and space can be achieved by sharing code among actors. The paper uses a toy example to present the kernel of an actor language. The authors present illustrative examples as they discuss some higher-level constructs with specific purposes, such as dynamic creation of actors, computing infinite structures, and eager evaluation of expressions. They also discuss the implementation of actor languages and outline the design of a concurrent architecture to support actor programs.
The presentation of the material is somewhat uneven. The sections on program structuring and the basic actor model are extremely well written, although I feel that their order should have been reversed. The description of the semantic foundations of actor programming is incoherent and insufficiently complete. Overall, the paper is a good introduction to the actor theory and I recommend it to readers with some knowledge of object-oriented programming. It can also serve as a status report on the work on actor languages and their semantics and implementation.