Communicating Actor Automata -- Modelling Erlang Processes as Communicating Machines
Abstract
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.
Keywords
Cite
@article{arxiv.2304.06395,
title = {Communicating Actor Automata -- Modelling Erlang Processes as Communicating Machines},
author = {Dominic Orchard and Mihail Munteanu and Paulo Torrens},
journal= {arXiv preprint arXiv:2304.06395},
year = {2023}
}
Comments
In Proceedings PLACES 2023, arXiv:2304.05439