Emilio Tuosto, Roberto Zunino and myself have introduced a parametric calculus for contract-based computing in distributed systems. By abstracting from the actual contract language, our calculus generalises both the contracts-as-processes and contracts-as-formulae paradigms.
The calculus features primitives for advertising contracts, for reaching agreements, and for querying the fulfilment of contracts. Coordination among principals happens via multi-party sessions, which are created once agreements are reached.
We have presented two instances of our calculus, by modelling contracts as (i) processes in a variant of CCS, and (ii) as formulae in a logic. With the help of a few examples, we have discussed the primitives of our calculus, as well as some possible variants.
Massimo Bartoletti, Emilio Tuosto and Roberto Zunino. Contracts in Distributed Systems. In Proc. Interaction and Concurrency Experience (ICE), 2011