Complete Multiparty Session Type Projection with Automata

05/26/2023
by   Elaine Li, et al.
0

Multiparty session types (MSTs) are a type-based approach to verifying communication protocols. Central to MSTs is a projection operator: a partial function that maps protocols represented as global types to correct-by-construction implementations for each participant, represented as a communicating state machine. Existing projection operators are syntactic in nature, and trade efficiency for completeness. We present the first projection operator that is sound, complete, and efficient. Our projection separates synthesis from checking implementability. For synthesis, we use a simple automata-theoretic construction; for checking implementability, we present succinct conditions that summarize insights into the property of implementability. We use these conditions to show that MST implementability is PSPACE-complete. This improves upon a previous decision procedure that is in EXPSPACE and applies to a smaller class of MSTs. We demonstrate the effectiveness of our approach using a prototype implementation, which handles global types not supported by previous work without sacrificing performance.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/15/2017

Timed Session Types

Timed session types formalise timed communication protocols between two ...
research
05/13/2020

Multiparty Session Programming with Global Protocol Combinators

Multiparty Session Types (MPST) is a typing discipline for communication...
research
01/28/2019

Verifying Asynchronous Interactions via Communicating Session Automata

The relationship between communicating automata and session types is the...
research
07/10/2017

Kleene Algebra Modulo Theories

Kleene algebras with tests (KATs) offer sound, complete, and decidable e...
research
07/08/2021

Generalising Projection in Asynchronous Multiparty Session Types

Multiparty session types (MSTs) provide an efficient methodology for spe...
research
05/06/2023

On the usefulness of linear types for correct nonce use enforcement during compile time

Cryptographic algorithms and protocols often need unique random numbers ...

Please sign up or login with your details

Forgot password? Click here to reset