On Asynchrony and Choreographies

Luís Cruz-Filipe
(University of Southern Denmark)
Fabrizio Montesi
(University of Southern Denmark)

Choreographic Programming is a paradigm for the development of concurrent software, where deadlocks are prevented syntactically. However, choreography languages are typically synchronous, whereas many real-world systems have asynchronous communications. Previous attempts at enriching choreographies with asynchrony rely on ad-hoc constructions, whose adequacy is only argued informally. In this work, we formalise the properties that an asynchronous semantics for choreographies should have: messages can be sent without the intended receiver being ready, and all sent messages are eventually received. We explore how out-of-order execution, used in choreographies for modelling concurrency, can be exploited to endow choreographies with an asynchronous semantics. Our approach satisfies the properties we identified. We show how our development yields a pleasant correspondence with FIFO-based asynchronous messaging, modelled in a process calculus, and discuss how it can be adopted in more complex choreography models.

In Massimo Bartoletti, Laura Bocchi, Ludovic Henrio and Sophia Knight: Proceedings 10th Interaction and Concurrency Experience (ICE 2017), Neuchâtel, Switzerland, 21-22nd June 2017, Electronic Proceedings in Theoretical Computer Science 261, pp. 76–90.
Published: 29th November 2017.

ArXived at: http://dx.doi.org/10.4204/EPTCS.261.8 bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org