A Question about Agent-based Service Discovery/Selection

Hi,

I'm a newcomer to the area of Web Services, and I've recently started 
investigating the current research into how services are discovered, 
and a particular one selected that suits the user's (or application's) 
needs. I'm interested in how these procedures can be done automatically 
by some agent-like software entity.

I've read quite a few position-style papers (e.g. Semantic Web 
Services, McIlraith et al, IEEE Intelligent Systems, 2001), which 
advocate describing and advertising services using semantic richer 
descriptions written in DAML+OIL and OWL. The argument is given that 
these richer descriptions will be more amenable to automated 
manipulation and reasoning than those currently provided by discovery 
mechanisms such as UDDI.

However, from reading these papers, I am slightly confused by a basic 
issue. Let's consider an example given in McIlraith et al's paper: .. 
"A user might say, for example, "Find a service that sells airline 
tickets between San Francisco and Toronto and that accepts payment by 
Diner's Club credit card"". I assume that with the 
agent-OWL-description approach, this problem would be solved by an 
agent reasoning over the semantic markup of the available services, 
identifying those that meet the user's constraints.

However, in order for the agent to book a ticket automatically from a 
service, it must be able to communicate with it: it must know and 
understand the service's interface (specified, say, in WSDL). So, my 
question is this - for problems like the example above, before any 
reasoning can be done to ensure we meet user constraints, is the 
service search-space first narrowed down to only those services that 
implement a WSDL (communications) interface understood by the agent?

For example, in solving the problem above:

- Assume that a standard BookAirlineTicket WSDL interface has been 
defined. Lots of airline ticket services export this interface.
- Assume that the user's agent knows and understands the 
BookAirlineTicket interface (it could communicate with a 
BookAirlineTicket service)
- In solving the problem, the agent first narrows its search to those 
advertised services that export the BookAirlineTicket interface
- The agent then reasons over the identified BookAirlineTicket 
services' descriptions, and identifies those that meet the user's 
constraints.
- The agent then offers these matched services to the user, or books 
the ticket itself.

Basically, in order for a service to be discovered, selected and used 
automatically, do we not require an initial search-space constraining 
step based on the notion of known / previously-defined service function 
interfaces?

Apologies for writing such a long email for such a basic question!

Thanks in advance

Gregory Huczynski
Department of Computing Science
University of Glasgow

Received on Friday, 5 March 2004 07:34:25 UTC