Contract Automata Towards an Algebra of Contracts
Gordon J. Pace
Department of Computer Science University of Malta Malta
March 2016
Gordon J. Pace Contract AutomataTowards an Algebra of Contracts
Contract Automata Towards an Algebra of Contracts Gordon J. Pace - - PowerPoint PPT Presentation
Contract Automata Towards an Algebra of Contracts Gordon J. Pace Department of Computer Science University of Malta Malta March 2016 Gordon J. Pace Contract AutomataTowards an Algebra of Contracts Whats so Interesting about Contracts?
Gordon J. Pace Contract AutomataTowards an Algebra of Contracts
Gordon J. Pace Contract AutomataTowards an Algebra of Contracts
Gordon J. Pace Contract AutomataTowards an Algebra of Contracts
◮ Obligation to perform x related to the property ‘action taken
◮ Prohibition from performing x related to the property ‘action
◮ But what are permission to perform x? Actions may include
◮ And what about liability? ◮ Or exceptional (non-ideal) behaviour?
Gordon J. Pace Contract AutomataTowards an Algebra of Contracts
Gordon J. Pace Contract AutomataTowards an Algebra of Contracts
Gordon J. Pace Contract AutomataTowards an Algebra of Contracts
Gordon J. Pace Contract AutomataTowards an Algebra of Contracts
A
1
A
1, q2)
A
2
A
2)
A
1
B
2
A∪B
1, q′ 2)
Gordon J. Pace Contract AutomataTowards an Algebra of Contracts
Gordon J. Pace Contract AutomataTowards an Algebra of Contracts
Gordon J. Pace Contract AutomataTowards an Algebra of Contracts
Gordon J. Pace Contract AutomataTowards an Algebra of Contracts
Gordon J. Pace Contract AutomataTowards an Algebra of Contracts
Gordon J. Pace Contract AutomataTowards an Algebra of Contracts
◮ Transitions: e.g. a transition which contains an action which
◮ States: e.g. a state in which a party does not permit (allow)
Gordon J. Pace Contract AutomataTowards an Algebra of Contracts
A) df
Gordon J. Pace Contract AutomataTowards an Algebra of Contracts
df
df
p ((q1, q2)qA) df
Gordon J. Pace Contract AutomataTowards an Algebra of Contracts
df
Gordon J. Pace Contract AutomataTowards an Algebra of Contracts
Gordon J. Pace Contract AutomataTowards an Algebra of Contracts
Gordon J. Pace Contract AutomataTowards an Algebra of Contracts
Gordon J. Pace Contract AutomataTowards an Algebra of Contracts
Gordon J. Pace Contract AutomataTowards an Algebra of Contracts
Op(proveIdentity) start Fp(boardPlane) {showTicket, proveIdentity} {showTicket}
Gordon J. Pace Contract AutomataTowards an Algebra of Contracts
Pp(boardPlane) Pp(handLuggage) Pp(coat) Pp(report) Oc(inCargo) Pp(report) Oc(inCargo) Op(switchOffDevices) Vc(Pp(coat)) ⊲ {boardPlane}
Vc(Pp(handLuggage)) ⊲ {boardPlane} Vc(Pp(coat)) ∧ Vc(Pp(handLuggage)) ⊲ {boardPlane}
Gordon J. Pace Contract AutomataTowards an Algebra of Contracts
◮ We share the same formalism and theory as for systems; ◮ We are able to reason about contracts independently of the
Gordon J. Pace Contract AutomataTowards an Algebra of Contracts
◮ A formalisation of the meaning of directed deontic operators in
◮ The use of standard techniques from computer science, namely
Gordon J. Pace Contract AutomataTowards an Algebra of Contracts