arXiv · 2401.11197
Timeout Asynchronous Session Types: Safe Asynchronous Mixed-Choice For Timed Interactions
Abstract
Mixed-choice has long been barred from models of asynchronous communication since it compromises the decidability of key properties of communicating finite-state machines. Session types inherit this restriction, which precludes them from fully modelling timeouts -- a core property of web and cloud services. To address this deficiency, we present (binary) Timeout Asynchronous Session Types (TOAST) as an extension to (binary) asynchronous timed session types, that permits mixed-choice. TOAST deploys timing constraints to regulate the use of mixed-choice so as to preserve communication safety. We provide a new behavioural semantics for TOAST which guarantees progress in the presence of mixed-choice. Building upon TOAST, we provide a calculus featuring process timers which is capable of modelling timeouts using a receive-after pattern, much like Erlang, and capture the correspondence with TOAST specifications via a type system for which we prove subject reduction.
Explore related subjects
Keep this discovery
Jonah Pears, Laura Bocchi, Maurizio Murgia, Andy King. 2024-01-20. Timeout Asynchronous Session Types: Safe Asynchronous Mixed-Choice For Timed Interactions. https://doi.org/10.46298/lmcs-21(3%3A6)2025
Cite the original work for its findings. Save a collection to share your selection of sources.