Quality-agnostic or quality-aware semantic service descriptions?

C. Cappiello, B. Pernici, P. Plebani

Department of Electronics and Information - Politecnico di Milano
Via Ponzio 34/5 - I-20133 - Milano - Italy
[ cappiello | pernici | plebani ]@elet.polimi.it

Quality of Web services

Quality of Service (QoS), i.e., the extent to which service delivery meets user expectations, is becoming a hot topic even in the Web Service and Workflow literature. According to the Service Oriented Computing (SOC), it might happen that different providers offer either equivalent or similar services. In such a scenario, QoS provides a differentiator among these offerings allowing a user to select the most suitable service on the basis of its QoS requirements. Subsequently, the user may engage into a negotiation process with the provider of the selected service, in order to define the quality level required defining the Service Level Agreement (SLA).

The first critical issue related to the QoS management concerns of the definition and the description the quality dimensions. The definition of QoS dimensions has received a lot of attention during recent years, mostly in the networking [9,10] and the middleware communities [6,19], but few studies deal with end-to-end application QoS requirements or propose dimension taxonomies. Among the others, [3] proposes an integrated framework characterizing the production, transmission and consumption of data through a single media. [15] introduces a taxonomy for QoS specification where metrics and policies represent the primary categories identified: metrics are composed of performance, specifications, security levels, relative importance, while policies are composed of level of service and management policies. In research on Web services, unfortunately, attention is mainly related to a specific context or analyze a specific architectural layer. OWL-S, WSLA, and WSOL, provide some attempts to formalize the description of QoS dimensions. OWL-S [13] provides structures to formalize the dimensions properties and the relationships among them. While former DAML-S proposal contains references to some quality properties, current OWL-S definition considers the description of quality properties in a very generic way. WSLA [17] includes a language for the definition of quality dimensions and low-level metrics, the functional composition of high-level parameters, and the expression of service level objectives, i.e., logical conditions on the parameters. WSOL [16] is suitable for the definition of quality dimensions, their metrics, and quality constraints. Focusing on languages related to the Semantic Web community, other proposals can be considered as well. WSMO [14] provides an ontology for describing various aspects related to Semantic Web Services. Web services are described by functional and non-functional properties. Non-functional properties include some QoS dimensions such as accuracy, coverage, network-related QoS, performance, reliability, robustness, and scalability. Cost, time, and reliability are the only dimensions analyzed in the METEOR-S Project [12] that proposes a framework for the annotation of Web Services.

Orthogonally to the quality definition, the assessment of QoS dimensions represents an important research stream. Here, two main problems arise: (i) the identification of assessment functions and (ii) the aggregation of quality measures required in ca se of a service is derived by the composition of other services. Indeed, the composition of Web Services is a fundamental problem in the Web service literature and few contributions try to address a quality-aware composition. For example, [18] proposes a method to optimize the selection of services along user requirements using a small set of quality dimensions that include execution time, cost, reputation, and availability.

As a conclusion, in all recent proposals, two main approaches are followed: either quality is described as ad-hoc properties or a generic (agnostic) approach to quality description is taken, with quality description is based on external definitions. In the present paper, we propose a general framework for QoS description to be associated to Web Servce to define quality properties as a first class citizens.

A proposal

Extending our first attempt, described in [4], in this paper we want to propose a flexible framework in which the QoS could be expressed in terms of the set of really relevant dimensions and not according to a static set of pre-defined dimension. In fact, the existing approaches listed above usually rely on a limited set of quality dimensions. In more detail, the proposed extension aims at exploiting the Semantic Web potentiality to define our quality model.

Figure 1 - Semantic Quality Model representation

Figure 1 shows our semantic quality model in which two main logical parts can be identified. At the top, a quality dimension is defined, whereas at the bottom, quality dimensions are organized to describe the QoS. A possible formalization of the overall model can be obtained using OWL. Starting from the quality dimension, it can be defined by the following roles:

The second part of our quality model allows defining in which way the service quality can be described according to the quality dimensions previously formalized. First of all, invokes and provides define the relationships among services and users and providers, namely. Actually, before invoking a given service, user and provider should agree on a set of quality dimensions values. Such an agreement results in a contract usually called Service Level Agreement (SLA), where third parties might be involved to monitor the quality dimensions. The following roles aim at supporting this phase:

Once the SLA has been identified, service invocation can take place. At invocation time, focusing on the quality dimensions on which the SLA has the authority, we can operate two different classifications according to (i) their controllability and (ii) their negotiability. About the former, the roles controls and monitors define the set of dimensions modifiable or only monitorable by an actor, namely. On the other hand, a dimension is defined negotiable if in the SLA there are more than one admissible values. In this way, at invocation time, both provider and user could ask to the counterpart to modify the current value to another one included in the admissible values range.

According to the schema presented above, we are creating a model following a bottom up process, i.e., extracting from the deliverables, reports and research papers of the different groups, involved in the MAIS Project, the quality dimensions considered relevant for the specific MAIS levels. Such a process, inspired by the ISO 9126 Software Quality model, results in about 320 censused QoS. Along the classification presented in the previous section, a description of the quality dimensions has been modeled using the OWL language. In the following, as example, the response time is considered and modeled along the concepts described above:

  <owl:Class rdf:ID="QualityDimension" />
  <owl:Class rdf:ID="Service" />
  <owl:Class redf:ID="Function" />
  <owl:Class redf:ID="Metric" />
  <owl:Class redf:ID="Level" />
  
  <owl:ObjectProperty rdf:ID="qualityDefinedBy">
    <rdfs:domain rdf:resource="#Service"/>
    <rdfs:range rdf:resource="#QualityDimension"/>
  </owl:ObjectProperty>

  <owl:ObjectProperty rdf:ID="Calculatedby">
    <rdfs:domain rdf:resource="#QualityDimension" />
    <rdfs:range rdf:resource="#Function" />
  </owl:ObjectProperty>

  <owl:ObjectProperty rdf:ID="hasMetric">
    <rdfs:domain rdf:resource="#QualityDimension" />
    <rdfs:range rdf:resource="#Metric" />
  </owl:ObjectProperty>

  <Function rdf:ID="ResponseTimeFunction" />
  <Metric rdf:ID="ResponseTimeMetric" />

  <owl:DatatypeProperty rdf:ID="msValue">
    <rdfs:domain rdf:resource="#ResponseTimeMetric" />
    <rdfs:range rdf:resource="&xsd;positiveInteger"/>
  </owl:DatatypeProperty>

  <QualityDimension rdf:ID="ResponseTime">
    <Calculatedby rdf:resource="#ResponseTimeFunction" />
    <hasMetric rdf:resource="#ResponseTimeMetric" />
  </QualityDimension >

How to use QoS descriptions of services

The current work is inspired by the MAIS project (Multi-channel Adaptive Information Systems), an Italian project which aims at developing models, methods and tools for the design and implementation of multichannel adaptive information systems that can deliver services over different types of networks and access devices [11]. Here, the service description extended with quality information has been the basis for extending the service selection process in Web service composition, with particular emphasis on the following aspects:
  1. service retrieval: the UDDI registry functionality has been extended in the URBE (Uddi Registry By Example) prototype to select services not only according to their operations and parameters using a domain ontology, but also specifying requested ranges of operation according to a service description by example with quality parameters [2];
  2. negotiation: the service interface has been extended to provide methods for supporting negotiation (e.g., participation in an auction, using WS-coordination as a basis) [5]; user and provider profiles are described using WS-Policy, and automatic negotiation is supported to find the optimal quality values in the requested and provided ranges;
  3. optimization: in composed processes, service selection is performed according to optimization and reoptimization techniques based on linear programming; in composed services both local and global quality constraints are specified [1]. Particular focus has been on quality optimization with multiple quality dimensions and reoptimization criteria.

How to continue

Further research is needed to extend UDDI retrieval functionalities beyond considering ranges of values for qualities. Reasoning is needed to evaluate at which level quality constraints should be considered, when dependencies between quality parameters are defined, in evaluating soft and hard quality constraints, in expressing potential causes of QoS requirements violations, especially in complex service settings, e.g., when services are provided to a large number of requestors at the same time, under critical load conditions, or in presence of general system failures. Evaluation of quality parameters is also needed, to confirm and correct quality properties as specified by the providers, and to provide feedback to requestors.

As a basis for the above mentioned work, a systematic description of quality parameters is needed, defining quality parameters for each level and relationships among them. Some work in this direction has been started on security quality parameters [7], a quality list has been started in the MAIS project, but a systematic approach is still to be defined. Reasoning on quality aspects in supporting service retrieval and selection will be possible only when it will be possible to define quality-aware service description based on a common and agreed framework.

Acknowledgements

Authors would like to thank Mario Arrigoni Neri for his support on the semantic model formalization.
Part of this work has been supported by the Italian MIUR, under FIRB MAIS research grant.

References

[1] D. Ardagna and B. Pernici, QoS Evaluation in Web Service Selection, ICWS poster, 2005.

[2] D. Bianchini, V . De Antonellis, B. Pernici, and P. Plebani, Ontology based methodology for e-service discovery, Journal on Information Systems, in press.

[3] A. Cambpell, C. Aurrecoechea, and L. Hauw, A review of QoS architectures, Proceedings of the 4th IFIP International Workshop on Quality of Service (IWQS '96), Paris, March 1996.

[4] C. Cappiello, P. Missier, B. Pernici, P. Plebani, and C. Batini, QoS in Multichannel IS: the MAIS Approach, Proceedings of the International Workshop on Web Quality (WQ'04) in conjunction with the ICWE 2004, Munich, Germany, July 2004.

[5] M. Comuzzi and B. Pernici, Negotiation Support for Web Service Selection, TES04 Workshop Proceedings, LNCS, Springer, 2004.

[6] S. Frølung and J. Koistinen, QML: A Language for Quality of Service Specification, Technical Report HPL98-10, HP Labs, HP Software Technologies Laboratory, 1998.

[7] L. Kagal, T. Finin, and A. Joshi, A Policy Based Approach to Security for the Semantic Web, Proceedings of Second Int. Semantic Web Conference (ISWC2003), Sanibel Island FL, October 2003.

[8] International Organization for Standardization, ISO 9126, Standard for Software Engineering - Product Quality, http://www.iso.org.

[9] International Telecommunication Union (ITU), Terms and definitions related to quality of service and network performance including dependability, ITU Recommendation E.800 (08/94), 1994.

[10] International Telecommunication Union (ITU),Communications Quality of Service: A framework and definitions, ITU Recommendation G.1000 (11/01), 2001.

[11] MAIS Project Web site http://www.mais-project.it.

[12] METEOR-S Web Site http://lsdis.cs.uga.edu/Projects/METEOR-S/.

[13] The OWL Services Coalition, OWL-S: Semantic Markup for Web Services, http://www.daml.org/services/owl-s/1.0/owl-s.html.

[14] D. Roman, H. Lausen, and U. Keller, Web Service Modeling Ontology (WSMO), 2005. Available on http://www.wsmo.org/TR/d2/v1.1/20050210/.

[15] B. Sabata, S. Chatterjee, M. Davis, J. Sydir, and T. F. Lawrence, Taxomomy of QoS Specifications, Proceedings of the 3rd Workshop on Object-Oriented Real-Time Dependable Systems (WORDS '97), February 1997.

[16] V. Tosic, B. Pagurek, K. Patel, B. Esfandiari, and W. Ma, Management Applications of the Web Service Offerings Language (WSOL), Proceedings of CAiSE 03 (15th International Conference on Advanced Information Systems Engineering), Velden, Austria pp. 468-484, 2003.

[17] WSLA Project Web site http://www.research.ibm.com/wsla.

[18] L. Zeng, B. Benatallah, M. Dumas, J. Kalagnamam, and H. Chang, QoS-Aware Middleware for Web Services Composition, IEEE Transactions on Software Engineering, May 2004.

[19] J.A. Zinky, D. E. Bakken, and R.E. Schantz, Architectural support for quality of services for CORBA Object Systems, Theory and Practice of Object Systems, (3)1, Wiley, 1997.