Innovations Syst Softw Eng (2010) 6:283–298
DOI 10.1007/s11334-010-0134-z
ORIGINAL PAPER
Linking denotational semantics with operational semantics
for web services
Huibiao Zhu · Jifeng He · Jing Li · Geguang Pu ·
Jonathan P. Bowen
Received: 1 November 2008 / Accepted: 11 April 2010 / Published online: 30 April 2010
© Springer-Verlag London Limited 2010
Abstract Web Services have become more and more
important in these years, and BPEL4WS (BPEL) is a de
facto standard for the web service composition and orches-
tration. It contains several distinct features, including the
scope-based compensation and fault handling mechanism.
The denotational semantics and operational semantics have
been explored for BPEL. The two semantic models should
be consistent. This paper considers the linking of these two
semantics. Our approach is to derive the denotational seman-
tics from operational semantics for BPEL, which aims for the
consistency of the two models. Moreover, the derivation can
be applied in exploring the program equivalence easily, espe-
cially for parallel programs.
A short version of this paper appeared in Proceedings of ICDCIT
2007: 4th International Conference on Distributed Computing and
Internet Technology [54].
H. Zhu (B ) · J. He · J. Li · G. Pu
Shanghai Key Laboratory of Trustworthy Computing,
East China Normal University, 3663 Zhongshan Road (North),
200062 Shanghai, China
e-mail: hbzhu@sei.ecnu.edu.cn
J. He
e-mail: jifeng@sei.ecnu.edu.cn
J. Li
e-mail: jli@sei.ecnu.edu.cn
G. Pu
e-mail: ggpu@sei.ecnu.edu.cn
J. P. Bowen
Museophile Limited, Oak Barn, Sonning Eye,
Reading RG4 6TN, UK
e-mail: jpbowen@gmail.com
URL: http://www.jpbowen.com
Keywords Denotational semantics · Operational
semantics · Web services · Semantics linking ·
Unifying theories of programming (UTP)
1 Introduction
Web services and other web-based applications have been
becoming more and more important in practice. In this
blooming field, various web-based business process lan-
guages have been introduced, such as XLANG [44], WSFL
[24], BPEL4WS (BPEL) [12] and StAC [7], which are
designed for the description of services composed by a set
of processes across the Internet. Their goal is to achieve the
universal interoperability between applications by using web
standards, as well as to specify the technical infrastructure
for carrying out business transactions.
The important feature of BPEL is that it supports the long-
running interactions involving two or more parties. There-
fore, it provides the ability to define fault and compensation
handing in application-specific manner, resulting in a fea-
ture called Long-Running (Business) Transactions (LRTs).
The concept of compensation is due to the use of Sagas
[15] and open nested transactions [38]. The fault analysis has
been considered in [40, 42] for compensation processes. In
addition, BPEL provides two kinds of synchronization tech-
niques for parallel processes. In our model, shared-labels are
introduced for the synchronization between parallel branches
within a single service, while channel communications are
used for message transmission between different services.
As advocated in Hoare and He’s [21] Unifying Theories
of programming (UTP), three different styles of mathemati-
cal representation are normally used for a programming lan-
guage: operational [39], denotational [21] and algebraic one
[19]. Moreover, the unifying theories [52] between different
semantic models for a language are particularly interesting,
123