Abstract
Several languages for describing Web service compositions, like BPEL (Business Process Execution Language), make use of fault and compensation constructs to handle internal and/or external runtime errors of the composed service. This situation particularly occurs for transactional services. However, the absence of a rigorous definition of these BPEL constructors makes it difficult to correctly define the transactional behaviour of a BPEL process. The definitions of such constructs are usually given by their informal descriptions available in the standards. Our contribution proposes an approach to formally define the semantics of these operators. Thus, this paper presents a new Event-B semantics for formal modelling of Web service compositions that covers the scope, the fault and the compensation handlers introduced by the BPEL language specification. It also proposes a methodology showing how we can use Event-B method to design transactional BPEL processes. The proposed approach is illustrated by a case study.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
BPEL Designer Project: http://eclipse.org/bpel/
- 2.
References
Abrial, J.R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press, New York (1996)
Abrial, J.R.: Modeling in Event-B: System and Software Engineering. Cambridge University Press, Cambridge (2010)
Abrial, J.R., Hallerstede, S.: Refinement, decomposition, and instantiation of discrete models: application to Event-B. Fundam. Inform. 77, 1–28 (2007)
Ait-Ameur, Y., Baron, M., Kamel, N., Mota, J.M.: Encoding a process algebra using the Event B method. Int. J. Softw. Tools Technol. Transfer 11(3), 239–253 (2009)
Ait-Sadoune, I., Ait-Ameur, Y.: A proof based approach for modelling and verifying web services compositions. In: 14th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS), pp. 1–10. IEEE Computer Society, Potsdam (2009)
Ait-Sadoune, I., Ait-Ameur, Y.: Stepwise design of BPEL web services compositions, an Event B refinement based approach. In: 8th ACIS International Conference on Software Engineering Research, Management and Applications (SERA), pp. 51–68, Montreal (2010)
Borger, E., Thalheim, B.: Modeling workflows, interaction patterns, web services and business processes: the ASM-based approach. In: Abstract State Machines, B and Z (ABZ 2008). Lecture Notes in Computer Science, vol. 5238. Springer, Heidelberg (2008)
Butler, M., Ferreira, C., Ng, M.Y.: Precise modelling of compensating business transactions and its application to BPEL. J. Univers. Comput. Sci. 11(5), 712–743 (2005)
Dijkstra, E.W.: A Discipline of Programming, 1st edn. Prentice Hall PTR, Upper Saddle River (1977)
Fahland, D., Reisig, W.: ASM-based semantics for BPEL: the negative Control Flow. In: 12th International Workshop on Abstract State Machines, pp. 131–151 (2005)
Farahbod, R., Glasser, U., Vajihollahi, M.: An abstract machine architecture for web service based business process management. In: Business Process Management Workshops. Lecture Notes in Computer Science, vol. 3812, pp. 144–157. Springer, Heidelberg (2005)
Foster, H., Uchitel, S., Magee, J., Kramer, J.: Model-based verification of web service compositions. In: 18th IEEE International Conference on Automated Software Engineering (ASE’03), pp. 152–163 (2003)
Guidi, C., Lucchi, R., Mazzara, M.: A formal framework for web services coordination. Electron. Notes Theor. Comput. Sci. 180, 55–70 (2007)
He, Y., Zhao, L., Wu, Z., Li, F.: Formal modeling of transaction behavior in WS-BPEL. In: International Conference on Computer Science and Software Engineering (CSSE 2008) (2008)
Hinz, S., Schmidt, K., Stahl, C.: Transforming BPEL to petri nets. In: Springer-Verlag (ed.) 3rd International Conference on Business Process Management. Lecture Notes in Computer Science, vol. 2649. Springer, Heidelberg (2005)
Hoare, C.A.R.: An axiomatic basis for computer programming. Commun. ACM 12, 576–580 (1969)
Kovacs, M., Varro, D., Gonczy, L.: Formal analysis of BPEL workflows with compensation by model checking. Int. J. Ccomput. Syst. Sci. Eng. 23(5), 35–49 (2008)
Leuschel, M., Butler, M.: ProB: a model checker for B. In: Formal Methods, International Symposium of Formal Methods Europe (FME’03). Lecture Notes in Computer Science, vol. 2805, pp. 855–874. Springer, Heidelberg (2003)
Lohmann, N.: A feature-complete petri net semantics for WS-BPEL 2.0. In: Web Services and Formal Methods International Workshop WSFM 2007 (2007)
Marconi, A., Pistore, M.: Synthesis and composition of web services. In: Formal Methods for Web Services - 9th International School on Formal Methods for the Design of Computer, Communication and Software Systems: Web Services. Lecture Notes in Computer Science, vol. 5569. Springer, Heidelberg (2009)
Nakajima, S.: Model-checking behavioral specification of BPEL applications. Electron. Notes Theor. Comput. Sci. 151, 89–105 (2006)
OASIS: Web Services Business Process Execution Language Version 2.0. http://bpel.xml.org/ (April 2007)
OMG: Business Process Model and Notation (BPMN) Version 2.0. http://www.omg.org/spec/BPMN/2.0 (June 2010)
Rodin: User Manual of the RODIN Platform. http://deploy-eprints.ecs.soton.ac.uk/11/1/manual-2.3.pdf (October 2007)
Salaun, G., Bordeaux, L., Schaerf, M.: Describing and reasoning on web services using process algebra. In: IEEE International Conference on Web Services (ICWS’04), pp. 43–51 (2004)
ter Beek, M.H., Bucchiarone, A., Gnesi1, S.: Formal methods for service composition. Ann. Math. Comput. Teleinformatics 1(5), 1–14 (2007)
van der Aalst, W.M., Mooil, A.J., Stahl, C., Wolf, K.: Service interaction: patterns, formalization, and analysis. In: Formal Methods for Web Services - 9th International School on Formal Methods for the Design of Computer, Communication and Software Systems: Web Services. Lecture Notes in Computer Science, vol. 5569. Springer, Heidelberg (2009)
W3C: Web Service Definition Language (WSDL 1.1). http://www.w3.org/TR/wsdl (February 2004)
W3C: OWL-S: Semantic Markup for Web Services. http://www.w3.org/Submission/OWL-S/ (November 2004)
W3C: Web Services Choreography Description Language Version 1.0. http://www.w3.org/TR/ws-cdl-10/ (November 2005)
WMC-WS: Process Definition Interface - XML Process Definition Language. http://www.wfmc.org/xpdl.html (October 2008)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this chapter
Cite this chapter
Ait-Sadoune, I., Ait-Ameur, Y. (2015). Formal Modelling and Verification of Transactional Web Service Composition: A Refinement and Proof Approach with Event-B. In: Thalheim, B., Schewe, KD., Prinz, A., Buchberger, B. (eds) Correct Software in Web Applications and Web Services. Texts & Monographs in Symbolic Computation. Springer, Cham. https://doi.org/10.1007/978-3-319-17112-8_1
Download citation
DOI: https://doi.org/10.1007/978-3-319-17112-8_1
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-17111-1
Online ISBN: 978-3-319-17112-8
eBook Packages: Computer ScienceComputer Science (R0)