Abstract
AbstractSession 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 the asynchronous session subtyping, which allows to anticipate message emissions but only under certain conditions. In particular, asynchronous session subtyping rules out candidates subtypes that occur naturally in communication protocols where, e.g., two parties simultaneously send each other a finite but unspecified amount of messages before removing them from their respective buffers. To address this shortcoming, we study 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, and its implementation, which deals with examples that feature potentially unbounded buffering.
Publisher
Springer International Publishing
Cited by
6 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. On the Preciseness of Subtyping in Session Types: 10 Years Later;Proceedings of the 26th International Symposium on Principles and Practice of Declarative Programming;2024-09-09
2. Deciding Subtyping for Asynchronous Multiparty Sessions;Lecture Notes in Computer Science;2024
3. Asynchronous Subtyping by Trace Relaxation;Lecture Notes in Computer Science;2024
4. Fair termination of binary sessions;Proceedings of the ACM on Programming Languages;2022-01-12
5. Fair Refinement for Asynchronous Session Types;Lecture Notes in Computer Science;2021