Choreographies and Behavioural Contracts on the Way to Dynamic Updates
Mario Bravetti (University of Bologna, Italy / INRIA, France),, Gianluigi Zavattaro (University of Bologna, Italy / INRIA, France)

TL;DR
This paper surveys theories of behavioural contracts and choreographies in multiparty interactions, focusing on correctness, substitutability, and dynamic updates under various communication assumptions, with new testing-based characterizations.
Contribution
It introduces a new compliance testing approach for behavioural contracts and explores their relation to choreographies, including extensions for runtime updates and self-adaptation.
Findings
Maximal preorders preserve contract compliance and global traces.
Compliance testing relates to controllability and differs from classical testing preorders.
Extensions enable runtime modifications of choreographies and contracts.
Abstract
We survey our work on choreographies and behavioural contracts in multiparty interactions. In particular theories of behavioural contracts are presented which enable reasoning about correct service composition (contract compliance) and service substitutability (contract refinement preorder) under different assumptions concerning service communication: synchronous address or name based communication with patient non-preemptable or impatient invocations, or asynchronous communication. Correspondingly relations between behavioural contracts and choreographic descriptions are considered, where a contract for each communicating party is, e.g., derived by projection. The considered relations are induced as the maximal preoders which preserve contract compliance and global traces: we show maximality to hold (permitting services to be discovered/substituted independently for each party) when…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
