Implementing Linking in Multiparty Sessions (Extended Abstract)

10/29/2018
by   Hanwen Wu, et al.
0

The fast growth of service-oriented programming (SOP) is evident in this day and age of the Internet, and handling communication is of paramount importance in SOP. Session types are a formalism that is proposed to specify interactions between communicating processes. In essence, a session type system is a kind of type system designed to enforce (through type-checking) that the involved processes communicate according to a chosen protocol specified as a session type. It is well-known that linear logic plays a pivotal role in the study of session types. For instance, various inference rules in linear logic can be interpreted as ways for constructing channels (used by communicating processes to send/receive messages.) A particularly interesting case is the cut-rule in linear logic, which can be interpreted as a way for connecting the ends of two matching channels to form a single new channel. This form of channel construction is often referred to as linking or (bi-directional) forwarding. We have generalized classical linear logic into classical linear multirole logic (LMRL), where the former can be seen as a special case of the latter involving only two roles. In LMRL, there is a cut-rule involving multiple sequents (instead of exactly two), which we call multiparty cut (mp-cut). We have also formulated a novel multiparty session type system directly based on LMRL. When implementing it, we need to find a way of connecting multiple channels that corresponds to mp-cut. In this paper, we describe an implementation of linking for multiparty sessions in the setting of shared memory. We also describe two novel concepts, two-way linking with residual and three-way linking, which can only be formulated in the setting of multiparty sessions. Notably, linking for binary sessions can be thought of as a specially optimized version of what is implemented for multiparty sessions.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/04/2023

Multirole Logic and Multiparty Channels

We identify multirole logic as a new form of logic in which conjunction/...
research
04/03/2020

Session Type Systems based on Linear Logic: Classical versus Intuitionistic

Session type systems have been given logical foundations via Curry-Howar...
research
12/14/2021

Forwarders as Process Compatibility, Logically

Session types define protocols that processes must follow when communica...
research
02/09/2021

Synchronous Forwarders

Session types are types for specifying protocols that processes must fol...
research
07/31/2018

Multiparty Dependent Session Types (Extended Abstract)

Programs are more distributed and concurrent today than ever before, and...
research
10/26/2020

Client-Server Sessions in Linear Logic

We introduce coexponentials, a new set of modalities for Classical Linea...
research
09/08/2018

Affine Sessions

Session types describe the structure of communications implemented by ch...

Please sign up or login with your details

Forgot password? Click here to reset