The Buffered \pi-Calculus: A Model for Concurrent Languages
Xiaojie Deng, Yu Zhang, Yuxin Deng, and Farong Zhong

TL;DR
The paper introduces the buffered π-calculus, a variant of the π-calculus that models asynchronous communication with buffered channels, enabling practical and clear modeling of real-world concurrent languages like Go and Erlang.
Contribution
It presents the buffered π-calculus, demonstrating its full simulation in the polyadic π-calculus and its ability to encode real-world concurrent languages.
Findings
Buffered π-calculus can be fully simulated in the polyadic π-calculus.
It enables clear modeling of practical concurrent languages.
Core Go and Erlang are fully encoded in the buffered π-calculus.
Abstract
Message-passing based concurrent languages are widely used in developing large distributed and coordination systems. This paper presents the buffered -calculus --- a variant of the -calculus where channel names are classified into buffered and unbuffered: communication along buffered channels is asynchronous, and remains synchronous along unbuffered channels. We show that the buffered -calculus can be fully simulated in the polyadic -calculus with respect to strong bisimulation. In contrast to the -calculus which is hard to use in practice, the new language enables easy and clear modeling of practical concurrent languages. We encode two real-world concurrent languages in the buffered -calculus: the (core) Go language and the (Core) Erlang. Both encodings are fully abstract with respect to weak bisimulations.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Distributed systems and fault tolerance · Distributed and Parallel Computing Systems
