Quality Definition, Negotiation and Assurance (KM-QA)
WP-JRA-1.3: Quality Definition, Negotiation and Assurance
As has been elaborated in , services more and more will be provisioned in the context of short-term, volatile and thus highly dynamic business relationships and processes involving service providers and requestors (also called consumers) which are not known during design time. Thus, services will have to be enabled to collaborate in highly distributed environments, cutting across the boundaries of various organizations (including enterprises, governmental and non-profit organizations).
In general, contracts between service providers and requestors on quality aspects of services have to be established  in order to establish and guarantee the desired end-to-end quality of those dynamic business processes. A contract typically is a formal agreement between two or more parties to create mutual business relations or legal obligations. In electronic settings, contracts are composed of different parts, such as the definition of business partners, the specification of functional obligations, and quality, price, and penalties related with the object of the agreement.
Workpackage WP-JRA-1.3 in particular focusses on quality contracts, or more general on those parts of Service Level Agreements (SLAs) which deal with statements about the levels of services’ quality on which the service requestor and the providers reach an agreement. Quality attributes express "non-functional" capabilities or requirements. By grouping a set of relevant quality attributes, a service or a service-based application (SBA) can be defined in terms of how “well” the service / SBA is expected to operate. Other aspects of the contracts, i.e., parties’ identification, legal obligations, or contract unfulfillment penalties, which are also aspects covered in SLAs or general contracts, will be considered where needed to ensure end-to-end quality, but will not be at the heart of the workpackage.
Following, the general life-cycle of electronic contracts [8, 9], workpackage WP-JRA-1.3 addresses challenges observed in the following three main phases relevant for quality contracts:
Quality definition (contract
The contract definition phase concerns the establishment of a model for the definition of contract terms, which is understood and shared by the contracting parties. This is often done by means of defining a contract template, which is then instantiated in an actual contract that reflects the domain dependent interests of providers and consumers. For what concerns contract definition, this workpackage aims at defining a comprehensive and integrated quality reference model and a quality definition language to enable the flexible definition of quality in an end-to-end fashion.
Quality negotiation and agreement (contract establishment)
The contract establishment phase concerns the set of activities required for the instantiation of the contract template in an actual contract. This may involve the selection of the contract partner (the service provider), among a set of potential partners, the negotiation of the contract terms between the selected partner and the service consumer, and the agreement to the contract terms. For what concerns contract establishment, this workpackage focusses on novel quality negotiation and agreement techniques as the primarily means to automatically and proactively establish contracts on quality attributes between service requestors (consumers) and providers. QoS contracts are parts of Service Level Agreements (SLAs), which deal with statements about the QoS levels on which the service requestor and the providers reach an agreement.
We identify two main streams for research on service quality negotiation. First, we underline the issue of automated SLA establishment in service compositions. Most of the current work in this field concerns the negotiation between a service consumer and a service provider or the set of providers of functionally equivalent services. Second, research efforts should be devoted to the analysis of innovative negotiation strategies explicitly tailored to the requirements of service-based applications.
Quality assurance (contract enactment)
The contract enactment concerns executing the contract and assuring its satisfaction. In the specific context of contracts on quality aspects, this activity coincides with assuring the satisfaction of quality guarantees negotiated between a service provider and the service requestor. Regarding contract enactment, this workpackage will elaborate novel techniques for the run-time and proactive assurance of quality, such as the (formal) analysis of service specifications during run-time, or the prediction of quality attributes. This is considered both from the service provider point of view (e.g., ensuring that the service is running correctly) as well as from the service requestor point of view (e.g., monitoring on whether the agreed quality is delivered). Of course, if quality assurance has uncovered a contract violation, this could also mean that the contracts have to be re-negotiated in order to adapt the service-based application.
In general, to assure the desired quality of a service-based application, two complementary strategies can be employed: constructive and analytical quality assurance. Where the goal of constructive quality assurance is to prevent the introduction of faults (or defects) while the artifacts are created (in the sense of ‘correctness by construction’), the goal of analytical quality assurance is to uncover faults in the artifacts after they have been created. Three major classes of approaches for analytical quality assurance in service-based applications exist: (i) Testing, the goal of which is to (systematically) execute services or service-based applications with predefined inputs in order to uncover failures, (ii) Monitoring, which observes services or service-based applications as well as their context during their current execution, (iii) Static Analysis, the aim of which is to systematically examine (without execution) an artifact (e.g., a service specification) in order to determine certain properties or to ascertain that some predefined properties are met.