The Semantic Matchmaker





The World Wide Web is changing. While once conceived of and implemented as a collection of static pages for browsing, it now promises to become a web of services-- a dynamic aggregate of interactive, automated, and intelligent services that interoperate via the Internet. Multiple web services will interoperate to perform tasks, provide information, transact business, and generally take action for users, dynamically and on demand. Such prospects are especially important for the e-business community, providing opportunity for conducting business faster, more efficiently, and with greater ease than ever before. For instance, the opportunity to manage supply chains dynamically to achieve the greatest advantage on the market is expected to increase productivity and add value to products. On the other hand, automatic management of supply chain opens new challenges.

One of the problems posed by the web of services model is the need for a service to match service requestors with service providers, especially when--as in real web-life conditions--services are undiscovered, new, and/or coming and going on a rapid basis.

In these pages, we present our Semantic Matchmaker, an entity that will allow web services to locate other services, provide a solution to the problem of matching, and allow for full implementation of interoperative service providers on the web. Here we introduce DAML-S, a DAML-based language for describoing service capabilities. We show how semantic matching between advertisements and requests is performed.

Semantic Matchmaking for Web Services Discovery

First, we focus on the problem of locating web services on the basis of the capabilities that they provide. The solution to 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 a service description language, because it provides a semantically-based view of of web services, including the abstract description of the capabilities of the service, the specification of the service interaction protocol, and the actual messages that it exchanges with other web services.

The ability of DAML-S to describe the semantics of web services can be contrasted with emerging XML-based standards as connected to 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 use for providing 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. But because UDDI does not represent service capabilities, it is of no help for locating services on the basis of what they provide.

Through the tight connection with DAML+OIL, DAML-S supports our need for semantic representation of services. DAML+OIL allows for subsumption reasoning on concept taxonomies. Furthermore, DAML+OIL allows for 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 describe constraints related to input and output, and also preconditions and effects for planning.

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. 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 for agents that can fulfill the incoming request. Thus, the Matchmaker also serves as a liaison between a service requester and a service provider.

Our DAML-S Matchmaker 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.

A Partial List of Publications on Middle Agents, Matchmakers, and the Semantic Web follows. See Publications page for complete listing.


Copyright 2001 © The Intelligent Software Agents Lab -The Robotics Institute - Carnegie Mellon University

Internal Site (Restricted Access).