A Message-Passing Interpretation of Adjoint Logic

04/02/2019
by   Klaas Pruiksma, et al.
0

We present a system of session types based on adjoint logic which generalize standard binary session types. Our system allows us to uniformly capture several new behaviors in the space of asynchronous message-passing communication, including multicast, where a process sends a single message to multiple clients, replicable services, which have multiple clients and replicate themselves on-demand to handle requests from those clients, and cancellation, where a process discards a channel without communicating along it. We provide session fidelity and deadlock-freedom results for this system, from which we then derive a logically justified form of garbage collection.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/05/2018

On Urgency in Asynchronous Timed Session Types

We study an urgent semantics of asynchronous timed session types, where ...
research
09/12/2022

A Bunch of Sessions: A Propositions-as-Sessions Interpretation of Bunched Implications in Channel-Based Concurrency

The emergence of propositions-as-sessions, a Curry-Howard correspondence...
research
02/11/2020

Back to Futures

We briefly introduce the semi-axiomatic sequent calculus for linear logi...
research
12/23/2021

Deadlock-free asynchronous message reordering in Rust with multiparty session types

Rust is a modern systems language focused on performance and reliability...
research
02/22/2023

Asynchronous Multiparty Session Type Implementability is Decidable – Lessons Learned from Message Sequence Charts

Multiparty session types (MSTs) provide efficient means to specify and v...
research
12/10/2013

Towards deductive verification of MPI programs against session types

The Message Passing Interface (MPI) is the de facto standard message-pas...
research
07/02/2019

Domain-Aware Session Types (Extended Version)

We develop a generalization of existing Curry-Howard interpretations of ...

Please sign up or login with your details

Forgot password? Click here to reset