MoL201502: Vyšniauskas, Ignas (2015) $\pi_{dist}$: Towards a Typed $\pi$calculus for Distributed Programming Languages. [Report]

Text (Full Text)
MoL201502.text.pdf Download (904kB)  Preview 

Text (Abstract)
MoL201502.abstract.txt Download (2kB) 
Abstract
It is becoming increasingly clear that computing systems should not be viewed as isolated machines performing sequential steps, but instead as cooperating collections of such machines. The work of Milner and others shows that 'classical' models of computation (such as the λcalculus) are encompassed by suitable distributed models of computation. However, while by now (sequential) computability is quite a rigid mathematical notion with many fruitful interpretations, an equivalent formal treatment of distributed computation, which would be universally accepted as being canonical, seems to be missing. The goal of this thesis is not to resolve this problem, but rather to revisit the design choices of formal systems modelling distributed systems in attempt to evaluate their suitability for providing a formals basis for distributed programming languages. Our intention is to have a minimal process calculus which would be amenable to static analysis. More precisely, we wish to harmonize the assumptions of πcalculus with a linear typing discipline for process calculi called Session Types. We begin by discussing and comparing various process calculi, both in purely theoretical and in pragmatic terms. In doing so, we discover an interesting misalignment between some folklore interpretations of results in the literature on process calculi, which stems from a lack of sufficient criteria for relating process languages. The comparison leads us to a restricted subset of πcalculus which we call π_dist , reminiscent of Merro and Sangiorgi's Lπcalculus in terms of semantics and of Fournet and Gonthier's Joincalculus in spirit. We describe the reduction and transition semantics of this calculus, develop some of its theory and discuss its relative expressiveness. In particular, we show that π_dist is more distributable than the asynchronous πcalculus. We then describe a minimal programming language, TinyPi, in order to abstract away from the syntax of πcalculus and more faithfully expresses the intended semantics of π_dist. With the aim of providing formal guarantees about π_dist programs, we investigate the application of Session Types. In particular, we show that the type system πDILL of Caires and Pfenning's – with some small modifications – can be used to type process communication under asynchronous FIFO semantics, while preserving full type safety.
Item Type:  Report 

Report Nr:  MoL201502 
Series Name:  Master of Logic Thesis (MoL) Series 
Year:  2015 
Uncontrolled Keywords:  logic, computation 
Subjects:  Logic 
Date Deposited:  12 Oct 2016 14:38 
Last Modified:  12 Oct 2016 14:38 
URI:  https://eprints.illc.uva.nl/id/eprint/943 
Actions (login required)
View Item 