Actor Model Middle History
   HOME

TheInfoList



OR:

In computer science, the
Actor model The actor model in computer science is a mathematical model of concurrent computation that treats ''actor'' as the universal primitive of concurrent computation. In response to a message it receives, an actor can: make local decisions, create more ...
, first published in 1973 , is a mathematical model of concurrent computation. This article reports on the middle history of the Actor model in which major themes were initial implementations, initial applications, and development of the first proof theory and denotational model. It is the follow on article to
Actor model early history In computer science, the Actor model, first published in 1973, is a mathematical model of concurrent computation. Event orderings versus global state A fundamental challenge in defining the Actor model is that it did not provide for global states ...
which reports on the early history of the Actor model which concerned the basic development of the concepts. The article
Actor model later history In computer science, the Actor model, first published in 1973 , is a mathematical model of concurrent computation. This article reports on the later history of the Actor model in which major themes were investigation of the basic power of the mod ...
reports on developments after the ones reported in this article.


Proving properties of Actor systems

Carl Hewitt 974published the principle of Actor induction which is: #Suppose that an Actor has property when it is created #Further suppose that if has property when it processes a message, then it has property when it processes the next message. #Then always has the property . In his doctoral dissertation, Aki Yonezawa developed further techniques for proving properties of Actor systems including those that make use of migration. Russ Atkinson and Carl Hewitt developed techniques for proving properties of Serializers that are guardians of shared resources. Gerry Barber's doctoral dissertation concerned reasoning about change in knowledgeable office systems.


Garbage collection

Garbage collection (the automatic reclamation of unused storage) was an important theme in the development of the Actor model. In his doctoral dissertation, Peter Bishop developed an algorithm for garbage collection in distributed systems. Each system kept lists of links of pointers to and from other systems. Cyclic structures were collected by incrementally migrating Actors (objects) onto other systems which had their addresses until a cyclic structure was entirely contained in a single system where the garbage collector could recover the storage. Henry Baker developed an algorithm for real-time garbage collection in his doctoral dissertation. The fundamental idea was to interleave collection activity with construction activity so that there would not have to be long pauses while collection takes place. See incremental garbage collection. Henry Lieberman and Carl Hewitt 983developed a real time garbage collection based on the lifetimes of Actors (Objects). The fundamental idea was to allocate Actors (objects) in generations so that only the latest generations would have to be examined during a garbage collection. See
generational garbage collection In computer programming, tracing garbage collection is a form of automatic memory management that consists of determining which objects should be deallocated ("garbage collected") by tracing which objects are ''reachable'' by a chain of references ...
.


Actor programming languages

Henry Lieberman, Dan Theriault, ''et al.'' developed Act1, an Actor programming language. Subsequently for his masters thesis, Dan Theriault developed Act2. These early proof of concept languages were rather inefficient and not suitable for applications. In his doctoral dissertation, Ken Kahn developed Ani, which he used to develop several animations. Bill Kornfeld developed the Ether programming language for the
Scientific Community Metaphor In computer science, the scientific community metaphor is a metaphor used to aid understanding scientific communities. The first publications on the scientific community metaphor in 1981 and 1982 involved the development of a programming langu ...
in his doctoral dissertation. William Athas and Nanette Boden
988 Year 988 ( CMLXXXVIII) was a leap year starting on Sunday (link will display the full calendar) of the Julian calendar. Events By place Byzantine Empire * Fall – Emperor Basil II, supported by a contingent of 6,000 Varangians ...
developed Cantor which is an Actor programming language for scientific computing. Jean-Pierre Briot 988, 1999developed means to extend Smalltalk 80 for Actor computations. Christine Tomlinson, Mark Scheevel, Greg Lavender, Greg Meredith, ''et al.'' 995at MCC developed an Actor programming language for InfoSleuth agents in Rosette. Carl Hewitt, Beppe Attardi, and Henry Lieberman 979developed proposals for delegation in message passing. This gave rise to the so-called inheritance anomaly controversy in object-oriented concurrent programming languages atoshi Matsuoka and Aki Yonezawa 1993, Giuseppe Milicia and Vladimiro Sassone 2004


A denotational model of Actor systems

In his doctoral dissertation, Will Clinger developed the first denotational model of Actor systems. See denotational semantics of the Actor model.


References

*{{cite document, ref={{harvid, Hewitt et al., 1973, author=Carl Hewitt, author2=Peter Bishop and Richard Steiger, title=A Universal Modular Actor Formalism for Artificial Intelligence, publisher=IJCAI, year=1973 *Carl Hewitt, ''et al.'' Actor Induction and Meta-evaluation Conference Record of ACM Symposium on Principles of Programming Languages, January 1974. *Peter Bishop Very Large Address Space Modularly Extensible Computer Systems MIT EECS Doctoral Dissertation. June 1977. *Aki Yonezawa Specification and Verification Techniques for Parallel Programs Based on Message Passing Semantics MIT EECS Doctoral Dissertation. December 1977. * Henry Baker. Actor Systems for Real-Time Computation MIT EECS Doctoral Dissertation. January 1978. *Ken Kahn. A Computational Theory of Animation MIT EECS Doctoral Dissertation. August 1979. *Carl Hewitt, Beppe Attardi, and Henry Lieberman. Delegation in Message Passing Proceedings of First International Conference on Distributed Systems Huntsville, AL. October 1979. *Carl Hewitt and Russ Atkinson. Specification and Proof Techniques for Serializers IEEE Journal on Software Engineering. January 1979. *Russ Atkinson. Automatic Verification of Serializers MIT Doctoral Dissertation. June, 1980. *Bill Kornfeld and Carl Hewitt. The Scientific Community Metaphor IEEE Transactions on Systems, Man, and Cybernetics. January 1981. *Henry Lieberman. Thinking About Lots of Things at Once without Getting Confused: Parallelism in Act 1 MIT AI memo 626. May 1981. *Henry Lieberman. A Preview of Act 1 MIT AI memo 625. June 1981. *Jerry Barber. Reasoning about Change in Knowledgeable Office Systems MIT EECS Doctoral Dissertation. August 1981. *Bill Kornfeld. Parallelism in Problem Solving MIT EECS Doctoral Dissertation. August 1981. *Will Clinger. Foundations of Actor Semantics MIT Mathematics Doctoral Dissertation. June 1981. *Daniel Theriault. A Primer for the Act-1 Language
MIT AI memo 672. April 1982
*Henry Lieberman and Carl Hewitt. A real Time Garbage Collector Based on the Lifetimes of Objects CACM June 1983. *Daniel Theriault. Issues in the Design and Implementation of Act 2
MIT AI technical report 728. June 1983
*Henry Lieberman. An Object-Oriented Simulator for the Apiary Conference of the American Association for Artificial Intelligence, Washington, D. C., August 1983 *Carl Hewitt and Peter de Jong. Analyzing the Roles of Descriptions and Actions in Open Systems Proceedings of the National Conference on Artificial Intelligence. August 1983. *Jean-Pierre Briot. From objects to actors: Study of a limited symbiosis in Smalltalk-80 Rapport de Recherche 88-58, RXF-LITP, Paris, France, September 1988. *William Athas and Nanette Boden Cantor: An Actor Programming System for Scientific Computing in Proceedings of the NSF Workshop on Object-Based Concurrent Programming. 1988. Special Issue of SIGPLAN Notices. *Satoshi Matsuoka and Aki Yonezawa. Analysis of Inheritance Anomaly in Object-Oriented Concurrent Programming Languages ''Research Directions in Concurrent Object-Oriented Programming'' MIT Press. 1993. *Darrell Woelk. Developing InfoSleuth Agents Using Rosette: An Actor Based Language Proceedings of the CIKM '95 Workshop on Intelligent Information Agents. 1995. *Jean-Pierre Briot. Acttalk: A framework for object-oriented concurrent programming-design and experience 2nd France-Japan workshop. 1999. *Giuseppe Milicia and Vladimiro Sassone. The Inheritance Anomaly: Ten Years After SAC. Nicosia, Cyprus. March 2004. Actor model (computer science) History of computing