TCS Journal 2022 Journal Article
On distributability
- Kirstin Peters
- Uwe Nestmann
- Anna Schmitt
The Actor model of computation is the backbone for the design of some of the most successful distributed programming platforms, Erlang and Akka. It builds upon asynchronous message-passing (liberating senders from waiting) and unique message-routing (using unique Actor addresses), which enables relatively simple distributed implementations. The Actor model shares these principles with the model of computation underlying JoCaml, which supports the distributed implementation of OCaml components. In this paper, we support the distributability of the two models on theoretical grounds. For this, we investigate three refined variants of the π-calculus that can be understood as the essence of the two models. We show that neither of the three calculi is able to express a synchronization pattern that is known from the world of Petri nets and that was used by us as one criterion in a distributability hierarchy of process calculi. Moreover, we exhibit three encodings between the three calculi and prove that they each preserve the degree of distributability between source and target terms.