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