|
Acknowledgement and Legal notice / Disclaimer |
The
CONTRACT project is co-funded by the European Commission under the 6th
Framework Programme for RTD with project number FP6-034418.
Notwithstanding
this fact, this web site and its content reflects only the project
consortium's / authors' views.The European Commission is not
responsible for its contents, or liable for the possible effects of any
usage of the information contained therein.
|
|
|
Researchers and developers in Service Oriented Architectures (SOA) and Web Services solutions have shown interest in the creation of some form of (contractual) agreements as part of the specification of a distributed business process. But current approaches are either too abstract (focusing in XML representations capable to fully express human contracts) or too concrete (focusing in the specification of service-level agreements (SLAs) based in a few set of computer-observable parameters, also called metrics). Despite its expressivity power, abstract human-level approaches cannot be used directly by a computational system to monitor and control the terms of the contract between software services at runtime, as this kind of contractual documents do not define how activities are to be monitored. In the case of concrete, service-level approaches, monitoring is limited to the tracking of the aforementioned metrics.
Therefore, one of the aims of the CONTRACT project was to produce a new language for the expression of contracts between web services which takes into account the computational issues of reasoning over contracts and, specifically, verifying the properties of systems determined by sets of contracts.

CONTRACT's Contracting Language separates concerns between different layers of communication:
• The Domain Ontology Layer contains the domain ontology, providing ontological definitions of terms, predicates and actions (e.g.car, workshop, repair), to ensure that the same definitions are used by all parties and to avoid terminological misunderstanding. • The Contract Layer defines deontic statements about the parties' obligations, permissions and prohibitions in terms of predicates and actions defined in the previous layer (e.g. the workshop is obliged to repair the car in 2 days). The definition of such deontic statements is expressed as clauses in the contract. • The Message Content Layer defines the message content, allowing agents to express statements about contracts (e.g. a contract being active/inactive, fulfilled, complete/incomplete), actions related to contracts (e.g accept, sign, cancel a contract) or expressions about actions and events related to the clauses in a contract. • The Message Layer allows agents to express their attitudes about the content of the message (e.g. an agent proposes to sign contract C1, or an agent requests cancellation of a contract C2). Taking Speech Act Theory as a basis, these attitudes are expressed by means of a standard set of pre-defined performatives which (similarly to FIPA ACL) are included as part of the message envelope. • The Interaction Protocol Layer, which pre-defines contract handling protocols as sequences of messages. These protocols structure interaction by defining sets of acceptable sequences of messages which would fulfil the goal state of the protocol (e.g. a protocol for agreeing on contract termination). • The Context Layer describes the interaction context where contractual parties will carry out the obligations, permissions and prohibitions agreed in the contract.
Apart from these horizontal layers, there is a vertical dimension that appears at all layers: the ontological dimension. This dimension defines all terms that are needed for each layer. In this approach there are basically two types of ontologies:
- Domain ontologies: these define the terms, actions, predicates and relationships needed for communication in a given domain. For instance, in the case of a car insurance application, there will be one or several ontologies defining terms such as car, insurance, damage, actions such as repair and predicates such as repaired. The domain ontologies are defined in the domain ontology layer, but are also used in other layers such as the contract layer, the message layer or the context layer.
- The Contractual Ontology: an ontology that predefines all the terms, predicates and actions that are used by the framework, independently of the application domain. This ontology defines terms such as contract, party, obligation, action, commitment or violation, actions such as creating a contract, committing to a contractand predicates such as fulfilled or cancelled.
The electronic contracts used in the Contract Layer conform to an XML based language specification suitable to represent both fully defined contracts or contract templates (partially defined contracts) which can be re-used in different contracting contexts. The figure below depicts the first levels of an electronic contract.

The proposed Contract language is a step further from SOA approaches, as it introduces semantic solutions coming from agent-oriented research. More concretely:
- The introduction of intentional semantics within the contractual communication between services. This allows to properly compare between actual and intended actor behaviour within a distributed scenario.
- The introduction of behavioural control mechanisms, linked to the contract language statements. These mechanisms are based on the extraction of some higher-level concepts such as commitments, obligations and violations, which can be derived thanks to some intentional stance extracted from the communication semantics.
Further reading
- CONTRACT deliverable D3.1 Contracting Language Syntax and Semantics Specifications
- CONTRACT deliverable D3.2 Contracting Language Verification algorithms
- S. Panagiotidi, J. Vázquez-Salceda, S.Álvarez-Napagao, S. Ortega-Martorell, S. Willmott, R. Confalonieri and P. Storms. Intelligent Contracting Agents Language. Proceedings of the Symposium on Behaviour Regulation in Multi-Agent Systems -BRMAS'08-, Aberdeen, UK, April 2008.
- Oren, Nir and Panagiotidi, Sofia and Vazquez-Salceda, Javier and Modgil, Sanjay and Luck, Michael and Miles, Simon (2008) Towards a Formalisation of Electronic Contracting Environments. In: Proceedings of Coordination, Organization, Institutions and Norms in Agent Systems, the International Workshop at AAAI 2008, Chicago.
|
Copyright 2006 - 2009, IST Contract Project. All rights reserved.
Powered by Mambo - Free Software released under the GNU/GPL License.
^M
|
|
|
|
Start Date / Duration |
The project started on the 1st of September, 2006 and finished on July 31st 2009. |
|
Newsletter |
|
If you want to receive our newsletter with updates on what happens in the Contract Project, please submit your e-mail address.
|
|
|