• No results found

Description Logic or Subsumption-based Approaches

2.4 Existing Work on Semantic Service Matching

2.4.1 Description Logic or Subsumption-based Approaches

The LARKS (Language for Advertisement and Request for Knowledge Sharing) match- maker is an approach for service matchmaking which was proposed by Sycara et. al. [126, 127]. It provides a combination of syntactic and semantic matching through the use of five different ‘filters’ of matching. The filters progress from simple text analysis for relevance by using word occurrences, to more sophisticated semantic matching which relies on subtype inference rules and concept subsumption. A combination of different filters can be used to obtain different degrees of partial matching, depending on the ac- curacy and efficiency requirements of the user/agent. This work distinguishes between exact, plug-in and relaxed match. LARKS is a service description language which de- scribes capabilities and requirements of service advertisers and requesters in terms of the services’ inputs, outputs and constraints on them. It also allows us to specify domain knowledge by using a local ontology to describe terms used in LARKS descriptions. Although this work overcomes the limitations of exact matching to some extent, no rank- ing is presented other than distinguishing between a relaxed, plug-in and exact match. Though the LARKS description language provides a good base for agent/service descrip- tions by allowing the description of inputs, outputs and constraints on them, it is not expressive enough to express non-functional properties of a service or priorities among them. Thus, the matchmaking process defined does not make use of non-functional properties or their priorities when matching requests and services.

The OWL-S matchmaker (which is built on the LARKS framework) by Paolucci et. al. [101, 100], introduced a matching algorithm to match service advertisements and requests that are described using OWL-S [90] ontology. It matches outputs and inputs of the service advertisement against the outputs and inputs of the service request. The objective is to provide a flexible semantic match between advertisements and requests. The advertisements are classified into one of four categories (exact, plug-in, subsumes and fail), depending on the degree of similarity between the advertisement and the request. The classes indicate the “degree of match” that are organised along a discreet scale indicating the level of match. Subsumption and sub class relationships among the outputs (inputs) of the advertisement and outputs (inputs) of the request are considered here in order to classify the advertisements into one of these classes. Exact matches are matches with equivalent outputs (inputs); Plug-in matches are matches with outputs (inputs) that subsume the request’s outputs (inputs); Subsumes matches have output

4There are advantages and disadvantages in both these approaches which will be discussed later in

(inputs) that are subsumed by the request’s outputs (inputs) and Failed matches are when there is no subsumption relation between the outputs and inputs.

The matching process in this work takes into account only the inputs and outputs of service advertisements and requests and does not consider any other properties/prefer- ences of the advertisement/request. In certain situations it is important to consider the specified property requirements/attributes of a service; for example if a user requests a “web service that gives stock quotes for free”, then it is vital that the price attribute is considered when looking for appropriate services. No ranking is performed in the matching process, although the matches are classified into four classes to indicate the ‘degree of match’ which gives an indication of how ‘good’ a match is.

The approach developed by Jaeger et.al. [70] uses a four stage matching process to match service descriptions described using DAML-S. First, the inputs of the request are compared against those of the advertisements and a rank (or score) is assigned depending on the subsumption relation between the inputs. Then, the outputs are compared and a rank is assigned, depending on the subsumption relation (as in the first stage). This is followed by a comparison of the service category of the request and advertisement to determine the existence of any subsumption relation with respect to some service-classifying ontology. The final stage allows for any user-defined criteria (for example quality rating) to be checked in the service advertisement. The final rank will be determined by aggregating the ranks/results of the individual four stages. The ranking provided in this work is a useful addition to what is offered by previous matching frameworks for DAML-S in [101] and [82].

The use of DAML+OIL for service descriptions was explored by Gonzalez-Castillo et.al. [57], and the applicability of the description logic reasoners, FaCT [69] and Racer [64] for matching has been investigated. A service description ontology was used in which the functionality of services are characterised by using different classes of services (for example Delivery Service class and Sale Service class) and by specifying restrictions over the properties. Service matching is done by considering the classification hierarchy of the service advertisements. When a request R is considered; the equivalent concepts to R, the super-concepts and sub-concepts of R and sub-concepts of direct super-concepts of R for which the intersection is satisfiable, are returned as matches. Whilst the approach has addressed the satisfiability of queries matched to service descriptions, no form of ranking or classifying of matches is provided here in the matchmaking process.

A focus on DL based reasoning techniques was also conducted by Li et.al. [82, 83], who introduced a framework for service matchmaking which uses a DAML-S based ontology and used reasoning to compare ontology based service descriptions. Racer [64] has been used as the DL reasoner to compute the matches for a given request. The matches are classified into one of its five “degrees of match”; namely Exact, PlugIn, Subsume, Intersection and Disjoint by computing the subsumption relationship of the request

description w.r.t. all the advertisement descriptions.

No ranking of advertisements (according to their suitability to satisfy a request) is avail- able in this work, although some understanding of the appropriateness of the advertise- ment could be gained by the “degree of match” class that it has been classified into. Also, there is no distinction between mandatory/optional parameters and no allowance for priority assignments to the preferences of the request. Where there are numerical values involved in the attributes, crisp or exact boundaries are considered for reasoning and fuzzy boundaries are not considered.