language called SPATEL (SPice Advanced service description language for TELe-
communication services) [4]. This language allows the specification of services in a
platform independent manner, including annotations concerning semantic and non-
functional properties. Such annotations are imperative in the context of automatic
service composition.
One of the activities of the SPICE project is the development of an Automatic
Composition Engine (ACE), which should support end-users and application design-
ers on the development of service compositions. The ACE is expected to receive
either service requests from end-users in natural language, or from the application
designers in some well-defined notation, and deliver a service composition or a list of
alternative compositions, respectively. This paper discusses our ideas concerning the
automatic service composition algorithm. Our approach relies on the use of semantic
annotations on the atomic services, and on service requests, to perform the service
discovery, matching and composition. We define our approach as a semantic graph-
based automatic composition, where discovered services are represented in a graph,
which is used to optimize the search of component services and their composition.
The paper is further organized as follows: section 2 provides some motivation for
our work, including a motivating example of application of automatic service compo-
sition; section 3 gives an overview of the SPICE Automatic Composition Engine;
section 4 presents our initial approach towards the algorithm for automatic service
composition; section 5 compares our approach with some related work; and section 6
presents our conclusions and depicts directions for future work.
2 Automatic Service Composition
Automatic service composition aims at automatically composing services that satisfy
a given service request from an end-user or service developer. Services are composed
in terms of already available atomic services, which are orchestrated in the service
composition.
Service requests are used for service discovery, matching and composition. Service
requests allow end-users or service developers to specify what they want the service
to do for them, abstracting from the way this service is implemented, possibly in
terms of a composition of atomic services. In SPICE we are developing the Service
Creation Environment, which should create service compositions that support the
service requested by an end-user. In order to obtain these compositions automatically,
the service request and service descriptions of atomic and composite services need to
be annotated with semantics, by using ontologies. Web services [2] are basic building
blocks for the realization of services, but they lack semantics. Semantic Web [5] is an
effort that provides service descriptions with semantics, which enables automatic
reasoning on these descriptions. OWL-S [6] and SPATEL [4] allow the definition and
creation of semantic annotated (web) services, using ontologies. These technologies
are expected to enable automatic service composition.
A scenario to illustrate automatic service composition is the following: Bob wants
to send a happy birthday message in Italian to Monica by SMS. He does not speak
Italian so he has to use a dictionary in order to be able to write the message. Imagin-
66