One of the dreams of the modern, computer-technology-enabled business is the automation of monitoring and execution of contracts. Agent technology and multi-agent systems research promises to provide flexible and efficient solutions to this problem. To date, research in this area has mostly concentrated on knowledge representation of legal states, such as obligation and permission. Research into contract execution and monitoring is a smaller, but rapidly growing, area.
In this thesis, we propose ECCL, a novel contract representation language based on the Event Calculus. Contracts are viewed as a kind of game whose state can be manipulated by events. Our contract language integrates communication semantics, interaction protocols, deontic concepts, trusted third parties, basic negotiation and interactions between contracts. The interpreter, selon, defines the evaluation of queries in a contractual context.
We further describe a BDI (beliefs-desires-intentions) agent architecture capable of monitoring and executing these contracts. An agent that is executing several contracts may find that it has many obligations that must be fulfilled simultaneously. For this reason, our agent architecture is multi-threaded, allowing each obligation or other goal to be concurrently achieved by a separate thread of activity. These threads of activities are called intentions.
Our agent architecture provides a mechanism for the detection and prioritisation of multiple incompatible intentions. Our work is the first to use teleo-reactive plans in the context of contract execution. Included in the architecture is a base library of plans to deal with the common contracting situations – the agent designer need supply only plans to handle domain-specific goals. We are careful not to mix the agent's own beliefs with the state of the contracts to which it must adhere.
The result is a system where the agent's behaviour is constrained and directed by the contracts it has agreed. Not only does it monitor and execute the obligations pertaining to it, but it is also able to reason with the contracts to determine whether a contract can be used to satisfy its goals. In this way, an agent can make use of its contracts to outsource its goals by means of obliging other agents to perform them. We demonstrate this behaviour in a multi-agent and multi-contract scenario involving vendor, customer, bank and courier agents. One of the most interesting features of the scenario is how the customer makes use of a standing contract with the vendor to agree a one-off transactional contract in order to achieve its goal of owning a particular item.
pubs.doc.ic.ac.uk: built & maintained by Ashok Argent-Katwala.