2.1 Formal Semantics and Verification of BPEL based web services
type is activity transition to model the events or actions of a BPEL activity. On the
left of the figure, the petri net models a BPEL basic activity X. If X is to receive a
message m, the transition labelled with X can be replaced by ?m. On the right of the
figure, the petri net models a BPEL flow activity, when the flow is started, subnets
A, B will be executed, and the flow completes after A, B are completed.
In a standard Petri net, tokens are indistinguishable. In a Colored Petri nets (CP-
net) (Jen97), every token has a value. CP-nets extend Petri nets with the primitives
for defining data types (color) and the manipulations of data values, thus a CP-net is
more concise than a Petri net. Transition eligibility depends then on the availability of
an appropriately coloured token in all the input places of this transition. Likewise, the
output of a transition is not just a token but a specifically coloured token.
Web service algebra is proposed in (HB03) to define a s et of web service composition
operators. The authors use Petri nets as the formal semantics for the proposed web
service algebra. The works of (OvdAB
+
05; Sta05) present Petri net semantics for
the control flow of BPEL, with consideration of BPEL advanced features such as fault
handling, event handling, and compensation handling. In (Sta05), the tool BPEL2PN
is developed to map BPEL co de to Petri nets, and model checker LoLA (Sch00) is
used to verify CTL temporal logic. The author of (LMSW06) extends (Sta05) to use
Petri net to capture the global interactions between BPEL processes. In (OvdAB
+
05),
the tool BPEL2PNML is developed to map BPEL to Petri ne ts, and a verification tool
WofBPEL is used as the analysis engine. The paper discusses how to verify the activity
reachability and some pre-defined BPEL constraints. As a summary, the above works
abstract from data. As shown in our motivation example, it is important to consider
BPEL data dependencies.
In (YTYL05), they claim to capture both BPEL control and data dependencies in
CP-nets, and CPN tools (CPN) can be used to verify the process. However, the paper
only shows how to map a core subset of BPEL to CP-nets. There is no discussion
of how to capture BPEL data dependencies, and no concern of modelling faults or
compensations. They summarize a set of properties of CP-nets to be checked and
12
DBE Project (Contract n°507953)
D10.2 DBE Test Automation Framework