Contract-Oriented Computing in CO2
Contract-Oriented Computing in CO2
Blog Article
We present CO2, 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 participants happens via multi-party sessions, which are created once agreements are reached.We present two instances of our Games calculus, by modelling contracts as processes in a variant of CCS, and as formulae in a logic.
We formally relate the two paradigms, through an encoding from contracts-as-formulae to contracts-as-processes which ensures that the promises deducible in the logical system are exactly those reachable by its encoding as a process.Finally, we present a coarse-grained taxonomy of possible misbehaviours in Consumer DNA Test contract-oriented systems, and we illustrate them with the help of a variety of examples.