On Modelling Non-Functional Properties of Semantic Web Services

On Modelling Non-Functional Properties of Semantic Web Services

Ioan Toma (University of Innsbruck, Austria), Flavio De Paoli (Universita degli studi di Milano – Bicocca, Italy) and Dieter Fensel (University of Innsbruck, Austria)
DOI: 10.4018/978-1-61350-432-1.ch004


Service-Oriented Architectures (SOAs) are a widespread solution for realizing distributed applications. Empowered by semantic technologies these architectures will evolve in what is known as Semantically Enabled Service Oriented Architectures (SESAs) providing automatic support for various service related tasks such as discovery, ranking, composition, etc. Services are the core building blocks of both SOA- and SESA- based systems and therefore modelling various aspects of services becomes a fundamental challenge to any enterprise building SOA solutions. Among these aspects, non-functional properties of a service need to be addressed given the high dynamism of any SOA-based system. Non-functional properties descriptions are highly relevant for many of the service related tasks such as discovery, ranking, selection, and negotiation. This chapter investigates several research problems which arise in the area of Semantic Web services, namely how to describe non-functional properties of services, what models are required, and what is the proper language support for describing Non-functional Properties. Our solution was developed, and is part of the Web Service Modelling Ontology, one of the major initiatives in Semantic Web services area. We present a comprehensive set of ontological models for non-functional properties, our approach to attach non-functional properties descriptions to services, and the language support needed to formalize non-functional properties descriptions.
Chapter Preview


Built on current Web services technologies, such as WSDL (Christensen et al., 2001), SOAP (W3C, 2003) and UDDI (Bellwood et al., 2002), Semantic Web services provide a new level of automation for service related tasks such as: discovery, ranking, composition, selection, negotiation or invocation. Both technologies, Web services as well as their extension into semantics, consider services as fundamental, core entities. The way services are described is crucial for the successful realization of all previous mentioned service related tasks.

Three different aspects must be considered when talking about services: (1) functional, (2) behavioural and (3) non-functional aspects. The functional description contains the formal specification of what exactly a service can do. The behavioural description is about how the functionality of the service can be achieved in terms of the interaction with the service and in terms of the functionality required from other Web services. Finally, the non-functional descriptions capture constraints over the previous two (Chung, 1991). For example, in case the case of a train booking service, invoking its functionality (booking a train ticket) might be constrained by using a secure connection (security as non-functional property) or by actually performing the invocation of the services at certain point in time (temporal availability as non-functional property).

Among the three aspects of a service description, the functional and behavioural aspects are the most investigated aspects so far ((Keller et al., 2006), (Ye & Chen, 2006), (Preist, 2004)). Although the third aspect, non-functional properties, has not captured a comparatively very broad attention from the Web service research community its importance is wildly acknowledged ((Paoli et al., 2008), (Rosenberg et al., 2008), (Menasce´, 2002)). This is due to their high relevance for all service related tasks. It is easy to imagine a scenario in which services that can fulfil a user request and that provide basically the same functionality are selected based on some non-functional properties like price or performance.

The lack of support in terms of languages, methodologies and tools for non-functional properties might be due to various factors ((Eenoo et al., 2005), (Rosa et al., 2002)):

  • In most of the cases there is no clear delimitation between the functional and non- functional aspects of a service.

  • Often non-functional properties are considered to be represented after the functional and behavioural have been described. Most service description frameworks focus on the first two aspects (i.e. functional and behavioural) given less attention to the description of non-functional properties of services.

  • Non-functional properties are often contradictory, thus being difficult to represent and engineer. A typical example is the relation between performance and security. More advanced security features require more computational power that results into a decrease of performance.

  • It is difficult to formalize non-functional properties due to their complex models.

  • Non-functional properties are more dynamic and dependent on many factors such context/environment.

The problem that we address in this book chapter is how to model such properties of Semantic Web services and how to attach them to service descriptions. We aim to provide language support to semantically describe these properties, which will enable reasoning over them.

Key Terms in this Chapter

Web Service Modelling Language: A formal language for describing ontologies, goals, Web services and mediators.

Web Service Modelling Ontology: WSMO provides an overall framework for Semantic Web services that aims at supporting automated Web service discovery, selection, composition, mediation, execution, monitoring, etc.

Goals: Are descriptions of the objectives a requestor may have when consulting a service in terms of functionality, behaviour or non-functional properties.

Mediators: Address the heterogeneity problem that occurs between descriptions at different levels including data, protocol and process level.

Web Services: are descriptions of services that are requested by service requesters, provided by service providers, and agreed between service providers and requestors.

Ontologies: Formal explicit specifications of shared conceptualizations. They define a common agreed upon terminology in terms of concepts and relationships among concept instances.

Complete Chapter List

Search this Book: