DAML-S Service Matchmaking System


Introduction

The web is moving from being a collection of pages toward a collection of services that interoperate through the Internet. Web services provide a new model of the Web in which sites exchange dynamic information on demand. This change is especially important for the e-business community, because it provides an opportunity to conduct business faster and more efficiently. Indeed, the opportunity to manage supply chains dynamically to achieve the greatest advantage on the market is expected to create great value added and increase productivity. On the other hand, automatic management of supply chain opens new challenges.

In this site, we present our semantic matchmaker, where web services should locate other services that provide a solution to their problems. Here we show DAML-S, a DAML-based language for service description to describe service capabilities, and how a semantic match between advertisements and requests is performed. Note: this site is optimized for Internet Explorer 4.0 or later.

Semantic Matchmaking for Web Services Discovery

Firstly, we concentrate on the location of web services on the basis of the capabilities that they provide. The solution of this problem requires a language to express the capabilities of services, and the specification of a matching algorithm between service advertisements and service requests that recognizes when a request matches an advertisement. We adopt DAML-S as service description language because it provides a semantically based view of of web services which spans from the abstract description of the capabilities of the service to the specification of the service interaction protocol, to the actual messages that it exchanges with other web services.

DAML-S ability to describe the semantics of web services is in contrast with emerging XML based standards related with web services. Standards such as SOAP and WSDL are designed to provide descriptions of message transport mechanisms, and for describing the interface used by each service. However, neither SOAP nor WSDL are of any help for the automatic location of web services on the basis of their capabilities. Another emerging XML based standard is UDDI. It provides a registry of businesses and web services. UDDI describes businesses by their physical attributes such as name, address and the services that they provide. In addition, UDDI descriptions are augmented by a set of attributes, called TModels, which describe additional features such as the classification of services within taxonomies such as NAICS. Because UDDI does not represent service capabilities, it is of no help to search for services on the basis of what they provide.

DAML-S supports our need for semantic representation of services through its tight connection with DAML+OIL. DAML+OIL supports subsumption reasoning on taxonomies of concepts. Furthermore, DAML+OIL allows the definition of relations between concepts. The main limitation of DAML+OIL is its lack of a definition of rules and an associated reasoner. Therefore, I coupled DAML-S with RuleML. RuleML can supports to describe constraints related to input and output, and also preconditions and effects for planning perspective.

The matchmaker is also a web service that helps make connections between service requester and service provider. The matchmaker serves as a "yellow pages" of service capabilities. The matchmaker system allows users and/or software agents to find each other by providing a mechanism for registering service capabilities. A registration information is stored as an advertisement. When the matchmaker agent receives a query from a user or another software agent, it searches its dynamic database of advertisements that can fulfill the incoming request. The matchmaker thus serves as a liaison between a service requester and a service provider.

Our matchmaker utilizing DAML-S employs techniques from information retrieval, AI, and software engineering to compute the syntactical and semantic similarity among service capability descriptions. The matching engine of the matchmaking system contains five different filters for namespace comparison, word frequency comparison, ontology similarity matching, ontology subsumption matching, and constraint matching. The user configures these filters to achieve the desired tradeoff between performance and matching quality.

In this site, we show actual DAML-S profiles to some detail. Then, we will present a matching algorithm between advertisements and requests described in DAML-S that recognizes various degrees of matching. We will show how DAML-S and an implemented version of the matching algorithm are used to provide capability matching to the UDDI registry.


Copyright 2002 © The Intelligent Software Agents Group The Robotics Institute Carnegie Mellon University
We welcome your comments and suggestions.