by Dimitrios Skoutas, Alkis Simitsis and Timos Sellis
Scientists from the National Technical University of Athens and the IBM Almaden Research Centre are proposing a novel infrastructure for ranking and selecting Web services using semantic Web technology. This approach uses the measures of recall and precision to evaluate the similarity between requested and provided services and expresses that similarity as a continuous value in the range of 0 to 1.
Service-oriented architectures constitute a key technology for providing interoperability among heterogeneous systems, and integrating inter-organisation applications in a loosely coupled fashion. Due to their increasing popularity and adoption and the widening availability of Web services, the problem of effectively and efficiently discovering and selecting appropriate services to meet specific user or application requirements or to compose complex workflow processes becomes a critical issue. On the other hand, the semantic Web is now enhancing the current Web with machine-processable metadata, giving formal and explicit meaning to information and thus making it processable not only by humans but also by software agents.
Our approach aims at the discovery and selection of appropriate advertised services that match a requested service by combining techniques from both the aforementioned areas. Figure 1 depicts a high-level overview of the individual steps sequentially numbered in the figure that are required in such a process. In the remainder of the article, we elaborate on the semantic matching.
UDDI provides syntactic interoperability and a classification scheme to describe service functionality. However, its support for semantics is limited, affecting the recall and precision of the obtained results. Several initiatives exist for the purpose of semantically enriching the descriptions of Web services (OWL-S, WSDL-S, WSMO), so that a high degree of automation can be achieved in performing fundamental tasks such as service discovery and composition. Hence, services are described in terms of their input and output parameters, preconditions and effects. Each parameter is semantically annotated using terms in a corresponding OWL (Web Ontology Language) domain ontology. A service description may also contain non-functional parameters regarding quality-of-service (QoS) aspects.
The process of matching semantic Web services is essentially based on the use of logic inference to check for equivalence or subsumption relationships between the ontology classes that correspond to the parameters in the service descriptions. Typically, five types of match are identified: exact, if the request is equivalent to the advertisement; plug-in, if the request is subsumed by the advertisement; subsume, if the request subsumes the advertisement; intersection, if the intersection of the request and the advertisement is satisfiable; and disjoint, otherwise.
Ranking Discovered Services
The ability of a search engine to rank the returned results is essential for two reasons. First, given that exact matches are often rare, and there is potentially a huge number of partial matches, ranking facilitates the location of the most suitable candidates. Second, users often do not have sufficiently clear information needs. Thus, consequent searches may be performed, and the ranking of intermediate results provides useful feedback for refining the search criteria until converging to a search that retrieves the final item(s).
We consider the following desiderata for a ranking mechanism for Web services:
- the notion of similarity should be based on assessing the semantic similarity between the request and service parameters, including inputs, outputs, preconditions, and effects
- the similarity function should be asymmetric, so as to distinguish whether the service capabilities are a superset or a subset of those requested
- the similarity function should consider the semantic information encoded in the domain ontology, including both the class hierarchy and the properties of classes, as well as restrictions specified on these properties, so that the higher expressiveness of OWL ontologies can be exploited
- the ranking mechanism should be flexible and customizable, and be able to adapt to specific application needs or user requirements and preferences.
We use the notions of recall and precision to assess the similarity between requested and provided services. Similar to existing works, the proposed discovery mechanism uses the available semantic information provided by the domain ontology, and performs logic inference to estimate the degree of match between the requested and offered capabilities. However, the degree of match is not expressed in a discrete scale, such as the five types of match discussed above, but as a continuous value in the range [0..1]. This allows the handling of cases where a large number of candidate services provide the same type of match, ie partial matches can be appropriately ranked. Moreover, using these two measures provides an intuitive way of capturing asymmetry in the matching. Essentially, this encourages advertisers to be honest with their descriptions: the service provider is obliged to strike a balance between these two factors in order to achieve a high rank. Ranking exploits the semantic information encoded both in the class hierarchy and the properties of the classes, including hierarchy of properties and value or cardinality restrictions. It is thus useful for both applications relying on taxonomies and those employing more expressive ontologies.
Finally, the proposed ranking mechanism is flexible and customizable, allowing the consideration of user preferences. The user may determine the relative importance of each search parameter, and apart from presenting a single rank for each candidate service, more detailed results may also be provided (eg separate values for recall and precision or the degree of match for specific parameters). This aids the user in identifying the most suitable service or refining the search criteria.
Prototype Implementation and Future Work
Our approach is complemented by a prototype implementation based on Jena, a Java framework for building semantic Web applications, and Pellet, an open-source OWL-DL reasoner. While currently only functional service parameters are considered, in the near future the ranking mechanism will also support QoS parameters. Another scheduled extension involves the facilitation of service composition and the ranking of composite services.
National Technical University of Athens, Greece
Tel: +30 210 7721436