The Buffered \pi-Calculus: A Model for Concurrent Languages
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.
Cite
@article{arxiv.1212.6183,
title = {The Buffered \pi-Calculus: A Model for Concurrent Languages},
author = {Xiaojie Deng and Yu Zhang and Yuxin Deng and Farong Zhong},
journal= {arXiv preprint arXiv:1212.6183},
year = {2012}
}