43 Years of Actors: a Taxonomy of Actor Models and Their Key Properties
30 October 2016
The Actor Model is a message passing concurrency model that avoids common concurrency issues such as low-level data races and deadlocks by construction. This has made the Actor Model an interesting concurrency model that has been used in various concurrency settings both in research as well as in industry, ranging from exploiting concurrency in massively parallel workstations to expressing communication between different nodes in a distributed setting. Since its inception in the 70s researchers have explored a plethora of variations on the Actor Model. This paper presents a brief history of the Actor Model throughout those years. The goal of this paper is not to provide an exhaustive overview of every actor system in existence but rather to give an overview of some of the key languages and libraries that influenced the design and rationale of other actor systems. This paper therefore shows that most actor languages can be roughly classified into four families and list some of the key properties along which they can be evaluated.