<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>SWSCE - An Automatic Semantic Web Service Composition Engine</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>S. Bonomi</string-name>
          <email>bonomi@dis.uniroma1.it</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>V. Colaianni</string-name>
          <email>colaianni@dis.uniroma1.it</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>F. Patrizi</string-name>
          <email>patrizi@dis.uniroma1.it</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>D. Pozzi</string-name>
          <email>pozzi@dis.uniroma1.it</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>R. Russo</string-name>
          <email>russo@dis.uniroma1.it</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>M. Mecella</string-name>
          <email>mecella@dis.uniroma1.it</email>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Universitaμ di Roma</institution>
          ,
          <addr-line>Dipartimento di Informatica e Sistemistica Via Ariosto 25, 00185 Roma</addr-line>
          ,
          <country country="IT">ITALY</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In several scenarios, Semantic Web technologies are gaining momentum as the most promising ones to address the issue of integrating services among di®erent entities, possibly belonging to di®erent location. In particular, Semantic Web Service composition can be used when no individual available service can satisfy a speci¯c client request, but (parts of) available services can be composed and orchestrated in order to do it. In this paper we describe SWSCE, a Semantic Web Service Composition Engine, able to automatically performs the composition of Semantic Web Services.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. INTRODUCTION</title>
      <p>The promise of Web services is to enable the composition
of new distributed applications/solutions: when no available
service can satisfy a client request, (parts of) available
services can be composed and orchestrated in order to do it.
Service composition involves two di®erent issues: the
synthesis, in order to synthesize, either manually or
automatically, a speci¯cation of how coordinating the component
services to ful¯ll client requests, and the orchestration, i.e.,
how executing the previous obtained speci¯cation by
suitably supervising and monitoring both the control °ow and
the data °ow among the involved services.</p>
      <p>Typically, a client continuously interacts with the Web
service by asking for something (i.e., the execution of some
action returning information to the client), waiting for the
reply from the Web service and then asking again until the
client reaches its satisfaction. After each step, the client can
choose the next operation to invoke among the ones that
the service allows at that point of the interaction. All these
operations and the constraints on their invocation represent
the behavior of the service and are described in the exported
service as semantic description. In particular, the behavioral
schema describes all the possible sequences of actions that
characterize the service execution, and a conversation is a
sequence of invocations of operations in a particular order
satisfying the constraints imposed by the schema.
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that copies
bear this notice and the full citation on the first page. To copy otherwise, to
republish, to post on servers or to redistribute to lists, requires prior specific
permission and/or a fee.</p>
      <p>Copyright 200X ACM X-XXXXX-XX-X/XX/XX ...$5.00.</p>
      <p>In order to represent the behavioral schema it is possible
to use a transition system (TS). It is identi¯ed by (i) the set
of actions that the Web service is able to perform, (ii) the set
of states that the interaction with the service passes through,
(iii) the initial state and ¯nal states of the interaction and
(iv) the transition relation, which describes state changes as
result of action executions. Note that a ¯nal state is a state
where the client can either ask for another action (moving to
another state) or safely stop the interaction with the service.
We assume the initial state is always ¯nal, so to allow the
client to not even start the interaction.</p>
      <p>
        Figure 1 depicts an example of the conversation model we
adopt [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. A typical interaction is as follows. The Pay Taxes
Service is composed by two states S0, that is an initial and
¯nal state, and S1 that is a ¯nal state. The actions that the
client can ask for are three: (i) provideAnagraphicDetail
with which the client provides to the service its data and
moves from state S0 to state S1, (ii) provideBankAccount
with which the client provides to the service its bank account
information and moves from state S0 to state S1 and (iii)
payTaxes with which the client pays the amount of the tax
and he goes back to S0 from S1.
      </p>
      <p>In some cases a client would like to interact with a non
existing Web Service. Nonetheless, a suitable combination
of available services (component services) may satisfy the
client's needs. We refer to the service obtained as
combination of other ones as target Web service, and the process of
building the target Web service as composition. The
interesting challenge is how to make all of this in an automatic
way.</p>
      <p>Semantic Web technologies, such as OWL/OWL-S 1 and
WSMF 2 allow the description of the semantics of
entities, including Web services, in a machine-processable
format based on XML, and therefore give the right solution</p>
      <sec id="sec-1-1">
        <title>1http://www.w3.org/Submission/OWL-S/</title>
        <p>
          2D. Fensel, C. Bussler: The Web Service Modeling
Framework { WSMF.
http://www.swsi.org/resources/wsmfpaper.pdf
for expressing the behavioral schema of a Web service, by
enabling its use in possible compositions. In particular, in
WSMF, the behavior of a service is natively represented as a
TS and therefore Semantic Web services (SWSs) expressed
according to WSMF are well suited to be composed
according to the techniques presented in [
          <xref ref-type="bibr" rid="ref2 ref5">2, 5</xref>
          ].
        </p>
        <p>The contribution of this paper is to present a tool, namely
SWSCE { Semantic Web Service Composition Engine, able
to perform automatic composition of SWSs. In particular
the description of the implementation of the tool is the main
focus of the paper. The paper is organized as follows: in
Section 2 the semantic composition engine is described; in
particular Section 2.1 describes its architecture, Section 2.2
underlines issues related to automatic composition and
Section 2.3 shows the tool functionalities through a practical
case. Section 3 presents a discussion on the state of the art,
and ¯nally Section 4 concludes the paper. At the end
Appendix A provides some background information on WSMF,
whereas Appendix B shows some code snippets about the
running example presented throughout the paper.</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2. SEMANTIC WEB SERVICE COMPOSI</title>
    </sec>
    <sec id="sec-3">
      <title>TION ENGINE (SWSCE)</title>
      <p>The Semantic Web Service Composition Engine (SWSCE)
is a tool to perform automatic composition of SWSs and it
can be used during the design phase of new services. In our
model, in order to compose existing (available) services, we
need to perform the following steps:
- selecting some services from the available ones;
- de¯ning a target service which represents the new
service satisfying the user needs;
- executing the composition algorithm and, if successful,
create a new SWS.</p>
      <p>
        In its current implementation, the tool works using
services described with WSML { Web Service Modeling
Language [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Some background information on WSML and
other elements in WSMF can be found in Appendix A. In
this section we will show the architecture of our tool and we
will explain its working through a case study.
2.1
      </p>
    </sec>
    <sec id="sec-4">
      <title>SWSCE: Architecture</title>
      <p>In Figure 2 the SWSCE architecture is shown. SWSCE
consists of three main blocks: (i) the User Interface, (ii) the
Core Engine and (iii) the Repository Manager.</p>
      <p>The User Interface makes available the composition
engine to the end user by mean of a user friendly interface.
In the current implementation, SWSCE is developed as a
WSMO Studio 3 plug-in using the JFace/SWT library.
Actually it appears as a button inside the WSMO Studio and it
guides the developer in the composition process as a wizard.</p>
      <p>The Core Engine realizes all the logic needed to perform
the computation. This component can be further divided
into sub-blocks, namely the Composition Algorithm, the
Knowledge Base Manager and the Parser.</p>
      <p>The Composition Algorithm. This component is the one
responsible to perform the composition. The reasoner that</p>
      <sec id="sec-4-1">
        <title>3http://www.wsmostudio.org/</title>
        <p>e
c
a
f
r
e
t
n
I
r
e
s
U</p>
        <sec id="sec-4-1-1">
          <title>Composition Algorithm</title>
        </sec>
        <sec id="sec-4-1-2">
          <title>Knowledge</title>
        </sec>
        <sec id="sec-4-1-3">
          <title>Base Manager</title>
        </sec>
        <sec id="sec-4-1-4">
          <title>Parser</title>
          <p>Core Engine</p>
          <p>Repository Manager</p>
          <p>
            Repository
actually perform the calculation of the composition is TLV.
TLV (Temporal Logic Veri¯er) [
            <xref ref-type="bibr" rid="ref21">21</xref>
            ] is a computer aided
veri¯cation/synthesis system for temporal logic speci¯cations
[
            <xref ref-type="bibr" rid="ref19 ref20">19, 20</xref>
            ]. For a formal description of the simulation-based
composition algorithm, we refer to [
            <xref ref-type="bibr" rid="ref22 ref4">4, 22</xref>
            ], where theoretical
bases to address the composition problem, along with some
extensions, are built.
          </p>
          <p>The ¯rst step is to calculate an object called
Community TS. The Community TS is the TS that represents the
behavior of the whole community (i.e., set of available
services which are candidate for the composition). It can be
seen as a global view of the community. Each state of the
Community TS is a tuple in which are encoded the states
of each available service of the community. Of course the
initial state of this TS is represented by all the initial states
of the available services. The community TS can execute a
transition i® there exists one service of the community that
can do that, and so it moves to the next state according to
the transition performed by such a service.</p>
          <p>This object is exponential in the size of the TSs of the
available services, in fact we have to combine all states of
the available services. TLV indeed e±ciently realizes such
cartesian product of the available services.</p>
          <p>Then TLV checks the existence of a simulation relation
between the Community TS and the target. The simulation
relation is a relation on the states of two TSs. By de¯nition
two states a,b of two TSs are in simulation relation when (i)
if a is ¯nal, then b is ¯nal; (ii) if a can make a transition
to a0, then also b can make such a transition to b0, with the
same action; (iii) a0 and b0 are still in a simulation relation.
Particular relevant is the concept of maximum simulation:
the initial state of the target TS is simulated by the initial
state of the Community TS. A composition of the services
in the community realizes the target service i® the target is
simulated by the TS of the community.</p>
          <p>Last step of TLV is the extraction of an Orchestrator
Generator (OG) from the maximal simulation. Let's have the
target service simulated by the Community TS, the
orchestrator generator is a TS where: (i) the states are tuples
including Community TS's as well as target service's state,
of course the initial state of the OG is the situation where
both target and available services are in their initial state;
(ii) for each transition of the OG we have the service
selection function that gives the information on which services
can execute that transition. Therefore the OG is a TS that,
at each point, given an action that the client may request,
according to the target service behavior, gives back the set
of index of services of the community that can execute the
required action.</p>
          <p>
            As an alternative to TLV, a Description Logic Reasoner
can be used [
            <xref ref-type="bibr" rid="ref1">1</xref>
            ]. In order to generate an orchestration, we
need to have a representation of the composition output.
The PDL approach [
            <xref ref-type="bibr" rid="ref2">2</xref>
            ] consists in writing a big Propositional
Dynamic Logic (PDL) formula that represents the required
target behavior. In this formula, we encode the behavior of
the services, both available ones and target, and the
constraints that have to be satis¯ed in order to guarantee that
the service we are going to synthesize will be correct.
Moreover the satis¯ability of this formula is checked, and in the
positive case a TS is built.
          </p>
          <p>
            Thanks to the correspondence [
            <xref ref-type="bibr" rid="ref23">23</xref>
            ] between PDL and
Description Logic (DL) we can use a DL Reasoner to obtain
the model of the PDL formula, i.e., the composition TS. At
the state of the art there are some very e±cient tools such
as Racer Pro 4, Fact++ 5, and Pellet 6. Unfortunately, the
former two are not useful for our aims, as they can check
formulas for satis¯ability but return no formula's model, if
any, which is the basic structure to extract an actual
solution. Pellet provides such a model but it is incomplete: it
misses some basic information for extracting a composition.
This is due to many optimization techniques that the tool
implements. In our experimentation of Pellet, we tried to
disable this option in order to make a trade o® by having
less performance but more information. The result was a
big downgrade of performances while information were still
missing .
          </p>
          <p>
            For a proof of concept, we implemented our own DL
Reasoner, namely ESC (E-Service Composer) [
            <xref ref-type="bibr" rid="ref1">1</xref>
            ]. ESC provides
a good model, usable for the composition, indeed it gives the
composition of the target as a Mealy TS. Issues with ESC
are that: (i) it is still a prototype, it lacks all optimization
techniques the other tools have, and it isn't very stable; (ii)
it deals only with deterministic services, that are, services
with a deterministic behavior, modeled with a deterministic
TS. Indeed ESC checks the satis¯ability of DPDL
(Deterministic PDL) that is a subset of PDL.
          </p>
          <p>TLV instead supports the composition of non
deterministic available services, and provides good performance with
stability. In Table 1 we show the results of some tests
performed on various reasoners. The second column "# states"
shows the sum of all the states of the target and the available
services' TSs. This is a critical parameter for the
composition algorithm; in fact when the number of states grows, we
get problems. As shown in Test 2, the model returned by
the Pellet lacks some of important features. Increasing the
number of states, as shown in Test 3, Pellet crashes
saturating all the Java memory heap without ¯nding a solution.
ESC instead works good with test 2, but crashes with test
3 saturating the Java memory heap.</p>
          <p>The Knowledge Base Manager. This is the component
responsible for preparing TLV input and extracts a
composition from the Orchestrator Generator. The input is a set of
4http://www.racer-systems.com/
5http://owl.man.ac.uk/factplusplus/
6http://pellet.owldl.org/
# states
9
15
20</p>
          <p>Pellet</p>
          <p>ok
incomplete
out of memory</p>
          <p>ESC
ok
ok
out of memory
TSs representing service behaviors, written in an XML ad
hoc, namely WSTSL (Web Service Transition System
Language).</p>
          <p>TLV needs that the formulation of the problem is encoded
into the SMV language. We encode the TSs of the services
(target and available one) into SMV modules mutually
interconnected through some shared variables. All modules
represent TSs. Synchronization among modules,i.e., the TSs
they represent, is realized by using some shared variables
that allow to exchange relevant information. In order that
everything evolves in a correct way we add some constrains
in temporal logic; in particular we de¯ne a failure assertion
in each available module if (i) it is requested to one
available service to perform a transition that does not exist in
that TS, and (ii) whenever the target service reaches a
¯nal state, available ones are not in their ¯nal states. In the
main module we de¯ne an invariant property good, which
corresponds exactly to the negation of failure. TLV, then,
tries to synthesize a strategy (or orchestrator, or controller)
for the problem that forces the execution to evolve in a way
such that
1. no available system generates a failure;
2. the target service being in a ¯nal state implies each
available service being in a ¯nal state too.</p>
          <p>Once the OG is obtained, we easily extract from it one
composition, choosing one service index from the set
proposed by the OG. The composition is saved into a WSTSL
document, that represents the TS of the composition, ready
to be parsed for the orchestrator, and to be stored in the
orchestration engine (WSMX in our case).</p>
          <p>Having an XML language to represent TSs is very useful.
If there will be the need of changing the reasoner for our tool
in the future all we have to do is just to rewrite the parser
for preparing the knowledge base for the new reasoner. Also
we decided to use WSTSL to represent the TS of the
composition because if there will be the need of changing the
execution environment for the orchestration, the tool will
be ready by just changing one parser: from WSTSL to the
input of the new execution environment. This provides a
great extendibility to our tool, making it simple to change
an orchestrator, and suitable for possible reasoners available
in the future.</p>
          <p>The Parser Component. It performs the translation between
the WSML representation of the services and the WSTLS
representation of the services, and back from the WSTLS
TS of the composition to the WSML representation of the
orchestration.</p>
          <p>The Repository Manager (RM) is the block responsible for
retrieving and storing the services. Actually the repository
used is the one embedded in WSMX and then the RM has
to deal with it in order to (i) retrieve available services and
using part of them, or whole, as input for the composition
and (ii) store the orchestration of the composite service if it
is found.
2.2</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Related Issues</title>
      <p>Services composition is not a stand alone process but
implies also to search services, to solve semantic
incompatibilities, to store results, etc. In this section we discuss two of
the main issues related to Semantic Web service
composition: discovery and mediation.</p>
      <p>When we want to compose SWSs, we have to select a
group of them that will identify the community of the
candidates services. To build the community it is necessary to
discover all the possible relevant services for the
composition, may be simple for a domain expert or for a service
expert, but it could be not so easy when we want to automate
this process. In the general case, an automatic discovery
engine eases the task of reasoning about the service signature
(semantics of the I/O parameters, etc.) in order to select
the most suitable community. The tool presented in this
paper does not use any discovery engine but leaves to the
service engineer the task of selecting the services that will
act as the input for the composition. Currently we suppose
that SWSCE is used by expert users.</p>
      <p>Composition of services considers only the conversations
of the services and does not take into account the input
data format. When services are de¯ned in di®erent
ontologies, then there could be the need of a mediation process.
The mediation process allows di®erent services to represent
the same concepts in spite of possible di®erences in the
ontology representation. Data mediation concerns the
transformation of the syntactic format of the messages exchanged
by services while the ontology mediation concerns the
transformation of terminology used inside the message exchange.
Our tool does not solve directly the mediation problem but
it inserts inside the synthesized orchestration placeholders
where to insert possible mediators. In Section 2.3 we show
a concrete example.
2.3</p>
    </sec>
    <sec id="sec-6">
      <title>SWSCE: a Practical Case</title>
      <p>In this section we presents a case study in order to
understand how SWSCE works. A service engineer decides to
realize a SWS in which it is possible to pay government taxes
online by providing either bank account number or personal
data. First of all, he will de¯ne which is the behavior of the
new SWS, by designing the TS (cfr. Figure 3).</p>
      <p>S0</p>
      <p>S1
ProvideAnagraphicDetail</p>
      <p>PayTaxes</p>
      <p>ProvideBankAccount</p>
      <p>
        The engineer writes the choreography of the desired
service. In WSMO (cfr. Appendix A) all the messages related
to an operation of a SWS are considered as concepts. Those
concepts are used inside the choreography description in
order to declare the state signature by means of the request
and response messages. In the state signature all the
messages exchanged during the service invocation are described.
More precisely, in the in statement the concepts which
represent the request message for the service are declared. While
in the out statement the concepts which represent the
response message returned by the service are declared. This
signature is the same for all states. The elements that can
change and that are used to express di®erent states of a
choreography are the instances (and their attribute values)
of concepts. Thus, a speci¯c state is described by a set of
explicitly de¯ned instances and values of their attributes [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ].
      </p>
      <p>
        From a WSMO perspective, the behavior is described
inside the choreography. The conceptual model for WSMO
choreography is based on Abstract State Machines (ASMs).
A choreography in WSMO inherits the principles of ASMs
by de¯ning (i) a set of states, where each state is described
by an algebra and (ii) guarded transitions to express the
state change by means of updates. In this ¯rst version of
SWSCE in order to handle all the requests coming from a
client and to perform the update operations, the transition
condition using the forall statement have to be declared:
forall Variable with Condition do Rules(Variable)
endForall. The meaning of such a rule is to execute
simultaneously the enclosed Rules for each variable in Variables
satisfying the Condition of the rule where typically a
variable will have some free occurrences in the rules which are
bound by the quanti¯er [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ].
      </p>
      <p>For a better explication of the sequence of actions
performed by the service during an invocation, consider the
choreography of the payTaxByBankAccount service shown
in Appendix B.</p>
      <p>Now the service engineer can start using SWSCE by
clicking the SWSCE button of the user interface (Figure 4).</p>
      <p>SWSCE starts by retrieving the SWSs through the RM
from the repository and then shows their identi¯ers in the
Community table (Figure 6). It can also possible to show
the WSML of the SWSs by clicking on the button Show
service. The Community table contains the list of the
component SWSs participating in the composition, i.e., in our
example the payTaxesProvideBankAccountWS and
payTaxesProvideAnagraphicalDetailsWS whose behavior is
represented in Figure 5.</p>
      <p>The SWS previously designed is now selected (Figure 7)
as the target service that the user wants to obtain as result
of the composition.</p>
      <p>When the Start button is clicked (Figure 9), SWSCE
starts to elaborate the choreographies of the component
SWSs by parsing them. If such a composition can be
obtained a new SWS is created. The new composed service
obtained has the choreography of the target service and it
is followed by a skeleton of a possible orchestration. The
Figure 8 shows the structure of the obtained orchestration.</p>
      <p>In every transition rule an intermediate state has been
p ro v i d e A na gra p h D e ta i l s
payTaxes
payTaxes
S0
provideBankAccount</p>
      <p>S1
S2
de¯ned by default from the algorithm. In this state possible
mediators have to be declared, which allow the transition
from a source state to the target state. In the obtained
WSML ¯le, the intermediate state contains a \placeholder"
in which it is possible to declare the mediation:
forall {?cs} with (?cs[oasm#value hasValue oasm#S0_mediation_S2]
memberOf oasm#controlState) do
// implement (if needed) "mediation" for
// provideBankAccountRequest/provideBankAccountResponse
delete (?cs[oasm#value hasValue oasm#S2_mediation_S0])
add (?cs[oasm#value hasValue S2])
endForall</p>
      <p>The WSML ¯le of the composed service has the
choreography of the target service and the orchestration obtained by
the composition. Furthermore it is possible to store the
composed SWS obtained by means of the composition through
the RM inside the repository clicking on the button Store
Service (Figure 10).</p>
    </sec>
    <sec id="sec-7">
      <title>3. DISCUSSION</title>
      <p>
        The use of Semantic Web service technologies is gaining a
special role in building complex applications, e.g. as in the
context of eGovernment services. In order to make it
possible, many e®orts in the scienti¯c community are going in the
direction of automatic services composition in order to build
more complex services using the simpler building blocks as
component services. As we have shown in our work, in order
to add semantic description to the services (in particular for
their behaviors), we need to leverage an ontology
description. In the eGovernment domain, this approach is growing
in importance and [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ] provides an ontology (GEA
ontology) that models the Public Administration domain using
WSMO.
      </p>
      <p>
        In order to discuss automatic services composition, and
to compare di®erent approaches, [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] introduces a conceptual
framework for \semantic service integration", consisting of:
² the community ontology, which represents the
common understanding on an agreed upon reference
semantics between the services concerning the meaning
of the o®ered operations, the semantics of the data °ow
through the service operations, etc;
² the set of available services, which are the actual Web
services available to the community;
² the mapping for the available services to the
community ontology, which expresses how services expose
their behavior in terms of the community ontology;
² and the client service request, to be expressed using
the community ontology.
      </p>
      <p>Generally, the community ontology involves several
aspects: on one side, it describes the semantics of the
information managed by services, through appropriate semantic
standards and languages (e.g., WSMO); and on the other
side, it also consider some speci¯cation of the service
behaviors, on possible constraints and dependencies between
di®erent service operations, not limited solely to pre- and
post-conditions, but also considering the process of the
service.</p>
      <p>In building such a \semantic service integration" system,
two general approaches can be followed.</p>
      <p>² In the Service-tailored approach, the community
ontology is built mainly taking into account the
available services, by suitably reconciling them. Indeed
the available services are directly mapped as elements
of the community ontology, and the service request is
composed by directly applying the mappings for
accessing concrete computations.
² Conversely in the Client-tailored one, the community
ontology is built mainly taking into account the client,
independently from the services available.They are
described (i.e., mapped) by using the community
ontology, and the service request is composed by reversing
these mappings for accessing concrete computations.</p>
      <p>Much of the research on automatic service composition
has adopted, up to now, a service-tailored approach,
examples are the works based on Classical Planning in AI (e.g.,
+
.t*ea
l
u
o
l
g
o
z
a
p
a</p>
      <p>P
-
iittttsssncyeaehm Dynll.tncookeabKamics iiilli()tssssnccpoooaaaCmn cilnnngPalient service requel.tt*eeahhSst +
S
- Dynamics in component services
.tae
l
o
s
r
e
v
a
r
T
.tea
l
tah
i
r
l
I
c
M
.tea
l
ll
u
H
ll
u
H
+
.tae
l
i
litae readB
. r
rd
a
r
e</p>
      <p>
        B
+
* do not tackle
automatic composition
[
        <xref ref-type="bibr" rid="ref26">26</xref>
        ],[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]), the works of Papazoglou's et al. [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ], Bouguettaya
at al. [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], Sheth et al. [
        <xref ref-type="bibr" rid="ref8 ref9">9, 8</xref>
        ], the work of McIlraith at al. [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]
and the work by Hull et al. [
        <xref ref-type="bibr" rid="ref14 ref7">7, 14</xref>
        ].
      </p>
      <p>
        A very little research has been done following a
clienttailored approach, but some remarkable exceptions should
be mentioned: the work of Knoblock at al. [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] the work of
Traverso et al. [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], the work of Hull et al [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] and ¯nally [
        <xref ref-type="bibr" rid="ref2 ref5">2,
5</xref>
        ].
      </p>
      <p>
        Figure 11 summarizes the considered works (more details
in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]). The three axis represent the levels of detail
according to which the community ontology and the mappings and
the client request can be modeled. Namely, (i) statics in the
system represents how ¯ne grained is the modeling of the
static semantics (i.e., ontologies of data and/or services,
inputs and outputs, alphabet of actions, etc.); (ii) dynamics in
component services represents how ¯ne grained is the
modeling of the processes and behavioral features of the services
(only atomic actions, transition systems, etc.); and (iii)
dynamics in client service request represents how ¯ne grained
is the modeling of the process required by the client, varying
from a single step (as in the case of services consisting
essentially in a single data query over a data integration system)
to a (set of) sequential steps, to a (set of) conditional steps,
to including loops, and up to running under the full control
of the client. Black/white lollipops represent service-based
(white) vs. client-based (black) approaches.
      </p>
      <p>The approach proposed in this paper is the ¯rst result,
with respect to the client-tailored approach, which uses
WSMO to describe Semantic Web services and that
proposes a tool for automatic service composition, by providing
it as a WSMO/WSMX plug-in.
4.</p>
    </sec>
    <sec id="sec-8">
      <title>CONCLUSION AND FUTURE WORK</title>
      <p>In this paper we have presented SWSCE, a tool for
automatic composition of Semantic Web services and we have
shown how our tool works like a wizard. Our tool actually
works by retrieving SWSs through the RM in the repository
embedded inside WSMX. Currently we are also developing
a new version working with a di®erent distributed discovery
engine. Actually, our tool provides support for the
mediation by returning an orchestration where it is possible to
add manually the mediation, but in the next version we are
trying to add directly in the wizard the possibility to start
the mediation tool and to de¯ne directly the mapping at the
end of the composition process.</p>
      <p>Acknowledgements. The work presented in this paper
is partly supported by the IST FP6 project SemanticGOV.
The authors would like to thank the project partners for
their useful comments and discussions on SWSCE.</p>
    </sec>
    <sec id="sec-9">
      <title>Appendix A - Introduction to WSMO</title>
      <p>
        In our approach, the implementation of the Semantic Web
Service composition is realized by means of the Web Service
Modelling Framework (WSMF) that provides an ontology
(WSMO) [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] for the de¯nition of the domain of the
services provided and of the elements characterizing each SWS,
that is (i) ontologies, (ii) goals, (iii) services and (iv)
mediators; a language (WSML) [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] for the formal description
of the syntax and the semantics of all the elements de¯ned
in WSMO; and an execution environment (WSMX) [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] for
the deploy, execution, composition and orchestration of the
Semantic Web services.
      </p>
      <p>Even if in the present paper we will focus mainly on the
description of the behavior of the SWSs, it is important to
brie°y introduce the de¯nition of the basic elements of a
SWS in the WSMO ontology.</p>
      <p>A SWS description in WSMO is de¯ned in terms of:
² the concept representing the basic elements of the
agreed terminology concerning the domain the SWS
belongs to. A concept represents classes of objects of a
real or abstract world that have a speci¯c shared
property (e.g., being a tax to be paid) and well de¯ned
attributes. An example of the semantic of the
payTaxesByAnagraphicDetails service is described in the
WSML code shown below.
importsOntology</p>
      <p>_"http://www.semantic-gov.org/Italy#ItalianCitizen"
concept AnagraphicDetails
name impliesType (1 1) _string
dateOfBirth impliesType (1 1) { _string, _dateTime}
SSN impliesType (1 1) _string
surname impliesType (1 1) _string
concept Tax
payToOrganization ofType _string
amount ofType _string
payBy ofType _string
² the interface describing the behavior of the SWS;
in particular the interface consists of two kinds of
information: the choereography describing how a client
(be it a human or a software) can interact with the
service in order to use its functionalities, and the
orchestration describing the interactions among the
given service and other SWSs in order to achieve the
target functionalities.</p>
      <p>In Figure 12 the di®erent WSMO Choreography and
Orchestration perspectives are illustrated.
ctrfsm _"http://dis.uniroma1.it/WSMO/ControlFsm#",
wsmostudio _"http://www.wsmostudio.org#" }
//..
interface byBankInterface
choreography _#
stateSignature byBankStSign
in
out
concept pba#provideBankAccountRE</p>
      <p>concept pba#payTaxREQ
concept pba#provideBankAccountRES</p>
      <p>concept pba#payTaxRES
transitionRules _#
forall {?controlstate, ?provideBankAcc} with (
?controlstate[ctrfsm#currentState hasValue 0]
memberOf ctrfsm#controlledState and
?provideBankAcc memberOf pba#provideBankAccountREQ
add(?controlstate[ hasValue 1])
add(_# memberOf pba#provideBankAccountRES)</p>
      <p>The choreography describes the behavior of the service,
that is, how client communicates with the service in order to
consume the provided functionalities. WSMO choreography
is based on the Abstract State Machines (ASM) formalisms
(providing the basis for the description of both the
choreography and orchestration); an ASM consists of two
components: the state and the guarded transitions. The states are
represented by an ontology whose content is dynamic while
guarded transitions based on the model if Cond then
Update specify transitions between states (that is changes of
states).</p>
      <p>The orchestration consists in the description of how the
overall functionality of the SWS is achieved through the
cooperation of di®erent service providers. In WSMO,
orchestration is based on the same ASM formalism but the
guarded transitions are extended to support the use of
mediators, that is software components providing data links
among di®erent services.</p>
    </sec>
    <sec id="sec-10">
      <title>Appendix B</title>
      <p>In the following there is the choreography of the
payTaxByBankAccount service:
wsmlVariant _"http://www.wsmo.org/wsml/wsml-syntax/wsml-flight"
namespace { _"http://dis.uniroma1.it/WSMO/WS/provideBankWS#",
pba _"http://dis.uniroma1.it/WSMO/payTaxesByBankAccount#",</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>D.</given-names>
            <surname>Berardi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          , G. De Giacomo,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lenzerini</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Mecella</surname>
          </string-name>
          .
          <article-title>ESC: A Tool for Automatic Composition of Services Based on Logics of Programs</article-title>
          .
          <source>In Proc. VLDB-TES</source>
          <year>2004</year>
          , pages
          <fpage>80</fpage>
          {
          <fpage>94</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>D.</given-names>
            <surname>Berardi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          , G. De Giacomo,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lenzerini</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Mecella</surname>
          </string-name>
          .
          <source>Automatic Service Composition Based on Behavioral Descriptions</source>
          .
          <source>International Journal on Cooperative Information Systems</source>
          ,
          <volume>14</volume>
          :
          <fpage>333</fpage>
          {
          <fpage>376</fpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>D.</given-names>
            <surname>Berardi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          , G. De Giacomo, and
          <string-name>
            <given-names>M.</given-names>
            <surname>Mecella</surname>
          </string-name>
          .
          <article-title>Automatic Web Service Composition: Service-tailored vs. Client-tailored Approaches</article-title>
          .
          <source>In Proc. AISC</source>
          <year>2006</year>
          (
          <article-title>jointly with ECAI</article-title>
          <year>2006</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>D.</given-names>
            <surname>Berardi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Cheikh</surname>
          </string-name>
          , G. De Giacomo, and
          <string-name>
            <given-names>F.</given-names>
            <surname>Patrizi</surname>
          </string-name>
          . Automatic Service Composition via Simulation.
          <source>International Journal of Foundations of Computer Science (IJFCS)</source>
          ,
          <volume>19</volume>
          :
          <fpage>429</fpage>
          {
          <fpage>451</fpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>D.</given-names>
            <surname>Berardi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G. D.</given-names>
            <surname>Giacomo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Mecella</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          .
          <article-title>Composing Web Services with Nondeterministic Behavior</article-title>
          .
          <source>In Proc. ICWS</source>
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>J.</given-names>
            <surname>Blythe</surname>
          </string-name>
          and J. Ambite, editors.
          <source>Proc. ICAPS 2004 Workshop on Planning and Scheduling for Web and Grid Services</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>T.</given-names>
            <surname>Bultan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Fu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Hull</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Su</surname>
          </string-name>
          .
          <article-title>Conversation Speci¯cation: a New Approach to Design and Analysis of e-Service Composition</article-title>
          .
          <source>In Proc. WWW</source>
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>J.</given-names>
            <surname>Cardoso</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Sheth</surname>
          </string-name>
          .
          <article-title>Introduction to Semantic Web Services and Web Process Composition</article-title>
          .
          <source>In Proc. 1st International Workshop on Semantic Web Services and Web Process Composition (SWSWPC</source>
          <year>2004</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>F.</given-names>
            <surname>Curbera</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Sheth</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Verma</surname>
          </string-name>
          .
          <article-title>Services Oriented Architectures and Semantic Web Processes</article-title>
          .
          <source>In Proc. ICWS</source>
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>J. de Bruijn</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Fensel</surname>
            , U. Keller, and
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Lara</surname>
          </string-name>
          .
          <article-title>Using the Web Service Modelling Ontology to Enable Semantic eBusiness</article-title>
          .
          <source>Communications of the ACM</source>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>J. de Bruijn</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Lausen</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Polleres</surname>
            , and
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Fensel</surname>
          </string-name>
          .
          <article-title>The Web Service Modeling Language WSML: An Overview</article-title>
          .
          <source>In Proc. ESWC</source>
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>C.</given-names>
            <surname>Gerede</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Hull</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O. H.</given-names>
            <surname>Ibarra</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Su</surname>
          </string-name>
          .
          <source>Automated Composition of E-Services: Lookaheads. In Proc. ICSOC</source>
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>A.</given-names>
            <surname>Haller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Cimpian</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Mocan</surname>
          </string-name>
          , E. Oren, and
          <string-name>
            <given-names>C.</given-names>
            <surname>Bussler. WSMX - A Semantic Service-Oriented Architecture</surname>
          </string-name>
          .
          <source>In Proc. ICWS</source>
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>R.</given-names>
            <surname>Hull</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Benedikt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Christophides</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Su</surname>
          </string-name>
          . E-services:
          <article-title>a Look Behind the Curtain</article-title>
          .
          <source>In Proc. PODS</source>
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>S.</given-names>
            <surname>McIlraith</surname>
          </string-name>
          and
          <string-name>
            <given-names>T.</given-names>
            <surname>Son</surname>
          </string-name>
          .
          <article-title>Adapting Golog for Composition of Semantic Web Services</article-title>
          .
          <source>In Proc. KR</source>
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>B.</given-names>
            <surname>Medjahed</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Bouguettaya</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Elmagarmid</surname>
          </string-name>
          .
          <source>Composing Web Services on the Semantic Web. Very Large Data Base Journal</source>
          ,
          <volume>12</volume>
          (
          <issue>4</issue>
          ):
          <volume>333</volume>
          {
          <fpage>351</fpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>M.</given-names>
            <surname>Michalowski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Ambite</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Thakkar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Tuchinda</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Knoblock</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Minton</surname>
          </string-name>
          .
          <article-title>Retrieving and Semantically Integrating Heterogeneous Data from the Web</article-title>
          .
          <source>IEEE Intelligent Systems</source>
          ,
          <volume>19</volume>
          (
          <issue>3</issue>
          ):
          <volume>72</volume>
          {
          <fpage>79</fpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>M.</given-names>
            <surname>Pistore</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Marconi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Bertoli</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Traverso</surname>
          </string-name>
          .
          <source>Automated Composition of Web</source>
          Services by
          <article-title>Planning at the Knowledge Level</article-title>
          .
          <source>In Proc. IJCAI</source>
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>N.</given-names>
            <surname>Piterman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Pnueli</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Sa</surname>
          </string-name>
          <article-title>'ar. Synthesis of Reactive Designs</article-title>
          .
          <source>In Proc. VMCAI</source>
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>A.</given-names>
            <surname>Pnueli</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Rosner</surname>
          </string-name>
          .
          <article-title>On the Synthesis of a Reactive Module</article-title>
          .
          <source>In Proc. POPL</source>
          <year>1989</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>A.</given-names>
            <surname>Pnueli</surname>
          </string-name>
          and
          <string-name>
            <given-names>E.</given-names>
            <surname>Shahar</surname>
          </string-name>
          .
          <source>The TLV System and its Applications</source>
          ,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>S.</given-names>
            <surname>Sardin</surname>
          </string-name>
          ~a, G. De Giacomo, and
          <string-name>
            <given-names>F.</given-names>
            <surname>Patrizi</surname>
          </string-name>
          .
          <article-title>Behavior Composition in the Presence of Failure</article-title>
          .
          <source>In Proc. KR</source>
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>K.</given-names>
            <surname>Schild</surname>
          </string-name>
          .
          <article-title>A Correspondence Theory for Terminological Logics: Preliminary Report</article-title>
          .
          <source>In Proc. IJCAI</source>
          <year>1991</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>J.</given-names>
            <surname>Scicluna</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Polleres</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Roman</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Fensel</surname>
          </string-name>
          .
          <article-title>Ontology-based Choreography and Orchestration of WSMO Services</article-title>
          .
          <source>Technical report, Digital Enterprise Research Institute (DERI)</source>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>X.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Vitvar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Peristeras</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Mocan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. K.</given-names>
            <surname>Goudos</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K. A.</given-names>
            <surname>Tarabanis.</surname>
          </string-name>
          WSMO-PA:
          <article-title>Formal Speci¯cation of Public Administration Service Model on Semantic Web Service Ontology</article-title>
          .
          <source>In Proc. HICSS-40</source>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>D.</given-names>
            <surname>Wu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Parsia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Sirin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Hendler</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Nau</surname>
          </string-name>
          . Automating
          <string-name>
            <surname>DAML-S Web Services</surname>
          </string-name>
          <article-title>Composition using SHOP2</article-title>
          .
          <source>In Proc. ISWC</source>
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>J.</given-names>
            <surname>Yang</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Papazoglou</surname>
          </string-name>
          .
          <article-title>Service Components for Managing the Life-cycle of Service Compositions</article-title>
          .
          <source>Information Systems</source>
          ,
          <volume>29</volume>
          (
          <issue>2</issue>
          ):
          <volume>97</volume>
          {
          <fpage>125</fpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>