Table of Contents
Fetching ...

Complete Multiparty Session Type Projection with Automata

Elaine Li, Felix Stutz, Thomas Wies, Damien Zufferey

TL;DR

This work presents the first projection operator that is sound, complete, and efficient and shows that MST implementability is in PSPACE, and demonstrates the effectiveness of the approach using a prototype implementation, which handles global types not supported by previous work without sacrificing performance.

Abstract

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 in PSPACE. 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.

Complete Multiparty Session Type Projection with Automata

TL;DR

This work presents the first projection operator that is sound, complete, and efficient and shows that MST implementability is in PSPACE, and demonstrates the effectiveness of the approach using a prototype implementation, which handles global types not supported by previous work without sacrificing performance.

Abstract

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 in PSPACE. 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.
Paper Structure (2 sections, 1 figure)

This paper contains 2 sections, 1 figure.

Figures (1)

  • Figure 1: Odd-even: An implementable but not (yet) projectable protocol and its local implementations