Affiliation:
1. University of Novi Sad, Serbia
2. DTU, Denmark / Aston University, UK
3. Imperial College London, UK
Abstract
Session subtyping is a cornerstone of refinement of communicating processes: a process implementing a session type (i.e., a communication protocol)
T
can be safely used whenever a process implementing one of its supertypes
T
′ is expected, in any context, without introducing deadlocks nor other communication errors. As a consequence, whenever
T
T
′ holds, it is safe to replace an implementation of
T
′ with an implementation of the subtype
T
, which may allow for more optimised communication patterns.
We present the first formalisation of the
precise
subtyping relation for
asynchronous multiparty
sessions. We show that our subtyping relation is
sound
(i.e., guarantees safe process replacement, as outlined above) and also
complete
: any extension of the relation is unsound. To achieve our results, we develop a novel
session decomposition
technique, from
full
session types (including internal/external choices) into
single input/output session trees
(without choices).
Previous work studies precise subtyping for
binary
sessions (with just two participants), or multiparty sessions (with any number of participants) and
synchronous
interaction. Here, we cover
multiparty
sessions with
asynchronous
interaction, where messages are transmitted via FIFO queues (as in the TCP/IP protocol), and prove that our subtyping is both operationally and denotationally precise. In the asynchronous multiparty setting, finding the precise subtyping relation is a highly complex task: this is because, under some conditions, participants can permute the order of their inputs and outputs, by sending some messages earlier or receiving some later, without causing errors; the precise subtyping relation must capture
all
such valid permutations — and consequently, its formalisation, reasoning and proofs become challenging. Our session decomposition technique overcomes this complexity, expressing the subtyping relation as a composition of refinement relations between single input/output trees, and providing a simple reasoning principle for asynchronous message optimisations.
Funder
Horizon 2020 Framework Programme
European Cooperation in Science and Technology
Engineering and Physical Sciences Research Council
Science Fund of the Republic of Serbia
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Reference47 articles.
1. Behavioral Types in Programming Languages
2. A filter lambda model and the completeness of type assignment
3. Global Progress in Dynamically Interleaved Multiparty Sessions
4. Daniel Brand and Pitro Zafiropulo. 1983. On Communicating Finite-State Machines. JACM 30 2 ( 1983 ). https://doi.org/10. 1145/322374.322380 10.1145/322374.322380 Daniel Brand and Pitro Zafiropulo. 1983. On Communicating Finite-State Machines. JACM 30 2 ( 1983 ). https://doi.org/10. 1145/322374.322380 10.1145/322374.322380
Cited by
19 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. Un-projectable Global Types for Multiparty Sessions;Proceedings of the 26th International Symposium on Principles and Practice of Declarative Programming;2024-09-09
3. Separation and Encodability in Mixed Choice Multiparty Sessions;Proceedings of the 39th Annual ACM/IEEE Symposium on Logic in Computer Science;2024-07-08
4. Deciding Subtyping for Asynchronous Multiparty Sessions;Lecture Notes in Computer Science;2024
5. Asynchronous Subtyping by Trace Relaxation;Lecture Notes in Computer Science;2024