such a net including the null net. Operations are for
instance sequence, alternative or execution in parallel
of two services. However, all existing constraints are
implicit within the transitions of the Petri-Nets. In this
approach, they only take the behavior into account de-
scribed by a sequence of actions and messages. In
(Berardi.D et al., 2003a; Berardi.D, 2004; Berardi.D
et al., 2003b) the authors relate an e-service execution
to an internal and an external schema. These schemes
correspond respectively to an unfolded internal and
external FSM describing the behavior of the service
in terms of actions. They do not consider any con-
straints on inputs/outputs. (Bordeaux.L et al., 2004)
constitutes another approach concentrating on com-
position between two services in a behavioral context.
Web service composition can be considered as a form
of Artificial Intelligence (AI) (Stuart J. Russell and P.
Norvig, 2003) planning task.
In (McIlraith and Son, 2002; Narayanan and McIl-
raith, 2002) composition is addressed by using the
language GOLOG and providing a behavioral seman-
tic of the composition based on Petri Nets (for OWL-
S). GOLOG is a logic programming language based
on situation calculus(R. Reiter, 2002). The authors
treat the Web service composition problem through
the provision of high level generic procedures and
customizing constraints. GOLOG is adapted for rep-
resenting and reasoning about this problem. In (Med-
jahed et al., 2003) the authors present a technique to
generate composite services from high level declara-
tive description. The method uses composability rules
to determine whether two services can be copmposed.
There are syntactical and semantical rules: the syn-
tactical ones for protocol bindings and the seman-
tical rules to manage 1) message composability, 2)
operational semantic composability and composition
soundness.
In (Doshi.P and Zhao.H, 2006), the authors present
a hierarchical approach for composing web processes
that may be nested some of the components of the pro-
cess may be Web processes themselves. They model
the composition problem using semi-Markov decision
process (SMDP) that generalizes MDPs by allowing
actions to be temporally extended. They use these ac-
tions to represent the invocation of lower level Web
processes whose execution times are different from
simple service invocations.
In (Tan.M et al., 2006) is proposed an agent-based
method using Fuzzy Distributed Constraint Satisfac-
tion Problem (Fuzzy DisCSP). They provide tech-
niques to solve the problem of QoS composition prob-
Motwani and Jeffrey D. Ullman, 2001) allows to verify eas-
ily properties of a composition - often using model checking
(Merz, 2000) methods for example.
lem, which is how to compose a service from differ-
ent subcomponent services so that its overall QoS can
satisfy certain requirements. The authors show that
by using the composition structures, local constraints
can be constructed and used with DisCSP.
In this paper we propose an oriented graph based
model for modeling web services composition upon
Bcov algorithm. The framework allows to compose
services by providing two approaches:
1. by means the services discovered by Bcov al-
gorithm, finds the compositions as paths (or
subgraphs) between two services regarding the
matching of the outputs with inputs,
2. Dijkstra’s algorithm is based on our calculus for
the composition to find the shortest Path between
two services given a global oriented graph main-
tained by a web services provider.
In the rest of the paper, we shall not handle the seman-
tic matching between inputs and outputs, we assume
it is computed in a black box.
The remainder of the paper is organized as follows:
The next section gives two motivating examples for
the proposed approaches. In the section 4 we intro-
duce the oriented graph model for web services com-
position and provide a reasoning approach by looking
for a path or a subgraph fulfilling the user query. In
Section 5, due to the limitations of the previous algo-
rithm, we provide a second approach using a global
oriented graph which is managed by a web services
provider (for web services composition) and finding
the shortest path for the composition of services.
2 MOTIVATING EXAMPLES
In order to show the interactions between web ser-
vices in terms of inputs and outputs, let us illustrate
our approach through examples.
Example 1 Given a user query looking for a service
translator providing the translation text from French
to Thai language, the query input is French and the
output is Thai. let us assume a web services provider
describing a set of following services:
1. Translation from French to English (S
F −E
)
2. Translation from English to German (S
E−G
)
3. Translation from English to Chinese(S
E−C
)
4. Translation from Chinese to Thai ... (S
C−T
)
A web service fulfilling the query constraints is not
discovered. However, if we consider all services, we
can find a composition of them, answering the query,
given by the following ordered sequence {(S
F −E
),
A GRAPH-BASED APPROACH FOR WEB SERVICES COMPOSITION
291