Abstract
In this article we present a model for multiparty contracts in which contract conformance
is defned abstractly as a property on traces. A key feature of our model is blame assignment, which means that for a given contract, every breach is attributed to a set of parties.
We show that blame assignment is compositional by de¿ning contract conjunction and
contract disjunction. Moreover, to specify real-world contracts, we introduce the contract
speci¿cation language CSL with an operational semantics. We show that each CSL contract
has a counterpart in our trace-based model and from the operational semantics we derive a
run-time monitor. CSL overcomes limitations of previously proposed formalisms for specifying contracts by supporting: (history sensitive and conditional) commitments, parametrised
contract templates, relative and absolute temporal constraints, potentially in¿nite contracts,
and in-place arithmetic expressions. Finally, we illustrate the general applicability of CSL by
formalising in CSL various contracts from different domains.
is defned abstractly as a property on traces. A key feature of our model is blame assignment, which means that for a given contract, every breach is attributed to a set of parties.
We show that blame assignment is compositional by de¿ning contract conjunction and
contract disjunction. Moreover, to specify real-world contracts, we introduce the contract
speci¿cation language CSL with an operational semantics. We show that each CSL contract
has a counterpart in our trace-based model and from the operational semantics we derive a
run-time monitor. CSL overcomes limitations of previously proposed formalisms for specifying contracts by supporting: (history sensitive and conditional) commitments, parametrised
contract templates, relative and absolute temporal constraints, potentially in¿nite contracts,
and in-place arithmetic expressions. Finally, we illustrate the general applicability of CSL by
formalising in CSL various contracts from different domains.
Originalsprog | Engelsk |
---|---|
Tidsskrift | Journal of Logic and Algebraic Programming |
Vol/bind | 81 |
Udgave nummer | 2 |
Sider (fra-til) | 72-98 |
Antal sider | 27 |
ISSN | 2352-2208 |
DOI | |
Status | Udgivet - feb. 2012 |
Begivenhed | 4th Workshop on Formal Languages and Analysis of Contract-Oriented Software - Pisa, Italien Varighed: 17 sep. 2010 → 18 sep. 2010 Konferencens nummer: 4 |
Konference
Konference | 4th Workshop on Formal Languages and Analysis of Contract-Oriented Software |
---|---|
Nummer | 4 |
Land/Område | Italien |
By | Pisa |
Periode | 17/09/2010 → 18/09/2010 |