# The structure and semantics of actor languages

By . In REX Workshop, volume 489 of Lecture Notes in Computer Science, 1–59. Springer, 1990.

http://dx.doi.org/10.1007/BFb0019439

## Abstract

The actor model is developed as a foundation for concurrent object-oriented programming. The model provides for non-interference of state changes with multiple threads, inherent concurrency, reconfigurability, encapsulation of namespace, and weak fairness. The paper provides a survey of work in actor languages and can be divided into two areas: namely, formal aspects of the actor model and the structure of actor languages. We provide an abstract view of actor computations in terms of event diagrams and the laws of concurrent computing. The event diagrams can be given a semantics in terms of power domains. We then define the necessary constructs in a minimal actor language. This provides the building blocks for constructing a rich variety of concurrent computing structures. The second part of the paper shows how these higher level structures are built in terms of the actor primitives. In particular, this discussion illustrates how delayed evaluation, streams, continuations, higher-order functions, and other structures, can be built in terms of actor languages. We also note some experiences gained from the implementation of actor systems and argue for the potential advantages discovered by this work. Finally, we discuss some recent research on computational reflection. This work provides the ability to model control, and the ability to treat inheritance as a programmer defined method rather than a predefined linguistic object. The resulting flexibility is very much in the actor tradition of languages.

Keywords Concurrency - Multiprocessor Architectures - Object-Oriented Programming - Programming Language Theory - Concurrent Programming Structures - Distributed Systems - Actors

## BibTeX

@inproceedings{conf/rex/Agha90,
author = "Agha, Gul",
editor = "de Bakker, J. W. and de Roever, Willem P. and
Rozenberg, Grzegorz",
title = "The Structure and Semantics of Actor Languages",
booktitle = "REX Workshop",
crossref = "conf/rex/1990",
ee = "http://dx.doi.org/10.1007/BFb0019439",
pages = "1-59",
year = "1990",
}

@proceedings{conf/rex/1990,
editor = "de Bakker, J. W. and de Roever, Willem P. and
Rozenberg, Grzegorz",
title = "Foundations of Object-Oriented Languages, REX
School/Workshop, Noordwijkerhout, The Netherlands, May 28 - June
1, 1990, Proceedings",
isbn = "3-540-53931-X",
publisher = "Springer",
series = "Lecture Notes in Computer Science",
volume = "489",
year = "1991",
}