spacer
spacer search

European Commission Framework 6 IST Project

Search
spacer
Newsflash
CONTRACT project presented at the Future Internet Enterprises Systems Cluster Meeting
Read more...
header
Introduction
Objectives
Approach
Results
Scenarios
Consortium
News
Archive
Links
Contact Us
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.


 
Introduction arrow Results arrow Language

Contracting Language PDF Print E-mail
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


Copyright 2006 - 2009, IST Contract Project. All rights reserved.
Powered by Mambo - Free Software released under the GNU/GPL License.
^M
spacer
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.







spacer