Fair Asynchronous Session Subtyping

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Bravetti, Mario, Lange, Julien, Zavattaro, Gianluigi
Format: Preprint
Published: 2021
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866916425437806592
author Bravetti, Mario
Lange, Julien
Zavattaro, Gianluigi
author_facet Bravetti, Mario
Lange, Julien
Zavattaro, Gianluigi
contents Session types are widely used as abstractions of asynchronous message passing systems. Refinement for such abstractions is crucial as it allows improvements of a given component without compromising its compatibility with the rest of the system. In the context of session types, the most general notion of refinement is asynchronous session subtyping, which allows message emissions to be anticipated w.r.t. a bounded amount of message consumptions. In this paper we investigate the possibility to anticipate emissions w.r.t. an unbounded amount of consumptions: to this aim we propose to consider fair compliance over asynchronous session types and fair refinement as the relation that preserves it. This allows us to propose a novel variant of session subtyping that leverages the notion of controllability from service contract theory and that is a sound characterisation of fair refinement. In addition, we show that both fair refinement and our novel subtyping are undecidable. We also present a sound algorithm which deals with examples that feature potentially unbounded buffering. Finally, we present an implementation of our algorithm and an empirical evaluation of it on synthetic benchmarks.
format Preprint
id arxiv_https___arxiv_org_abs_2101_08181
institution arXiv
publishDate 2021
record_format arxiv
spellingShingle Fair Asynchronous Session Subtyping
Bravetti, Mario
Lange, Julien
Zavattaro, Gianluigi
Programming Languages
Logic in Computer Science
Session types are widely used as abstractions of asynchronous message passing systems. Refinement for such abstractions is crucial as it allows improvements of a given component without compromising its compatibility with the rest of the system. In the context of session types, the most general notion of refinement is asynchronous session subtyping, which allows message emissions to be anticipated w.r.t. a bounded amount of message consumptions. In this paper we investigate the possibility to anticipate emissions w.r.t. an unbounded amount of consumptions: to this aim we propose to consider fair compliance over asynchronous session types and fair refinement as the relation that preserves it. This allows us to propose a novel variant of session subtyping that leverages the notion of controllability from service contract theory and that is a sound characterisation of fair refinement. In addition, we show that both fair refinement and our novel subtyping are undecidable. We also present a sound algorithm which deals with examples that feature potentially unbounded buffering. Finally, we present an implementation of our algorithm and an empirical evaluation of it on synthetic benchmarks.
title Fair Asynchronous Session Subtyping
topic Programming Languages
Logic in Computer Science
url https://arxiv.org/abs/2101.08181