16 research outputs found
Multiparty Sessions based on Proof Nets
We interpret Linear Logic Proof Nets in a term language based on Solos
calculus. The system includes a synchronisation mechanism, obtained by a
conservative extension of the logic, that enables to define non-deterministic
behaviours and multiparty sessions.Comment: In Proceedings PLACES 2014, arXiv:1406.331
Polarized Substructural Session Types
Abstract. The deep connection between session-typed concurrency and linear logic is embodied in the language SILL that integrates functional and message-passing concurrent programming. The exacting nature of linear typing provides strong guarantees, such as global progress, absence of deadlock, and race freedom, but it also requires explicit resource man-agement by the programmer. This burden is alleviated in an affine type system where resources need not be used, relying on a simple form of garbage collection. In this paper we show how to effectively support both linear and affine typing in a single language, in addition to the already present unre-stricted (intuitionistic) types. The approach, based on Benton’s adjoint construction, suggests that the usual distinction between synchronous and asynchronous communication can be viewed through the lens of modal logic. We show how polarizing the propositions into positive and negative connectives allows us to elegantly express synchronization in the type instead of encoding it by extra-logical means.
Session types revisited
Session types are a formalism used to model structured communication-based programming. A binary session type describes communication by specifying the type and direction of data exchanged between two parties. When session types and session processes are added to the syntax of standard π-calculus they give rise to additional separate syntactic categories. As a consequence, when new type features are added, there is duplication of effort in the theory: the proofs of properties must be checked both on standard types and on session types. We show that session types are encodable into standard π- types, relying on linear and variant types. Besides being an expressivity result, the encoding (i) removes the above redundancies in the syntax, and (ii) the properties of session types are derived as straightforward corollaries, exploiting the corresponding properties of standard π-types. The robustness of the encoding is tested on a few extensions of session types, including subtyping, polymorphism and higher-order communications
Session Coalgebras: A Coalgebraic View on Session Types and Communication Protocols
Compositional methods are central to the development and verification of
software systems. They allow to break down large systems into smaller
components, while enabling reasoning about the behaviour of the composed
system. For concurrent and communicating systems, compositional techniques
based on behavioural type systems have received much attention. By abstracting
communication protocols as types, these type systems can statically check that
programs interact with channels according to a certain protocol, whether the
intended messages are exchanged in a certain order. In this paper, we put on
our coalgebraic spectacles to investigate session types, a widely studied class
of behavioural type systems. We provide a syntax-free description of
session-based concurrency as states of coalgebras. As a result, we rediscover
type equivalence, duality, and subtyping relations in terms of canonical
coinductive presentations. In turn, this coinductive presentation makes it
possible to elegantly derive a decidable type system with subtyping for
-calculus processes, in which the states of a coalgebra will serve as
channel protocols. Going full circle, we exhibit a coalgebra structure on an
existing session type system, and show that the relations and type system
resulting from our coalgebraic perspective agree with the existing ones.Comment: 36 pages, submitte