A Petri Net-Based Method for Compatibility Analysis and Composition of Web Services in Business Process Execution Language
ABSTRACT Automatic Web service composition is gaining momentum as the potential silver bullet in service oriented architecture. The need for interservice compatibility analysis and indirect composition has gone beyond what the existing service composition/verification technologies can handle. Given two services whose interface invocation constraints are described by a Web services-business process execution language (WS-BPEL or BPEL), we analyze their compatibility and adopt mediation as a lightweight approach to make them compatible without changing their internal logic. We first transform a BPEL description into a service workflow net, which is a kind of colored Petri net (CPN). Based on this formalism, we analyze the compatibility of two services, and then devise an approach to check whether there exists any message mediator so that their composition does not violate the constraints imposed by either side. The method for mediator generation is finally proposed to assist the automatic composition of partially compatible services. Our approach is validated through a real-life case and further research directions are pointed out.
-
Citations (0)
-
Cited In (0)
Page 1
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING1
A Petri Net-Based Method for Compatibility
Analysis and Composition of Web Services
in Business Process Execution Language
Wei Tan, Yushun Fan, and MengChu Zhou, Fellow, IEEE
Abstract—Automatic Web Service composition is gaining
momentum as the potential silver bullet in Service Oriented Ar-
chitecture. The need for interservice compatibility analysis and
indirect composition has gone beyond what the existing service
composition/verification technologies can handle. Given two ser-
vices whose interface invocation constraints are described by a
Web Services-Business Process Execution Language (WS-BPEL
or BPEL),we analyze their compatibility and adopt mediation as a
lightweight approach to make them compatible without changing
their internal logic. We first transform a BPEL description into a
service workflow net, which is a kind of colored Petri net (CPN).
Based on this formalism, we analyze the compatibility of two
services, and then devise an approach to check whether there
exists any message mediator so that their composition does not
violate the constraints imposed by either side. The method for
mediator generation is finally proposed to assist the automatic
composition of partially compatible services. Our approach is
validated through a real-life case and further research directions
are pointed out.
Note to Practitioners—Web services are an emerging area for
business process automation. This work presents a novel and fun-
damental framework to analyze and compose web services. It is
based on CPNs and a newly proposed concept called Communi-
catingReachabilityGraph.Givenanytwoservicesdevelopedusing
Business Process Execution Language, the proposed method con-
vertsthemintoCPNsandanalyzestheircompatibility.Meanwhile,
it finds out if a message mediator exists in case of partial com-
patibility. If so, it is synthesized. A real-life case is used to illus-
tratethefeasibilityoftheproposedconceptsandmethod.Theycan
be readily used in industrial web service composition for business
automation.
Index Terms—Business process execution language (BPEL), me-
diation, Petri nets, web service composition.
Manuscript received June 17, 2007; revised August 28, 2007. This paper
was recommended for publication by Associate Editor S. Keerthi and Editor
N. Viswanadham upon evaluation of the reviewers’ comments. This work was
supportedinpartbytheIBMPh.D.Fellowship,theNationalScienceFoundation
of China under Grant 60674080, the National 973 Foundation of China under
Grant 2006CB705407, and the Chang Jiang Scholar Program, PRC Ministry of
Education.
W. Tan and Y. Fan are with the Department of Automation, Tsinghua
University, Beijing 100084, China (e-mail: tanwei@mails.tsinghua.edu.cn;
fanyus@tsinghua.edu.cn).
M. Zhou is with the Department of Electrical and Computer Engineering,
New Jersey Institute of Technology, Newark, NJ 07102 USA, and also with the
School of Electro-Mechanical Engineering, Xidian University, Xi’an, 710071
China (e-mail: zhou@njit.edu).
Color versions of one or more of the figures in this paper are available online
at http://ieeexplore.ieee.org.
Digital Object Identifier 10.1109/TASE.2008.916747
I. INTRODUCTION
W
the potential silver bullet for the seamless integration of hetero-
geneous computing resources, rapid deployment of new busi-
ness capabilities, and enhanced reuse possibilities to a variety
of legacy systems [1]. Existing service composition specifica-
tion languages such as Web Service - Business Process Execu-
tion Language for Web Services (WS-BPEL or BPEL) [2], Web
Service Choreography Interface (WSCI) [3], and Web Service
Choreography Description Language (WS-CDL) [4] all pro-
vide mechanisms to directly compose two (or more) services
by specifying that a message sent by one interface is received
by the other (and vice versa). This kind of interface link is
achieved using constructs such as Partner Link in BPEL, Con-
nect in WSCI, and Channel in WS-CDL. Among these various
specification languages, BPEL is becoming dominant because
it has been proposed by OASIS as an industry standard and is
supported by major software companies such as IBM, Oracle,
and SAP. In this paper, we take BPEL as the language for de-
scribing the internal logic of web services.
Direct composition is made based on the assumptions that:
1) The incoming messages of one service are the exact ones
provided by its partner(s); the outgoing messages of one
service are the exact ones consumed by its partner(s).
2) Twoservicesincompositionconsenttothemessageformat
andexchangesequencesuchthattheircompositionprocess
always executes in a logically correct way (e.g., termi-
nating properly).
While existing specifications and approaches in service com-
positionmostlyconcentrateondirectcomposition,itisobserved
that partial compatibility is common in real-life web service
composition. Partial compatibility refers to the situation that
two (or more) web services provide complementary function-
ality and could be linked together in principle; however, their
interfaces and interaction patterns do not fit each other exactly.
Hence, they cannot be directly composed. The problem of par-
tialcompatibilityarisesmainlybecauseserviceshavetointeract
withoneanotherinthewaysnotnecessarilyforeseenwhenthey
are separately developed. Consequently, the assumptions made
for direct composition may no longer hold.
AspresentedinSectionII,iftwoserviceshavemismatchesin
their interfaces and interaction patterns, they cannot be directly
composed. Furthermore, even if they can be directly composed,
we do not have confidence in the correctness of their compo-
sition (the meaning of correctness depends on specific require-
ments, but usually proper terminability, liveness, and bounded-
ITH THE emergence of Service Oriented Architecture
(SOA), service composition is gaining momentum as
1545-5955/$25.00 © 2008 IEEE
Page 2
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
2 IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING
Fig. 1. (a) Direct composition. (b) Mediation-aided composition.
ness are essential ones among them [5]). However, the current
research in web service composition mainly focuses on auto-
matic composition methods [6]–[9] and formal verification of
service composition [10]. Less attention is paid to the issue of
partial compatibility.
Recently, the mediation approach is attracting more attention
[11]–[15], because it is considered as an economic and labor-
savingapproachtoaddressthechallengeofpartialcompatibility
in real-life web service composition. The basic idea of media-
tion-aided composition is similar to the concept of adapter to
make two pieces of hardware compatible. Mediator wraps the
various services such that they can appear homogeneous and
are therefore easier to be integrated.
Fig. 1 illustrates direct and mediation-aided compositions.
Messages
andare exchanged between Services 1 and 2.
In Fig. 1(a), Service 1 first sends
vice 2 first waits for
and then sends
be directly composed by adding links between “Send
“Receive
”, “Receive” and “Send
1 first sends
and then sends
to arrive simultaneously. Services 1 and 2 cannot be directly
composedbysimplyaddinglinks,becauseService1hastwoin-
terfaces, while Service 2 has only one. In this case, we can add
a module (i.e., mediator) between them. Its function is to com-
bine messages A and B coming from Service 1, and forward it
to Service 2. With the aid of this mediator, Services 1 and 2 can
be correctly composed.
Fig. 1(b) presents only a rather simple case of mediation-
aided composition, and later we will see more powerful media-
tors that can intercept, store, transform, and forward messages
between services.
In our work, we use colored Petri nets (CPNs) as an under-
lying formalism. This formal model provides not only a for-
malism to depict the internal logic and the message exchange
behavior, but also rich analysis capability to support the solid
verification of compatibility and mediation existence.
and then waits for
. Services 1 and 2 can
; Ser-
” and
”. In Fig. 1(b), Service
; Service 2 waits for and
Tothebestofourknowledge,currentlythereisneitherformal
analysis on the existence of mediation nor methods to derive
the mediator for two BPEL web services. Compared with the
existing work, our contributions are the following.
1) In contrast with the existing approaches assuming a web
service as a set of independent operations, our approach
takes into account the conversational nature of web ser-
vices. We take the de facto standard, i.e., BPEL, as our
input, and define service workflow net (SWF-net) - a kind
of CPNs, as a unified formalism to describe services, com-
position, and mediator.
2) We use a state-space based method to check the existence
of mediation. We introduce the concept of Communicating
Reachability Graph (CRG) whose function is to concur-
rently construct the reachability graph of two services,
using data mapping (that needs to be provided as an input
in our current solution) as the communication mechanism.
3) By using the concept of stubborn sets, we verify that the
CRG contains all needed properties in mediation existence
checking. Moreover, state-space exploration is sped up.
4) We propose the guidance to generate a mediator to glue
two services if through CRG we can verify that mediation
is possible.
5) We validate the approach through a real-life case.
The rest of this paper is organized as follows. Section II
presents a motivating scenario for compatibility analysis and
mediation-aided composition. Section III formally defines
the concept of service, composition, mediation, and medi-
ation-aided composition. Section IV introduces the method
to check whether there is any mediator to glue two partially
compatible services, and Section V introduces the method
to generate the mediator. Section VI summarizes the related
work and Section VII concludes the work and suggests future
research directions.
II. MOTIVATING SCENARIO
Themotivating scenario inthis paper comesfrom thecompo-
sition of eBay and a third-party checkout (TPC) service [16]. It
is the excerpt of a real bbusiness scenario, simple yetillustrative
enough to explain the proposed concept, algorithm, and result.
eBay, an online auction and shopping service provider, al-
lows a third party to handle a seller’s checkout processes. When
buyers on eBay finish shopping and want to check out, they
are directed to a checkout system provided by a TPC service
provider.The eBay and TPC servicesare to be composed to ful-
fill the requirement of the online shopping and checkout busi-
ness. They provide complementary functionality, but since they
are developed by different entities, they do not fit each other
exactly.
Fig.2showstheBPELofbotheBayandTPCservices. When
a buyer wins an auction, the eBay service starts the checkout,
and then invokes a TPC service by passing OrderID, UserID,
and SecretID. Next, eBay receives invocation from TPC (Re-
ceive FetchToken) with UserID and SecretID, and replies with
Token (Token is a required parameter in subsequent interaction).
Finally, eBay receives invocation from TPC with Token, Or-
derId, and UserID (Receive GetOrderData), and replies with
Page 3
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
TAN et al.: A PETRI NET-BASED METHOD FOR COMPATIBILITY ANALYSIS AND COMPOSITION OF WEB SERVICES3
Fig. 2. BPEL of eBay and TPC services.
OrderData. On the TPC side, the TPC service initiates upon re-
ceiving Order and PartnerID. Then, it invokes GetOrderTrans
with OrderID and UserID, and then waits for an asynchronous
reply with OrderData from the online merchant (Receive Or-
derData).TPCreturnsanAckafteritreceivesOrderData(Reply
Ack). With the order data retrieved, TPC shows to the user the
itemspurchasedandshippingaddress,andthebuyerfollowsthe
TPC flow to complete the checkout process (this step is not rel-
evant to the problem to be addressed. Hence, it is not shown in
Fig. 2).
Obviously, these two services cannot be directly composed
because of the following reasons.
1) The messages exchanged between their operations do not
match exactly.
2) Thenumbersoftheiroperationsandinput/outputmessages
are not identical.
Besides, without formal analysis, the correctness of their
composition cannot be guaranteed.
In the above scenario, there is no way to compose eBay and
TPC services directly. So, the current direct composition ap-
proaches cannot be used here. To solve this problem, Section III
gives the formalism of BPEL services, mediation, and compo-
sition, and these formalisms are the bases for the rigorous ap-
proach to be proposed in Section IV.
III. FORMALISM OF BPEL SERVICE, MEDIATION,
AND COMPOSITION
Using Petri nets to model BPEL processes is not a new idea.
However, our formalism separates control flow with the mes-
sage exchange, and provides a unified formalism to describe
services,composition,andmediator.Wealsoprovideanewcor-
rectness criteria regarding service composition. These can be
viewed as novel development in applying Petri nets to this area.
A. CPN Formalism for BPEL Process
To formally analyze the compatibility and mediation issue in
BPEL services’ composition, we first define a formal model.
TABLE I
THE POLARITY OF PLACES
Then, we present how to transform a BPEL process to this
model.
Thedefinitionofserviceworkflownetisbasedontheconcept
of CPNs [17].
Definition 1. (Service Workflow Net, SWF-net): A Service
Workflow Net is a CPN
1)
is a finite set of places.
i)
is the set of internal places.
ii)
isthesetofmessageplaces.For
:
and
.
iii)
is a finite set of transitions, disjoint from
is a flow relation
WF-net [5], i.e.,
i)
has two special places: and . Place is a
source place:
; Place
ii) If we add a transition to
place
with(i.e.,
resulting Petri net is strongly connected.
is a finite set of color sets.
is the color function, defined from
. Color set
only one possible value which stands for the control token
in
.
Remarks:
1) Internal places
represent the internal control logic, and
message places
represent the messages exchanged be-
tween services.
2)
forms an ordinary WF-net whose definition is
given in [5].
3) The internal places are tagged with color
the control token in
4) The message places are tagged with the color sets that rep-
resent message types.
To differentiate input/output message places, we define mes-
sage polarity for message places, denoted as
.
2)
, andis a
is a sink place: .
which connects
), then the
3)
4)
to;
has
that stands for
.
The idea of message polarity comes from [15], and it is no-
tated, as shown in Table I.
receivereply invoke
whilerepeatUntil , and link are key elements to describe
thecontrollogicofBPEL, inWS-BPELspecification2.0.Since
our work tackles the issue of service compatibility in control-
logic aspect, it does not consider BPEL constructs such as com-
pensation, fault handler, assign, correlation set, link condition,
and variables.
sequenceifpick flow
Page 4
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
4IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING
Fig. 3. Transforming BPEL into SWF-net.
Fig. 3 illustrates how to transform some BPEL elements into
SWF-net ones. BPEL activities and internal control logic are
modeled with internal places and transitions; the messages ex-
changed are modeled with message places. In Fig. 3, message
places are explicitly denoted (
places are all internal places.
and), and other
B. Service Composition
Before defining service composition, we define the fusion of
two CPNs.
Definition 2. (Fusion of CPNs):
Given two CPNs
. If.
. Then,
via places, iffis the fusion ofand
the following requirements are satisfied.
1)
.
2)
3)
.
4)
, if
5)
, if
.
We claim that two CPNs
befusedviaasetofcommonplaceswithidenticalcolorsetsand
marking, and in this case the fusion of
places
is denoted as
Remark: In order to do place fusion, we should first label the
places that we want to merge in two nets with identical labels,
and we should also guarantee that places which we do not want
to merge are with different labels.
places in CPNs, which have identical color set definitions and
markings in two nets.
.
; else.
; else
andare fusible if they could
andvia common
.
is the set of common
Fig. 4. Transform BPEL composition to SWF-net composition.
Definition2is basedonthedefinitiongivenin[18].However,
when we consider the problem of service composition, there are
some specific requirements.
1) Only message places can be merged, and thus we should
pay special attention when we define
2) Whenwemergetwomessageplacesfromtwoservices,we
require that, not only their color sets be identical, but also
their polarity be contrary.
Given these requirements which are specific to service com-
position, we define the composition of two SWF-nets.
Definition 3. (Composition of SWF-Nets): Given two SWF-
nets
is the composition of
1)
2)
3)
inand in
.and
of
and , respectively.
4)
.
The composition of two SWF-nets
message places
is denoted as
that operator
can be extended to other CPNs as long as
their places are classified into two disjoint categories, i.e., in-
ternal places
and message places
operator when we define composition via mediation.
Fig. 4 presents the method to transform BPEL composition
to SWF-net composition. In Fig. 4, the composition of invoke
and receive / reply is modeled with CPN composition.
.
and 2.
and iff:
.
.
are with contrary polarity
arethepolarityfunctions
andvia common
. We claim
. Later, we use this
C. Mediator and Mediation-Aided Service Composition
When one service provides functionality that another service
requires, it is unlikely to directly compose the two services if
they are not programmed to collaborate in advance. In our for-
malism,theredoesnotexistaset
We introduce the concept of mediation to deal with this diffi-
cultissue.Informally,mediation(ormediator)isapieceofcode
that sits between two services and compensates for the differ-
ences between their interfaces. Formally, we model a mediator
as a CPN which has interfaces to the two services that want to
becomposedtocollaborate.Allmessagesexchangedbythetwo
services go through the mediator.
suchthat.
Page 5
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
TAN et al.: A PETRI NET-BASED METHOD FOR COMPATIBILITY ANALYSIS AND COMPOSITION OF WEB SERVICES5
Definition 4. (Mediation/Mediator): A mediator
is a place-bordered CPN. The polarity
of the border places can be
Remark: A place-bordered Petri net is a net in which
1) every transition has at least one input and one output places
and 2) some places have input or output transitions but not
both, which are called border places.
Definition 5. (Composition via mediator): Given two SWF-
nets
and a mediator
composition of
andvia mediator
Remark:
1) Intuitively, service composition is to synthesize two SWF-
nets via message places with identical color set and con-
trary polarity.
2) If
are with contrary polarity
.
3)
is a special case of
where
, and
Now, we can give the definition of service compatibility.
Definition 6. (Compatibility of Two Services): Given SWF-
nets
andis the composition of
.
are the initial and final markings of
is compatible withwith respect to
bility graph of
is well-formed, i.e.,
1)
, there is a firing sequence
marking
s.t.
2) Given
s.t.
, then
In addition, two SWF-nets
mediator
, iff the reachability graph of
is well-formed.
The meaning of Definition 6 can be explained as follows.
1) Once the interaction begins, it will complete successfully.
2) When interaction completes, both services reach their
ending states, and possibly there are remaining messages
that are sent out by one service but not consumed by the
other.
Weak soundness [19] requires a stronger condition than the
above-defined compatibility does, and soundness [5] requires
more than weak soundness does. This relaxation roots from the
observationthatservicesaremoreautonomousandloosely cou-
pled.Hence,Definition6ismorereasonableinstatingwhatcon-
dition should be satisfied when two services are believed to be
compatible.
Definitions 5 and 6 concern only the composition of two ser-
vices.Ourmethodcaneasilybeextendedtoamultiservicecom-
position scenario by stepwise composition and analysis. Hence,
we focus our discussion on two-service composition thereafter.
or.
is the
.
in and
, and in
in
,
.
and, i.e.,
. and
, respectively.
iff the reacha-
and a
and.
, if
.
and are compatible with
IV. MEDIATOR EXISTENCE CHECKING WITH COMMUNICATING
REACHABILITY GRAPH (CRG)
The solution approach is illustrated in Fig. 5. First, transform
two BPELservicestobe composedintoSWF-nets. Then, verify
whether they are directly composable. If not, request data map-
ping information. Nextuse datamapping tobuild CRGto verify
Fig. 5. The proposed solution approach.
Fig. 6. Two SWF-nets: eBay and TPC.
whether there exists a mediator to glue them. If yes, generate
it. In this section, we use the motivating scenario presented in
Section II to explain our solution approach.
A. Transforming Abstract BPEL Process to SWF-Net
The method to transform BPEL services to SWF-nets has
been given in Section III. Fig. 6 depicts the result of trans-
forming two BPEL services in Fig. 2 into SWF-nets. In Fig. 6,
message Order is defined as the composition of OrderId,
UserID and SecretID; and message COReq is defined as the
composition of Order, and PartnerId. Transitions Process
FetchToken, Process GetOrderData, and Process OrderData
are all shorts for receive plus (immediate) reply in the orig-
inal BPEL process. We make this simplification to obtain a
more compact state space while preserving all the behavioral
characteristics. In Fig. 6, we group the message places of two
SWF-nets into a rectangle called composition.
Page 6
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
6IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING
B. Specifying Data Mapping
The functionality of data mapping is to define rules to relate
(syntactically/semantically equivalent) elements of two mes-
sages such that two interfaces belonging to different services
can be linked, and ultimately, services can be composed. In
the BPEL specification, messages exchanged between web ser-
vices are modeled as an aggregation of parts and/or elements.
Therefore, data mapping can be at message level, part level or
element level.
It is noted that data mapping is a very challenging problem in
the area of data integration, semantic web, and SOA. This paper
assumes that the data mapping relation between two services to
be composed is specified by service composers who intend to
compose them. This paper then focuses on how to detect the
behavior mismatches between two services, and how to build a
mediator to glue them (if possible). Semantic web service tech-
nology allows the semiautomatic and automatic annotation of
web services, and therefore could be very helpful in the gener-
ation of data mapping relations between two services. Cardoso
and Sheth [20] proposed an semantic-based approach to map
data between the input and output messages of web services.
Szomszor et al. [21] presented a method to harmonize syntac-
tically incompatible service interfaces in web service compo-
sition, and the mediation of data format is based on mappings
between XML schemas and OWL ontology. These works focus
on the data semantics and transformation between web service
interfaces, but our work focuses on the behavior analysis and
mediation via data transformation. Therefore, on one hand, our
work has different emphasis; on the other hand, these two ap-
proaches could be combined to provide a total solution to more
adaptive and semantic-enhanced web service composition.
Data mapping
between
mappingrules.Eachruleisexpressedintheformof src,target,
trans
, where src can be a message, part or element of a
message whose place is with the polarity of
going message place); src can also be a constant. target can be a
message,apart,orelementofamessagewhoseplaceiswiththe
polarity of
(i.e., an incoming one). trans flag is a Boolean
variableandthedefaultvalueisfalse.Itissettobefalseiftarget
can be mapped from src directly, and it is set to be true if target
can be mapped from src with additional transformation.
The data mapping should have the following properties.
Completeness: Every element/part of a target message ap-
pears on the right-hand side of some mapping rule.
Accuracy: Every element/part of a target message appears in
at most one right-hand side of a mapping rule.
In the eBay example, we have the data mapping shown in
Table II. eBay and TPC stands for eBay and TPC services, re-
spectively. Notations like eBay.Order stands for message Order
of eBay. For complex messages made up of multiple parts/ele-
ments, we use brackets to aggregate the multiple parts/elements
into one single message. For example, message eBay.(UserID,
SercretID) stands for a message of eBay, and this message is
made up of two elements, i.e., UserID and SercretID. In eBay.
(Token, OrderID, UserID), Token stands for the element Token
inmessage(Token,OrderID,UserID)ofeBay.Inrow3,“eBay”
stands for a constant string whose content is eBay.
andis a finite set of data
(i.e., an out-
TABLE II
DATA MAPPING TABLE
Our approach assumes that the data mapping between two
services is accurate. It is easy to verify that the data mapping in
Table II is complete and accurate.
C. Mediator Existence Checking
In order to check whether there exists mediation to glue two
partiallycompatibleservices,weintroducetheconceptofCRG.
Its basic idea is to construct the reachability graph of two ser-
vices concurrently, using data mapping as the communication
mechanism. That is, when the source data is ready, their target
should be informed.
Given two SWF-nets
CRG is a directed graph
. There are two kinds of edges in CRG. One is oper-
ation edge, i.e.,
, and a data mapping, their
, where
—
The other is mediation edge, i.e.,
—
A mediation edge is constructed to act as the communication
mechanism between two services. The meaning of
given in Algorithm 1.
is
Algorithm 1. (Method to Construct CRG)
Input: SWF-nets
and data mapping .
The data mapping table used here is similar to Table II,
except that a new column named flag is added.
Output:
1) Initialize
is untagged.
;
2) While there are untagged nodes in
do
Page 7
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
TAN et al.: A PETRI NET-BASED METHOD FOR COMPATIBILITY ANALYSIS AND COMPOSITION OF WEB SERVICES7
2.1) Select an untagged nodeand tag it;
2.2) For each enabled transition,
at
,
, do
2.2.1) Compute
such that—
; else if
; if
.
2.2.2)Ifthereexists
”suchthat
, and
s.t.
—
, then the
algorithm fails and exists; (the unboundedness
condition of CRG has been detected).
2.2.3) If there is no
such that
is untagged).
then
; (
2.2.4)
.
2.2.5) If
(i.e., new tokens are fed into
with the firing of
message places
).
a) Flag all the rows whose source message
is
in the data mapping table.
b) Compute
is derived from
such that—.
through virtual transition
by i) unmarking
mapping rules whose source message is
, the target messages are satisfied; and
ii) for each newly satisfied target message in
step a, mark the place attached with that
message.
(A target message is satisfied iff in the
data mapping table, all the rows it resides
in are flagged).
if in all data
c) If
: tag;;
.
(
is untagged).
3) The algorithm succeeds with
obtained.
GiveneBayservice
mapping
to Algorithm 1, as Fig. 7 shows. The operation edges are de-
noted with solid lines, and the names of operation transitions
are labeled on the lines. The mediation edges are denoted with
dashed lines, and the data obtained by mediation are labeled on
the dashed lines.
We will prove that if
there exists a mediator to glue
tion, we give the method to generate it. We have the following
theorem.
Theorem 1: Given accurate data mapping , and two SWF-
nets
and, there exists a mediator
and
andcan be composed via
well-formed, i.e.,
1)
, there is an edge sequence
s.t.and
,TPCservice inFig.6,andthedata
in Table II, we can deriveaccording
satisfies certain property,
and, and in the next sec-
with respect to ,
iff is
and a marking
.
Fig. 7. The CRG of eBay and TPC service.
2) Givens.t. , if
, then .
Its proof is given in the appendix. The proof shows that
the CRG contains all needed properties in mediator existence
checking. Moreover, in our method to build CRG, state-space
exploration is sped up, because mediation transitions are se-
lected as stubborn sets. Using stubborn sets, CRG is generated
as a reduced state-space of the composed services, eliminating
some intermediate states that are not relevant to compatibility
verification.
We can easily verify that
formed. Therefore, we claim that a mediator exists to glue
and.
Fig. 8(a) shows two services with no mediator to glue them.
Service
expects to receive message
sage
in the next step. Service
, and then sends messagein the next step. With data map-
ping
well-formed. Therefore,
and
aid of mediation. Fig. 8(b) shows the composition of services
andwith given data mapping, and the net obtained contains
a deadlock in fact.
in Fig. 7 is well-
, and then sends mes-
expects to receive message
,theCRG[Fig.8(c)]isnot
cannot be composed with the
V. MEDIATOR GENERATION APPROACH
A. Types of Mediation
Here, we first introduce the classification of mediators.
Page 8
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
8IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING
Fig. 8. (a) An example in which no mediator exists. (b) The composed service.
(c) The CRG.
1) Store/Forward Mediator: A store/forward mediator is the
simplest kind. It stores the incoming message and forwards it to
the receiver when needed.
2) Transformation Mediator: A transformation mediator
transforms theincoming message and forwards it tothereceiver
when needed.
3) Split Mediator: A split mediator replicates the source
message (or part/element of it) into multiple copies.
4) Merge Mediator: Corresponding to a split mediator, a
merge mediator collects the multiple source messages/parts/el-
ements, and then combines them into one single targetmessage.
The CPN models for these types of mediators are given in
Fig. 9.
Giventhedifferenttypesofmediation,inLemma1,weprove
that the value of trans flag does not influence the existence
of mediators. Hence, it is ignored in the mediator existence
checking algorithm.
Lemma 1: The value of trans flag does not influence the ex-
istence of mediator.
Proof: For a data mapping rule src, target, trans flag , the
mediatorgeneratedisshowninFig.10.Themediatorwithtrans-
formation can be reduced to the mediator w/o transformation,
preserving liveness, safeness, and boundedness (this kind of re-
ductioniscalledFusionofSeriesPlacesin[22]).FromTheorem
1, we seethat mediator existenceonly relates to the livenessand
safeness property. Thus, the value of trans flag does not influ-
ence the existence of mediators.
The mediator existence checking method assumes the value
of trans flag to be false in each data mapping rule. Owing to
Lemma 1, it can be extended to circumstances where trans flag
is true or false.
B. Guided Mediator Generation
InSectionIV,weuseCRGtochecktheexistenceofmediator
between two services. If it is well-formed, this section gives the
methodtobuildthemediatorbetweenmessageplacesof
.
and
Fig.
(c) Split/merge mediator.
9. (a)Store/forward mediator.(b)Transformationmediator.
Fig. 10. Transformation mediator and store/forward mediator.
Recall the concept of data mapping, and its example in
Table II, we define reference count for each message
data mapping
. Message
andappear in one row in the data mapping table. For
example, in Table II, the first row represents data mapping
rule eBay.Order, TPC.COReq.Order , we say that message
Order of eBay is referred by message COReq of TPC, and vice
versa. The reference count for message
mapping rules whose source message is
Forexample,inTableII,thereferencecountofmessageeBay.
Token is 1, since it is only referred by eBay. (Token, OrderID,
UserID); the reference count of message eBay.Order is 2, since
it is referred by TPC.COReq and eBay (UserID, SecretID.)
While reference count can be easily derived from a simple
observation on the data mapping table, we further define active
referencecount
foreachsourcemessage
.is the number of data mapping rules whose source
message is
, and the target of this data mapping is consumed
in CRG. For example, the reference count of eBay.OrderData
is 1; if in Fig. 7 there is always a token left in
marking
, the active reference count of eBay.OrderData is
0, because it means that although message eBay.OrderData is
referred by one data mapping rule, the target message of this
in
is referred by message, if
is the number of data
.
indatamapping
in terminal
Page 9
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
TAN et al.: A PETRI NET-BASED METHOD FOR COMPATIBILITY ANALYSIS AND COMPOSITION OF WEB SERVICES9
mapping is never consumed. A data mapping rule is active iff
the target message is consumed in at least one terminal marking
.
Based on the concept of data mapping and active reference
count,wecanbuildamediatorbetweentwoservices.Algorithm
2 gives the method to generate it. Its basic idea is illustrated in
Fig. 9, and its procedure is explained as follows.
For a message mapping where
use a store/forward mediator. In Fig. 9(a), if message
by
and needed by, we simply merge
store/forward mediator.
For message mapping with transformation, use a transforma-
tion mediator. In Fig. 9(b), if
by
, andcan be transformed from
tion transition mt between
and
mediator.
For message src with
message target with
In Fig. 9(c), if
is sent by
is sent byand also referred by
transitions mt and mt after
and mt beforeand, and we add
connect these mediation transitions.
,
is sent
to form a and
is sent by and
; we add a media-
to form a transformation
is needed
, use a split mediator. For
, use a merge mediator.
and referred by
and
and, merge transitions mt
and;
. We add split
, and to
Algorithm 2 (Generation of a Mediator)
Input: SWF-nets and, data mapping
Output:
1).
2) For each outgoing message place
s.t..
2.1) If
2.1.1) Add a mediation transitionin:
, add places
in:
.
2.1.2)
.
3) For each incoming message place
s.t..
3.1) If
3.1.1) Add a mediation transitionin:
, add places
in:
.
3.1.2)
.
4) For each active data mapping rule without transformation,
and the source and target message places are
and, respectively:.
Fig. 11. Mediation-aided service composition.
5) For each active data mapping rule with transformation,
and the source and target message places are
and, respectively,.
6) Return
.
In Algorithm 2, two functions, i.e.,
and
are used.
with a place
and/or
is to add a transition
and a place
is
to merge a place
if
and/or
.
between a place
,
is null, use instead ofand
(that is,
), if
and/or is null, useand/or instead of
, choose a different
and.
Note that if
time these two functions are invoked, so that each place in
will merge with a different place in
transition will have different source and target places in
.
With the proposed method, a mediator between eBay and
TPCisgenerated,asshowninFig.11.Themediationtransitions
are denoted with black rectangles to differentiate them from op-
eration transitions belonging to eBay and TPC services. With
the generated mediator
, the reachability graph of
is well-formed,i.e., eBayand TPC servicesis com-
patible with the aid of mediator
For mediator development/deployment, we use IBM Web-
Sphere Integration Developer [23] (WID) and Websphere
Process Server [24] (WPS). A program takes the BPEL ser-
vicesdefinedinWIDasinput,transformtheBPELservicesinto
SWF-nets, and analyze their compatibility. If the two BPEL
services are compatible, a mediator Petri net is generated and
transformed back into a mediator BPEL service. The mediator
BPEL service consists of such activities as receive, assign, and
invoke and the links among them. Once all source messages are
ready, the target message is generated and the corresponding
interface is invoked. In our BPEL run-time environment WPS,
each porttype is equipped with a message queue. Thus, the
mediator could simply forward the target message whenever
or each
, and each newly added
and
.
Page 10
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
10IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING
all the source messages are ready, being unaware of when
the target messages will be consumed. The mediator BPEL
assembles the two original BPEL services and makes them
run smoothly with each other. Otherwise, if the two BPEL
services are not compatible, our program can point out where
the in-compatibility is, and give instructions to correct the
in-compatibility (e.g., by adding data mapping or changing a
message sequence).
VI. RELATED WORK
This section gives an overview of the related work.
A. Web Service Composition
Industry and academia have different concentrations in web
service composition. Industrial community focuses on compo-
sition languages, e.g., BPEL, WS-CDL, OWL-S [25], and the
build-time/run-time environment to support them [8]. However,
theexistingcompositionspecificationsonlysupportdirectcom-
position, which seems to be straightforward and often too rigid.
Academic community focuses on automatic composition [8]
through AI planning [7], constraint solving [6], and other ap-
proaches and the verification of service composition [10], [26]
usingPetrinets,processalgebra,andautomataastheformalism.
The work concentrates on the conceptual level, making reason-
able simplification on some nontrivial details (for example, the
partial compatibility issue).
B. Business Process Integration
Compatibilityproblemsalsoexistwhentwoormorebusiness
processes are to be integrated [27]. Compared with traditional
business processes, web services are autonomous, loosely cou-
pled, and defined in a standard format. Hence, mediation can be
used as a preferable approach than modifying internal structure
when gluing partially compatible services.
C. Web Service Configuration
Briefly, there are two methods to make partially compatible
servicesworksmoothlywitheachother,i.e.,mediation[13]and
configuration [28]. Configuration is a heavy-weight approach
that changes the original service within some predefined vari-
able points to make it work smoothly with otherservices. Casati
and Shan [28] propose a configuration-based approach that en-
ables the dynamic and adaptive composition of e-services.
D. Petri Net Model of BPEL Processes
There are some studies on the modeling and analysis of a
single BPEL processes using Petri nets. [29]–[31]. Hinz [31]
presents a Petri net model for BPEL, and this model covers
the exceptional behavior (e.g., faults, events, compensation).
Lohmann [29] uses Petri nets to decide the controllability of a
service, i.e., the existence of a partner process, and compute its
operating guideline. Ouyang et al. [30] present a comprehen-
sive and rigorously defined mapping of BPEL constructs into
Petri net structures. These studies provide good formalisms for
the analysis of a single BPEL process. Other work focuses on
the analysis of the direct composition of two or more BPEL
services [32]–[34]. Compared with the work in [32]–[34], we
clearly move one step forward to tackle the issue of in-direct
composition.
E. Component/Web Service Mediation
Compared with configuration, mediation is relatively a
lightweight approach. The idea of mediation-aided service
composition is stimulated by the related work in software
engineering area. For example, generative programming [35]
is a style of computer programming that uses automated source
code creation through generic classes, prototypes, templates,
aspects, and code generators to improve the productivity of
programmers.
Yellin et al. [15] propose a method to augment object-ori-
ented component interfaces with protocols that include
sequencing constraints. The author defines adaptors that can
be used to bridge the differences between components, and
presents the method to automatically generate adaptors. Our
work is stimulated by [15], but significantly different from [15]
in the following aspects. First, the automata-based approach
has limitations in modeling the concurrent behavior of web
services (e.g., the flow construct in BPEL), while Petri nets are
good at modeling such behavior. Second, the automata-based
approach focuses on a message exchange sequence, but ignores
the different exchange styles (e.g., more subtle behavior such
as one-way invoke and two-way invoke, receive with/without
reply, cannot be modeled by automata), while Petri nets can
describe them well (as seen in Section III). Third, in the au-
tomata model in [15], all the state transitions are triggered by
external messages. Thus, the internal nondeterminism cannot
be modeled (e.g., the if construct in BPEL), while our SWF-net
can model internal as well as external nondeterminism. Last,
the automata-based approach can only model the synchronous
semantics of composition, while Petri net-based one can model
both synchronous and asynchronous semantics. This work uses
asynchronous semantics that is realistic in industrial service
composition.
The work in [11] and [13] provides various scenarios of
mismatch patterns in web service composition. However, a
comprehensive classification is missing. Some scenarios are
presented with the corresponding solutions. However, these
solutions seem elementary (presented with natural language),
and based on proprietary models. Hence, they can hardly be
used in practice.
Based on their previous work [11], Kongdenfha et al. [14]
propose the use of an aspect-oriented programming (AOP) ap-
proach to weave adaptation solutions into the partially compat-
ible services. The recent work in [12] proposes a method to au-
tomatically generate a mediator between two services. Nezhad
et al. [36] also propose an automata-based method to model the
protocol of service interaction and to identify mismatches auto-
matically. They use a schema matchmaking technique to handle
the issue of message mapping, and also propose some heuristic
methods for deadlock resolution between two services.
A comparative summary of previous efforts in this area is
given in Table III. The columns of the table correspond to the
following criteria, where Y means yes and N means no.
Page 11
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
TAN et al.: A PETRI NET-BASED METHOD FOR COMPATIBILITY ANALYSIS AND COMPOSITION OF WEB SERVICES 11
TABLE III
A COMPARISON OF RELATED WORK ON SERVICE COMPOSITION/ANALYSIS
• MO indicates the formal model used: FSM for finite-state
machines, PN for Petri nets, CPN for colored Petri nets,
and YAWL for Yet Another Workflow Language.
• AC indicateswhethertheformalismprovidesa representa-
tion of advanced BPEL constructs like event handler, fault
handler, scope, etc.
• CM indicates whether a formalism considers the compo-
sition of multiple services.
• MC indicates whether mediation code generation method
is given.
• AM indicates whether a method for automatic message
mapping between services is given.
• CP indicates whether correctnessproof for a givenmethod
is given.
VII. CONCLUSION
Whentwowebservicesprovidecomplementaryfunctionality
andcouldbelinkedtogetherinprinciple,buttheirinterfacesand
interaction patterns do not fit each other exactly, they cannot be
directly composed. The challenge here is to analyze interser-
vice compatibility and automatically compose services with the
minimum engineering cost. In this paper, we address this chal-
lenge with the help of a motivating scenario on the composition
of eBay and a TPC service.
To provide a rigorous approach to analyze the compatibility
and check whether there exists any mediator, we first transform
BPEL services into service workflow nets which is a kind of
CPNs. Based on this model, we analyze the compatibility of
two services, and devise an approach to check whether there ex-
ists any message mediator so that their composition violates no
constraints imposed by either side. Later the method for medi-
atorgenerationisproposedtocomposetwopartiallycompatible
services.
We have developed a prototype system to validate our ap-
proach. In this system, BPEL processes are transformed to
CPNs, and CRGs are built to check the compatibility. If two
nets are compatible, mediation skeletons are given, and if not,
detailedinstructionsformodificationareprovided.Therecently
developed elementary siphon concepts can be potentially used
to overcome this complexity problem [38]–[42].
Future work includes applying the proposed method to more
real-life cases. Reachability-based methods are generally com-
putationally expensive. Although we have adopted a stubborn-
set-based approach to generate a reduced state-space, the pro-
posed methods still need to be further tested on more compli-
cated cases.
At the same time, the next step is to add automatic data
mapping functionality into our system, using the semantic-
based approach. In this paper, we utilize product-specific
property to facilitate mediator service generation, so another
to-do task is to further investigate the mediator code generation
method in more general case.
APPENDIX
PROOF OF THEOREM 1
The Proof of Theorem 1 needs the concept of stubborn set
[37]. Intuitively, a stubborn set contains a set of transitions, and
remains to be stubborn when a transition outside it fires. This
propertyinfersthatinmarking
and , then there is a marking
that
.
Lemma2: [37,Th.1.23]Theordinarystate-spaceisalabeled
directed graph
, while the reduced state-space generated
by stubborn sets is a labeled directed graph
If
andis a terminal state, then
terminal state of
.
If
is a terminal state of , then
state of
.
Lemma 3: [37, Th. 1.24] There is an infinite occurrence se-
quence in the reduced state-space if and only if there is an infi-
nite occurrence sequence in the ordinary state-space.
Theorem 1 claims that the method to generate CRG is equiv-
alent to generate reduced state space using the set of mediation
transitions as stubborn sets. Since we are only interested in ter-
minalstatesinthestate-space,thereducedstate-spacepreserves
allrelevantproperties. Thatistosay,CRG iswell-formed iffthe
two services can be composed with the help of a mediator.
Proof of Theorem 1:
is well-formed, a mediator
exists. In Section V, we give the method to derive a mediator
based on the information we get from (a well-formed) CRG,
and we denote the mediation as
Whenwebuildthereachabilitygraphof
(denoted as
set defined in (1), we’ll obtain a reduced reachability graph of
,denotedas
,if
such
, then
andis a
andis a terminal
We are to prove that if
which conforms to
.
), if we use the stubborn
(1)
The meaning of function
there is mediation transition enabled, choose it as the single en-
abled transition in the stubborn set at marking
multiple mediation transitions enabled, choose any one of them
as the single enabled transition in the stubborn set.) When there
is nomediation transitionenabled, thestubbornset equals tothe
set of all transitions in
we obtain a subgraph of
is explained as follows. When
. (If there are
. By this means,
.
Page 12
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
12IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING
According to Lemmas 2 and 3,
contains all terminal markings and one infinite path if there
is one in
of well-formedness only involves the terminal markings,
preserve all the information we
require. On the other hand, it is easy to see
equivalentto
). So, if
is also well-formed, and ultimately,
is well-formed. Therefore, we con-
clude that
serves as the mediation to make
with
.
Remark:
.
andmediator,respectively.
means that there is a surjective mapping
suchthat
and
. Since the verification
is
withrespecttomarking
is well-formed,
compatible
and are markings of
areequivalent,
between
if
and
and,
.
.Ifin
there is, then
. (
is the projection function that
to
whichconformsto
is well-formed. As we have mentioned, if
whichconformsto exists,
is well-formed, and since
subgraph of
and ultimately
is well-formed.
are media-
tion transitions in
projects the marking at
Wearetoprovethatifamediation
exists,
amediation
.
.)
is a
, so it is also well-formed,
ACKNOWLEDGMENT
W. Tan would like to thank J. Zhu and F. Rao from the IBM
China Research Laboratory, for their suggestions in motivating
the scenarios and improving the quality of this paper. The au-
thors also thank the anonymous reviewers for their valuable
comments.
REFERENCES
[1] S. Staab, W. van der Aalst, V. R. Benjamins, A. Sheth, J. A. Miller, C.
Bussler, A. Maedche, D. Fensel, and D. Gannon, “Web services: Been
there, done that?,” IEEE Intell. Syst., vol. 18, pp. 72–85, 2003.
[2] OASIS, “Web Services Business Process Execution Language Version
2.0,” 2007. [Online]. Available: http://docs.oasis-open.org/wsbpel/2.0/
CS01/wsbpel-v2.0-CS01.html
[3] W3C, “Web Service Choreography Interface (WSCI) 1.0,” 2002. [On-
line]. Available: http://www.w3.org/TR/wsci/
[4] W3C, “Web Services Choreography Description Language Version
1.0,” 2004. [Online]. Available: http://www.w3.org/TR/2004/WD-ws-
cdl-10-20041217
[5] W. M. P. van der Aalst, “The application of Petri nets to workflow
management,” J. Circuits, Syst. Comput., vol. 8, pp. 21–66, 1998.
[6] R. Aggarwal, K. Verma, J. Miller, and W. Milnor, “Constraint driven
webservicecompositioninMETEOR-S,”inProc.IEEEInt.Conf.Ser-
vices Comput., 2004, pp. 23–30.
[7] M. Carman, L. Serafini, and P. Traverso, “Web service composition as
planning,” in Proc. ICAPS 2003 Workshop on Planning for Web Ser-
vices, 2003.
[8] N. Milanovic and M. Malek, “Current solutions for web service com-
position,” IEEE Internet Comput., vol. 8, pp. 51–59, 2004.
[9] B. Srivastava and J. Koehler, “Web service composition-current solu-
tions and open problems,”in Proc.ICAPS 2003 Workshopon Planning
for Web Services, 2003, pp. 28–35.
[10] R. Hull and J. Su, “Tools for composite web services: A short
overview,” ACM SIGMOD Record, vol. 34, pp. 86–95, 2005.
[11] B. Benatallah, F. Casati, D. Grigori, H. Motahari-Nezhad, and F.
Toumani, “Developing adapters for web services integration,” in Proc.
Int. Conf. Adv. Inf. Syst. Eng. (CAiSE), 2005.
[12] A. Brogi and R. Popescu, “Automated generation of BPEL adapters,”
in Proc. Int. Conf. Service Oriented Comput. (ICSOC), Chicago, IL,
2006.
[13] D. Fensel and C. Bussler, “The web service modeling framework
WSMF,” Electron. Commerce Res. Appl., vol. 1, pp. 113–137, 2002.
[14] W. Kongdenfha, R. Saint-Paul, B. Benatallah, and F. Casati, “An as-
pect-oriented framework for service adaptation,” in Proc. Int. Conf.
Service Oriented Compu. (ICSOC), Chicago, IL, 2006.
[15] D. M. Yellin and R. E. Strom, “Protocol specifications and component
adaptors,” ACM Trans. Programming Languages and Syst., vol. 19, pp.
292–333, Mar. 1997.
[16] eBay, “Third Party Checkout,” 2006. [Online]. Available: http://
developer.ebay.com/DevZone/XML/docs/WebHelp/Checkout-
Third_Party_Checkout.html
[17] K. Jensen, ColouredPetri Nets: Basic Concepts, Analysis Methodsand
Practical Use.London, U.K.: Springer-Verlag, 1995, vol. 2.
[18] C. Girault and R. Valk, Petri Nets for Systems Engineering.
Germany: Springer-Verlag, 2003.
[19] A. Martens, “On compatibility of web services,” Petri Net Newsletter,
vol. 65, pp. 12–20, Oct. 2003.
[20] J.CardosoandA.Sheth,“Semantice-workflowcomposition,”J.Intell.
Inf. Syst., vol. 21, pp. 191–225, Nov. 2003.
[21] M. Szomszor, T. R. Payne, and L. Moreau, “Automated syntactic me-
diation for web service integration,” in Proc. Int. Conf. Web Services,
2006, pp. 127–136.
[22] B. Hruz and M. C. Zhou, Modeling and Control of Discrete Event Dy-
namic Systems. London, U.K.: Springer.
[23] “IBM Websphere Integration Developer.” [Online]. Available: http://
www-306.ibm.com/software/integration/wid/
[24] “IBM Websphere Process Server.” [Online]. Available: http://www-
306.ibm.com/software/integration/wps/
[25] W3C, “OWL-S: Semantic Markup for Web Services,” 2004. [Online].
Available: www.w3.org/Submission/OWL-S/
[26] S. Deng, Z. Wu, M. Zhou, Y. Li, and J. Wu, “Modeling service com-
patibility with pi-calculus for choreography,” in Proc. 25th Int. Conf.
Conceptual Modeling (ER2006), Tucson, AZ, 2006, pp. 26–39.
[27] W. M. P. van der Aalst, “Loosely coupled interorganizational work-
flows: Modeling and analyzing workflows crossing organizational
boundaries,” Inf. Manage., vol. 37, pp. 67–75, 2000.
[28] F.CasatiandM.C.Shan,“Dynamicandadaptivecompositionofe-ser-
vices,” Inf. Syst., vol. 26, pp. 143–163, 2001.
[29] N. Lohmann, P. Massuthe, C. Stahl, and D. Weinberg, “Analyzing in-
teracting BPEL processes,” in Proc. Int. Conf. Business Process Man-
agement, 2006, pp. 17–32.
[30] C. Ouyang, E. Verbeek, W. M. P. V. D. Aalst, S. Breutel, M. Dumas,
and A. H. M. t. Hofstede, “Formal semantics and analysis of control
flow in WS-BPEL,” Queensland Univ. Technol., Brisbane, Australia,
Tech. Rep. 2174, 2006.
[31] S. Hinz, K. Schmidt, and C. Stahl, “Transforming BPEL to Petri nets,”
in Proc. Int. Conf. Business Process Manage., 2005, pp. 220–235.
[32] A. Martens, “Analyzing web service based business processes,” in
Proc. 8th Int. Conf. Fundamental Approaches to Softw. Eng., 2005,
pp. 19–33.
[33] A. Martens, S. Moser, A. Gerhardt, and K. Funk, “Analyzing compati-
bilityofBPELprocesses,”inProc.Int.Conf.InternetandWebApplica-
tions and Services/Advanced Int. Conf. Telecommun. (AICT-ICIW’06),
2006, pp. 147–147.
[34] R.HamadiandB.Benatallah,“Apetrinet-basedmodelforwebservice
composition,” in Proc. 14th Australasian Database Conf. (ADC2003),
2003, pp. 191–200.
[35] K. Czarnecki and U. Eisenecker, Generative Programming: Methods,
Tools, and Applications.Reading, MA: Addison-Wesley, 2000.
[36] H. R. M. Nezhad, B. Benatallah, A. Martens,F. Curbera, and F. Casati,
“SemiAutomated adaptation of service interactions,” in Proc. 16th Int.
World Wide Web Conf. (WWW2007), 2007, pp. 993–1002.
[37] A. Valmari, “Stubborn sets for reduced state space generation,” in Ad-
vances in Petri Nets 1990, LNCS 483, G. Rozenberg, Ed.
Springer, 1991, pp. 491–515.
[38] Z. W. Li and M. C. Zhou, “Elementary siphons of Petri nets and
their applications to deadlock prevention in flexible manufacturing
systems,” IEEE Trans. Syst., Man, Cybern., vol. 34, no. 1, pp. 38–51,
Jan. 2004.
Berlin,
New York:
Page 13
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
TAN et al.: A PETRI NET-BASED METHOD FOR COMPATIBILITY ANALYSIS AND COMPOSITION OF WEB SERVICES 13
[39] Z. W. Li and M. C. Zhou, “Clarifications on the definitions of elemen-
tary siphons in Petri nets,” IEEE Trans. Syst., Man, Cybern.: Part A,
vol. 36, no. 6, pp. 1227–1229, Nov. 2006.
[40] Z. W. Li and M. C. Zhou, “Two-stage method to design liveness-en-
forcing Petri net supervisor for FMS,” IEEE Trans. Ind. Inf., vol. 2, no.
4, pp. 313–325, Nov. 2006.
[41] Z. W. Li, H. S. Hu, and A. R. Wang, “Design of liveness-enforcing
supervisors for flexible manufacturing systems using Petri nets,” IEEE
Trans. Syst., Man, Cybern. C, vol. 37, no. 4, pp. 517–526, Jul. 2007.
[42] Z. W. Li and M. C. Zhou, “Control of elementary and dependent
siphons in Petri nets and their application,” IEEE Trans. Syst., Man,
Cybern.: Part A, vol. 38, no. 1, pp. 133–148, Jan. 2008.
Wei Tan received the B.S. and Ph.D. degrees in con-
trol theory and engineering from Tsinghua Univer-
sity, Beijing, China, in 2002 and 2008, respectively.
He is currently a Research Professional Associate
at the Computation Institute, University of Chicago
and Argonne National Lab, IL. His research inter-
ests include business process management, service
oriented architecture, scientific workflow, and Petri
net.From January to July2007, he wasa Visiting Re-
searcher at the IBM T. J. Watson Research Center,
NY.
Yushun Fan received the B.S. degree in automatic
control from the Beijing University of Aeronautics
and Astronautics, Beijing, China, in 1984, and the
M.S.andPh.D.degreesincontroltheoryandapplica-
tion from Tsinghua University, Beijing, in 1987 and
1990, respectively.
He is currently a Professor with the Department
of Automation, Director of the System Integration
Institute, and Director of the Networking Man-
ufacturing Laboratory, Tsinghua University. He
authored ten books in enterprise modeling, workflow
technology, intelligent agent, and object oriented complex system analysis,
computer-integrated manufacturing, respectively, and published more than 300
research papers in journals and conferences. His research interest includes
enterprise modeling methods and optimization analysis, business process
reengineering, workflow management, system integration and integrated
platform, object-oriented technologies and flexible software systems, Petri nets
modeling and analysis, and workshop management and control.
MengChu Zhou (S’88–M’90–SM’93–F’03) re-
ceived the B.S. degree from the Nanjing University
of Science and Technology, Nanjing, China, in
1983, the M.S. degree from the Beijing Institute of
Technology, Beijing, China, in 1986, and the Ph.D.
degree in computer and systems engineering from
the Rensselaer Polytechnic Institute, Troy, NY, in
1990.
He joined the New Jersey Institute of Technology
(NJIT), Newark, NJ, in 1990, and is currently a Pro-
fessor of Electrical and Computer Engineering. His
research interests are in computer-integrated systems, Petri nets, wireless ad
hoc and sensor networks, system security, semiconductor manufacturing, and
embedded control. He has over 250 publications including 6 books, 110 journal
papers, and 16 book-chapters. His recent book is Modeling and Control of Dis-
crete Event Dynamic Systems, Springer, 2007, coauthored with B. Hruz.
Dr. Zhou is a Life Member of the Chinese Association for Science and
Technology-USA and served as its President in 1999. He was the recipient
of NSF’s Research Initiation Award, CIM University-LEAD Award by the
Society of Manufacturing Engineers, the Perlis Research Award by NJIT, the
Humboldt Research Award for U.S. Senior Scientists, and Leadership Award
by the Chinese Association for Science and Technology, USA. He served as
Associate Editor of the IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION
from 1997 to 2000, and the IEEE TRANSACTIONS ON AUTOMATION SCIENCE
AND ENGINEERING from 2004 to 2007. He is currently Managing Editor of
the IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS: PART C,
Associate Editor of the IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS,
the IEEE TRANSACTIONS ON SYSTEMS, MAN AND CYBERNETICS: PART A,
and Editor-in-Chief of the International Journal of Intelligent Control and
Systems. He was General Co-Chair of the 2003 IEEE International Conference
on System, Man, and Cybernetics, and General Chair of the 2006 IEEE
International Conference on Networking, Sensors, and Control. He is serving
as General Chair of the IEEE Conference on Automation Science and Engi-
neering, Washington D.C., August 2008. He is Chair of the Semiconductor
Manufacturing Automation Technical Committee of the IEEE Robotics and
Automation Society and Co-Chair of the Enterprise Information Systems
Technical Committee of the IEEE Systems, Man, and Cybernetics Society.
View other sources
Hide other sources
-
Available from Mengchu Zhou · 26 Oct 2012
-
Available from anl.gov