The actor model of computation

This video has Professor Carl Hewitt in it. Hewitt is the original creator of the concept of actors.

Hewitt created the concept of actors in 1973 with Bishop, and Steiger.
Everything is in this paper and it's 11 page.

If you have little time, you can read only the bottom of page 12 of Gul Agha's PhD thesis.
http://dspace.mit.edu/bitstream/handle/1721.1/6952/AITR-844.pdf  page 12, section "2.1.3 Actors"

If you have more time:

Baker was a PhD student with Hewitt. He and Hewitt wrote the "laws of actors" in 1977 (see below).
Agha was also a PhD student with Hewitt and he reformulated the concepts in his thesis.

After that, Joe Armstrong (at Ericsson) advanced the subject (he also did his PhD on the topic).

Anyway, below are the 4 most important pieces of work in the literature (according to me).

Hewitt, Bishop, Steiger 1973    
Hewitt, C., Bishop, P. & Steiger, R. A universal modular ACTOR formalism for artificial intelligence. In Proceedings of the 3rd international joint conference on Artificial intelligence, IJCAI'73, 235-245 (Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 1973). URL http://portal.acm.org/citation.cfm?id=1624804.    

Introduced concepts: actor, message, script, create actors, spawn actors

Hewitt & Baker 1977    
Hewitt, C. & Baker, H. Laws for communicating parallel processes. Tech. Rep., MIT Artificial Intelligence Laboratory (1977). URL http://dspace.mit.edu/handle/1721.1/41962.    

Contains a lot of useful information for readers. In particular this paper underlines the importance of acquaintances.

Agha 1986
Agha, G. Actors: A Model of Concurrent Computation in Distributed Systems (MIT Press, Cambridge, MA, USA, 1986). URL http://dl.acm.org/citation.cfm?id=7929.    

On page 12 (2.1.3), the actor model is formally specified.

Armstrong 2003    
Armstrong, J. Making reliable distributed systems in the presence of software errors (2003). URL http://citeseerx.ist.psu.edu/viewdoc/summary?doi=    

Erlang is really a neat language.

No comments:

There was an error in this gadget