arXiv · 2307.12688
Safe asynchronous mixed-choice for timed interactions
Abstract
Mixed-choice has long been barred from models of asynchronous communication since it compromises key properties of communicating finite-state machines. Session types inherit this restriction, which precludes them from fully modelling timeouts -- a key programming feature to handle failures. To address this deficiency, we present (binary) TimeOut Asynchronous Session Types ({TOAST}) as an extension to (binary) asynchronous timed session types to permit mixed-choice. {TOAST} deploy 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 $\mathtt{receive\text{-}after}$ pattern, much like Erlang, and informally illustrate the correspondence with TOAST specifications.
Explore related subjects
Keep this discovery
Jonah Pears, Laura Bocchi, Andy King. 2023-07-24. Safe asynchronous mixed-choice for timed interactions. https://doi.org/10.1007/978-3-031-35361-1_12
Cite the original work for its findings. Save a collection to share your selection of sources.