Use Case - Service Composition (UMCP MIND Lab)

Below I offer a couple of scenarios, evidence for implementibility 
and impact on Chor based for a use case in which services are 
composed from existing services (without pre-arrangement on the parts 
of the service suppliers).  Details of the work I base these on is in 
the paper
	http://www.mindswap.org/papers/composition.pdf
and is demoable (outside firewalls) in a demo called "composition" 
which can be found at http://www.mindswap.org/demos/.


1 - Short use case descriptions:

... suppose a small business which sells little gift boxes full of 
candies for Valentine's Day wants to buy a hundred gross of chocolate 
hearts and a hundred gross of candy canes, and ship them both to a 
plant in Toronto by Jan 15 for packaging. We can find vendors of 
hearts, vendors of candy canes, and lots of shippers - but no one 
service that can do all three. Essentially, we are composing one new 
service (the candycane-chocolate-shipping service) out of three 
others.  ...  Further, Semantic Web applications can then be used to 
analyze ways to reach the goal we need by putting services together 
in an efficient and effective means (e.g. shipping chocolate requires 
refrigeration, so merging additional information about chocolate 
helps ensure effective delivery). Although complex service 
composition is still very much a research issue, basic composition, 
done by reasoning about the inputs and outputs of the various 
services, is already doable using existing Semantic Web tools.

(the above is a slightly edited scenario taken from: Hendler, 
Berners-Lee, and Miller "Integrating Applications on the Semantic 
Web," Journal of the Institute of Electrical Engineers of Japan, Vol 
122(10), October, 2002, p. 676-680 - English translation available 
at: http://www.w3.org/2002/07/swint)

More complex examples include military applications which need to 
take the outputs of a set of sensors, send them to appropriate 
processors, and then fuse the results and route to a commander. 
Another would be  taking inputs in one natural langauge, translating 
to another, feeding to a service which produces an output string, and 
passing that output string to some other service which uses it for 
e-commerce.  For example, the system described below can compose a 
service that will take a book title in English, use Babelfish to 
translate it to a foreign langauge, pass the foreign string to the 
ISBN finder service (thus finding the ISBN of the foreign language 
version of the text), and passing that ISBN on to the Amazon web 
service which will produce the price of the book.  The "composed" 
service can then be automatically saved to become a "foreign book 
pricing" service.   (Which could then be in turn composed with a 
currency converter, an overseas shipping service, etc.)

2 - evidence for implementability

In a joint project with Fujitsu Laboratories of American, College 
Park the University of Maryland has focused on the semi-automated 
composition of Web services via the use of Semantic Web technologies. 
Our work is built on top of the DAML Service (DAML-S) ontologies. 
DAML-S provides a semantic description of a Web service with three 
components. The "service profile" describes what the service does by 
specifying the input and output types, preconditions, and effects. 
The "process model" describes how the service works; each service is 
either an AtomicProcess that is executed directly or a 
CompositeProcess that is a combination of other subprocesses. The 
"grounding" contains the details of how an agent can access a service 
by specifying a communications protocol, parameters to be used in the 
protocol, and the serialization techniques to be employed for the 
communication. Work to date has demonstrated the grounding of DAML-S 
in both the Web service Description Language  and the Universal Plug 
and Play  device service description. This latter is particularly 
important, as it provides an integration of Web services with 
computing on devices such as personal digital assistants (PDAs) and 
data tablets.

The composer creates a workflow of services that can solve the user's 
need in a goal-driven way. The system is also extensible -- any 
composition generated by the user and the system can be automatically 
realized as a DAML-S CompositeProcess, allowing it to be reused at a 
later time or used by the system for composition with other services.


3. Impact for work of WS Chor WG

We believe the output of such a composer should be represented as a 
Choreography that expresses the composition (what inputs are mapped 
to what outputs, what order services are called in, where the 
"groundings" of the services in the choreography can be found).  This 
has two advantages, first the composed service choreography is 
"external" in the sense that the services composed can be treated as 
"black boxes" by the choreography -- only the interface and 
description of the composed service needs to be exposed.  Second, the 
same sort of choreography can be used against other service-based 
systems such as the Open Grid Services Architecture (OGSA), device 
and sensor services in UPnP and other such proprietary device 
languages, and specialized service architectures like the proposed 
"US Joint Battlespace Infosphere" a current Air Froce project in 
interoperability technology and other such defense or government 
architectures which run variants of current web services.
(note: designing a language specifically for these non-Web-service 
architectures is clearly out-of-scope for this group, but if our 
proposed solution will work in full or part for these other 
architectures, it would be a good benefit).


-- 
Professor James Hendler				  hendler@cs.umd.edu
Director, Semantic Web and Agent Technologies	  301-405-2696
Maryland Information and Network Dynamics Lab.	  301-405-6707 (Fax)
Univ of Maryland, College Park, MD 20742	  240-731-3822 (Cell)
http://www.cs.umd.edu/users/hendler

Received on Monday, 31 March 2003 20:16:52 UTC