We present an actor language which is an extension of a simple functional language, and provide a precise operational semantics for this extension. Actor configurations represent open distributed systems, by which we mean that the specification of an actor system explicitly takes into account the interface with external components. We study the composability of such systems. We define and study various notions of testing equivalence on actor expressions and configurations. The model we develop provides fairness. An important result is that the three forms of equivalence, namely, convex, must, and may equivalences, collapse to two in the presence of fairness. We further develop methods for proving laws of equivalence and provide example proofs to illustrate our methodology.
|
2751
|
Communicating sequential processes
– Hoare
- 1978
|
|
2701
|
Communication and Concurrency
– Milner
- 1989
|
|
917
|
Actors: A Model of Concurrent Computation in Distributed Systems
– Agha
- 1985
|
|
565
|
Structure and Interpretation of Computer Programs
– Abelson, Sussman
- 1996
|
|
415
|
A syntactic approach to type soundness
– Wright, Felleisen
- 1994
|
|
413
|
PVS: A prototype verification system
– Owre, Rushby
- 1992
|
|
380
|
A Language with Distributed Scope
– Cardelli
- 1995
|
|
378
|
Conditional Rewriting Logic as a unified model of concurrency
– Meseguer
- 1992
|
|
345
|
Computational lambda-calculus and monads
– Moggi
- 1989
|
|
343
|
Viewing control structures as patterns of passing messages
– Hewitt
- 1977
|
|
337
|
Testing equivalences for processes
– Nicola, Hennessy
- 1984
|
|
312
|
An object calculus for asynchronous communication
– Honda, Tokoro
- 1991
|
|
253
|
The mechanical evaluation of expressions
– Landin
- 1964
|
|
247
|
Calculi for Synchrony and Asynchrony
– Milner
- 1983
|
|
221
|
Models for Concurrency
– Winskel, Nielsen
- 1995
|
|
217
|
Trace Theory for Automatic Hierarchical Verification of SpeedIndependent Circuits. ACM Distinguished Dissertations
– Dill
- 1989
|
|
208
|
The revised report on the syntactic theories of sequential control and state
– Felleisen, Hieb
- 1992
|
|
159
|
Facile: A symmetric integration of concurrent and functional programming
– Giacalone, Mishra, et al.
- 1989
|
|
134
|
Concurrent object-oriented programming
– Agha
- 1990
|
|
122
|
Call-by-name, call-by-value and the lambda calculus
– Plotkin
- 1975
|
|
116
|
Higher-order Concurrency
– Reppy
- 1992
|
|
111
|
Lambda Calculus Models of Programming Languages
– Morris
- 1982
|
|
104
|
A Domain Equation for Bisimulation
– Abramsky
- 1991
|
|
93
|
Equivalence in functional languages with effects
– Mason, Talcott
- 1991
|
|
87
|
A calculus of mobile processes --- part i and ii
– Parrow, Walker
- 1992
|
|
82
|
Control operators, the SECD-machine, and the -calculus
– Felleisen, Friedman
- 1986
|
|
76
|
A semantics for ML concurrency primitives
– Berry, Milner, et al.
- 1992
|
|
74
|
Concurrent programming in Erlang
– Armstrong, Virding, et al.
- 1996
|
|
70
|
A theory of primitive objects --- untyped and firstorder systems
– Abadi, Cardelli
- 1994
|
|
69
|
Concurrent Objects in a Process Calculus
– Pierce, Turner
- 1995
|
|
62
|
Abstraction and modularity mechanisms for concurrent computing
– Agha, Frolund, et al.
- 1993
|
|
62
|
The scientific community metaphor
– Kornfeld, Hewitt
- 1981
|
|
58
|
Description and Theoretical Analysis (Using Schemata) of PLANNER: A Language for Proving Theorems and Manipulating Models in a Robot
– Hewitt
- 1971
|
|
54
|
Towards a Theory of Actor Computation
– Agha, Mason, et al.
- 1992
|
|
51
|
Rewriting as a unified model for concurrency
– Meseguer
- 1990
|
|
50
|
Foundations of Actor Semantics
– Clinger
- 1981
|
|
48
|
Laws for communicating parallel processes
– Baker, Hewitt
- 1977
|
|
46
|
Fully Abstract Models of Typed -Calculi
– Milner
- 1977
|
|
40
|
Concurrent object-oriented programming in Act/1
– Lieberman
- 1987
|
|
25
|
Semantics of Communicating Parallel Processes
– Greif
- 1975
|
|
20
|
Translating Core Facile
– Amadio
- 1994
|
|
14
|
An operational semantics of first-class synchronous operations
– Reppy
- 1991
|
|
13
|
Acore: The design of a core actor language and its compiler
– Manning
- 1987
|
|
13
|
Synchronization in Actor Systems
– Atkinson, Hewitt
- 1977
|
|
12
|
Specification and proof techniques for serializers
– Hewitt, Atkinson
- 1979
|
|
8
|
iOperational and Algebraic Semantics of Facile: A Symmetric Integration of Concurrent and Functional Programming
– Prasad, Giacalone, et al.
- 1990
|
|
6
|
Call-by-name, call-by-value and the lambda-v-calculus
– Plotkin
- 1975
|
|
5
|
Combinators and Functional Programming Languages
– Cardelli
- 1985
|
|
3
|
Process Algebra: Specification and Verification
– Bergstra, Klop
- 1986
|
|
3
|
A Variable Typed Logic of Effects. Information and Computation
– Honsell, Mason, et al.
- 1994
|