Design-by-contract for flexible multiparty session protocols
File(s)LIPIcs-ECOOP-2022-8.pdf (1.35 MB)
Published version
Author(s)
Gheri, Lorenzo
Lanese, Ivan
Sayers, Neil
Tuosto, Emilio
Yoshida, Nobuko
Type
Conference Paper
Abstract
Choreographic models support a correctness-by-construction principle in distributed programming. Also, they enable the automatic generation of correct message-based communication patterns from a global specification of the desired system behaviour. In this paper we extend the theory of
choreography automata, a choreographic model based on finite-state automata, with two key features. First, we allow participants to act only in some of the scenarios described by the choreography automaton. While this seems natural, many choreographic approaches in the literature, and
choreography automata in particular, forbid this behaviour. Second, we equip communications with assertions constraining the values that can be communicated, enabling a design-by-contract approach. We provide a toolchain allowing to exploit the theory above to generate APIs for TypeScript web programming. Programs communicating via the generated APIs follow, by construction, the prescribed communication pattern and are free from communication errors such as deadlocks
choreography automata, a choreographic model based on finite-state automata, with two key features. First, we allow participants to act only in some of the scenarios described by the choreography automaton. While this seems natural, many choreographic approaches in the literature, and
choreography automata in particular, forbid this behaviour. Second, we equip communications with assertions constraining the values that can be communicated, enabling a design-by-contract approach. We provide a toolchain allowing to exploit the theory above to generate APIs for TypeScript web programming. Programs communicating via the generated APIs follow, by construction, the prescribed communication pattern and are free from communication errors such as deadlocks
Date Acceptance
2022-04-30
Citation
36th European Conference on Object-Oriented Programming (ECOOP 2022), pp.1-28
ISBN
978-3-95977-225-9
ISSN
1868-8969
Publisher
Schloss Dagstuhl, Leibniz-Zentrum
Start Page
1
End Page
28
Journal / Book Title
36th European Conference on Object-Oriented Programming (ECOOP 2022)
Copyright Statement
© Lorenzo Gheri, Ivan Lanese, Neil Sayers, Emilio Tuosto, and
Nobuko Yoshida;
licensed under Creative Commons License CC-BY 4.0
Nobuko Yoshida;
licensed under Creative Commons License CC-BY 4.0
License URL
Identifier
https://drops.dagstuhl.de/opus/volltexte/2022/16236/
Source
European Conference on Object-Oriented Programming (ECOOP 2022)
Publication Status
Published
Start Date
2020-06-06
Finish Date
2022-06-07
Coverage Spatial
Berlin, Germany
Date Publish Online
2022-06-23