Choreography Synthesis as Contract Agreement

Julien Lange
(University of Leicester, UK)
Alceste Scalas
(University of Cagliari, Italy)

We propose a formal model for distributed systems, where each participant advertises its requirements and obligations as behavioural contracts, and where multiparty sessions are started when a set of contracts allows to synthesise a choreography. Our framework is based on the CO2 calculus for contract-oriented computing, and borrows concepts and results from the session type literature.

It supports sessions where the number of participants is not determined beforehand, and keeps CO2's ability to rule out participants that are culpable if contracts are not fulfilled at runtime. We show that we have progress and session fidelity in CO2, as a result of the honesty of participants — i.e., their ability to always adhere to their contracts.

In Marco Carbone, Ivan Lanese, Alberto Lluch Lafuente and Ana Sokolova: Proceedings 6th Interaction and Concurrency Experience (ICE 2013), Florence, Italy, 6th June 2013, Electronic Proceedings in Theoretical Computer Science 131, pp. 52–67.
Published: 15th October 2013.

ArXived at: bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to:
For website issues: