43 Years of Actors: A Taxonomy of Actor Models and Their Key Properties

被引:35
作者
De Koster, Joeri [1 ]
Van Cutsem, Tom [2 ]
De Meuter, Wolfgang [1 ]
机构
[1] Vrije Univ Brussel, Pleinlaan 2, B-1050 Elsene, Belgium
[2] Nokia Bell Labs, Copernicuslaan 50, B-2018 Antwerp, Belgium
来源
PROCEEDINGS OF THE 6TH INTERNATIONAL WORKSHOP ON PROGRAMMING BASED ON ACTORS, AGENTS, AND DECENTRALIZED CONTROL (AGERE'16) | 2016年
关键词
Actor Model; Concurrency;
D O I
10.1145/3001886.3001890
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The Actor Model is a message passing concurrency model that was originally proposed by Hewitt et al. in 1973. It is now 43 years later and since then researchers have explored a plethora of variations on this model. This paper presents a 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 exemplar languages and libraries that influenced the design and rationale of other actor systems throughout those years. This paper therefore shows that most actor systems can be roughly classified into four families, namely: Classic Actors, Active Objects, Processes and Communicating Event-Loops. This paper also defines the Isolated Turn Principle as a unifying principle across those four families. Additionally this paper lists some of the key properties along which actor systems can be evaluated and formulates some general insights about the design and rationale of the different actor families across those dimensions.
引用
收藏
页码:31 / 40
页数:10
相关论文
共 22 条
[1]   CONCURRENT OBJECT-ORIENTED PROGRAMMING [J].
AGHA, G .
COMMUNICATIONS OF THE ACM, 1990, 33 (09) :125-141
[2]  
Agha G., 1986, ACTORS MODEL CONCURR
[3]  
Agha G. A., 1997, Journal of Functional Programming, V7, P1, DOI 10.1017/S095679689700261X
[4]  
Allen J., 2013, Effective Akka, V1st
[5]  
Armstrong Joe, 1996, Concurrent Programming in Erlang
[6]  
Baduel L, 2006, GRID COMPUTING: SOFTWARE ENVIRONMENTS AND TOOLS, P205, DOI 10.1007/1-84628-339-6_9
[7]   Concurrency and distribution in object-oriented programming [J].
Briot, JP ;
Guerraoui, R ;
Lohr, KP .
ACM COMPUTING SURVEYS, 1998, 30 (03) :291-329
[8]   Asynchronous sequential processes [J].
Caromel, Denis ;
Henrio, Ludovic ;
Serpette, Bernard Paul .
INFORMATION AND COMPUTATION, 2009, 207 (04) :459-495
[9]  
Clebsch Sylvan, 2015, Proceedings of the 5th International Workshop on Programming Based on Actors, Agents, and Decentralized Control, AGERE!'15, P1, DOI 10.1145
[10]  
Gruber O, 2013, LECT NOTES COMPUT SC, V7920, P281, DOI 10.1007/978-3-642-39038-8_12