## Linear Forwarders (2007)

Citations: | 14 - 6 self |

### BibTeX

@MISC{Gardner07linearforwarders,

author = {Philippa Gardner and Cosimo Laneve and Lucian Wischik},

title = {Linear Forwarders},

year = {2007}

}

### OpenURL

### Abstract

A linear forwarder is a process that receives one message on a channel and sends it on a different channel. We use linear forwarders to provide a distributed implementation of Milner’s asynchronous pi calculus. Such a distributed implementation is known to be difficult due to input capability, where a received name is used as the subject of a subsequent input. This allows the dynamic creation of large input processes in the wrong place, thus requiring comparatively large code migrations in order to avoid consensus problems. Linear forwarders constitute a small atom of input capability that is easy to move. We show that the full input capability can be simply encoded using linear forwarders. We also design a distributed machine, demonstrating the ease with which we can implement the pi calculus using linear forwarders. We also show that linear forwarders allow for a simple encoding of distributed choice and have “clean” behaviour in the presence of failures.