Communicating Actor Automata - Modelling Erlang Processes as Communicating Machines

Dominic Orchard
(University of Kent, UK)
Mihail Munteanu
(Masabi Ltd.)
Paulo Torrens
(University of Kent, UK)

Brand and Zafiropulo's notion of Communicating Finite-State Machines (CFSMs) provides a succinct and powerful model of message-passing concurrency, based around channels. However, a major variant of message-passing concurrency is not readily captured by CFSMs: the actor model. In this work, we define a variant of CFSMs, called Communicating Actor Automata, to capture the actor model of concurrency as provided by Erlang: with mailboxes, from which messages are received according to repeated application of pattern matching. Furthermore, this variant of CFSMs supports dynamic process topologies, capturing common programming idioms in the context of actor-based message-passing concurrency. This gives a new basis for modelling, specifying, and verifying Erlang programs. We also consider a class of CAAs that give rise to freedom from race conditions.

In Ilaria Castellani and Alceste Scalas: Proceedings 14th Workshop on Programming Language Approaches to Concurrency and Communication-cEntric Software (PLACES 2023), Paris, France, 22 April 2023, Electronic Proceedings in Theoretical Computer Science 378, pp. 38–48.
Published: 13th April 2023.

ArXived at: https://dx.doi.org/10.4204/EPTCS.378.4 bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org