Abstract
We tackle the problem of providing rigorous formal foundations to current software engineering technologies for web services, and especially to WSDL and WS-BPEL, two of the most used XML-based standard languages for web services. We focus on a simplified fragment of WS-BPEL sufficiently expressive to model asynchronous interactions among web services in a network context. We present this language as a process calculus-like formalism, that we call ws-calculus, for which we define an operational semantics and a type system. The semantics provides a precise operational model of programs, while the type system forces a clean programming discipline for integrating collaborating services. We prove that the operational semantics of ws-calculus and the type system are ‘sound’ and apply our approach to some illustrative examples. We expect that our formal development can be used to make the relationship between WS-BPEL programs and the associated WSDL documents precise and to support verification of their conformance.
Similar content being viewed by others
References
van der Aalst WMP, Lassen KB (2008) Translating unstructured workflow processes to readable BPEL: Theory and implementation. Inf Softw Technol 50(3):131–159
Acciai L, Boreale M (2008) Spatial and behavioral types in the pi-calculus. In: CONCUR. LNCS, vol 5201. Springer, Berlin, pp 372–386
Acciai L, Boreale M (2008) A type system for client progress in a service-oriented calculus. In: Concurrency, graphs and models. LNCS, vol 5065. Springer, Berlin, pp 642–658
Amadio R, Castellani I, Sangiorgi D (1998) On bisimulations for the asynchronous pi-calculus. Theor Comput Sci 195(2):291–324
Arkin A, Askary S, Fordin S, Jekeli W, Kawaguchi K, Orchard D, Pogliani S, Riemer D, Struble S, Takacsi-Nagy P, Trickovic I, Zimek S (2002) Web service choreography interface (WSCI) 1.0. Tech rep, W3C. Available at http://www.w3.org/TR/wsci/
Banerji A, Bartolini C, Beringer D, Chopella V, Govindarajan K, Karp A, Kuno H, Lemon M, Pogossiants G, Sharma S, Williams S (2002) Web services conversation language (WSCL) 1.0. Tech rep, W3C Note. Available at http://www.w3.org/TR/2002/NOTE-wscl10-20020314
Battle S, Bernstein A, Boley H, Grosof B, Gruninger M, Hull R, Kifer M, Martin D, McIlraith S, McGuinness D, Su J, Tabet S (2005) Semantic web services framework (SWSF) 1.0. Tech rep, SWSL Committee. Available at http://www.daml.org/services/swsf/1.0/
Bettini L, Coppo M, D’Antoni L, De Luca M, Dezani-Ciancaglini M, Yoshida N (2008) Global progress in dynamically interleaved multiparty sessions. In: CONCUR. LNCS, vol 5201. Springer, Berlin, pp 418–433
Boag S, Chamberlin D, Fernández M, Florescu D, Robie J, Siméon J (2007) Xquery 1.0: an XML query language. Tech rep, W3C. Available at http://www.w3.org/TR/xquery/
Bocchi L, Laneve C, Zavattaro G (2003) A calculus for long-running transactions. In: FMOODS. LNCS, vol 2884. Springer, Berlin, pp 124–138
Bonelli E, Compagnoni AB (2007) Multipoint session types for a distributed calculus. In: TGC. LNCS, vol 4912. Springer, Berlin, pp 240–256
Boreale M, Bruni R, De Nicola R, Loreti M (2008) Sessions and pipelines for structured service programming. In: FMOODS. LNCS, vol 5051. Springer, Berlin, pp 19–38
van Breugel F, Koshkina M (2006) Models and verification of BPEL. Tech rep, Department of Computer Science and Engineering, York University. Available at http://www.cse.yorku.ca/~franck/research/drafts/tutorial.pdf
Bruni R, Butler M, Ferreira C, Hoare C, Melgratti H, Montanari U (2005) Comparing two approaches to compensable flow composition. In: CONCUR. LNCS, vol 3653. Springer, Berlin, pp 383–397
Bruni R, Melgratti H, Montanari U (2005) Theoretical foundations for compensations in flow composition languages. In: POPL. ACM, New York, pp 209–220
Busi N, Gorrieri R, Guidi C, Lucchi R, Zavattaro G (2005) Choreography and orchestration: a synergic approach for system design. In: ICSOC. LNCS, vol 3826. Springer, Berlin, pp 228–240
Butler M, Ferreira C (2004) An operational semantics for StAC, a language for modelling long-running business transactions. In: COORDINATION. LNCS, vol 2949. Springer, Berlin, pp 87–104
Caires L, Vieira H (2009) Conversation types. In: ESOP. LNCS, vol 5502. Springer, Berlin, pp 285–300
Carbone M, Honda K, Yoshida N (2007) A calculus of global interaction based on session types. In: DCM. ENTCS, vol 171. Elsevier, Amsterdam, pp 127–151
Carbone M, Honda K, Yoshida N (2007) Structured communication-centred programming for web services. In: ESOP. LNCS, vol 4421. Springer, Berlin, pp 2–17
Carpineti S, Laneve C (2006) A basic contract language for web services. In: ESOP. LNCS, vol 3924. Springer, Berlin, pp 197–213
Carpineti S, Laneve C, Padovani L (2009) PiDuce—a project for experimenting Web services technologies. Sci Comput Program 74(10):777–811
Castagna G, Gesbert N, Padovani L (2009) A theory of contracts for Web services. ACM Trans Program Lang Syst 31:5
Chaki S, Rajamani SK, Rehof J (2002) Types as models: model checking message-passing programs. In: POPL. ACM, New York, pp 45–57
Christensen E, Curbera F, Meredith G, Weerawarana S (2001) Web services description language (WSDL) 1.1. Tech rep, W3C. Available at http://www.w3.org/TR/wsdl/
Clark J, DeRose S (1999) XML path language (XPath) Version 1.0. Tech rep, W3C. Available at http://www.w3.org/TR/xpath/
Cook W, Patwardhan S, Misra J (2006) Workflow patterns in ORC. In: COORDINATION. LNCS, vol 4038. Springer, Berlin, pp 82–96
Dragoni N, Mazzara M (2010) A formal semantics for the WS-BPEL recovery framework: the pi-calculus way. In: WS-FM. LNCS, vol 6194. Springer, Berlin, pp 92–109
Erl T (2009) SOA design patterns. Prentice Hall, New York
Foster H, Uchitel S, Magee J, Kramer J (2006) LTSA-WS: a tool for model-based verification of web service compositions and choreography. In: ICSE. ACM, New York, pp 771–774
Fu X, Bultan T, Su J (2005) Synchronizability of conversations among web services. IEEE Trans Softw Eng 31(12):1042–1055
Gay S, Vasconcelos V (2010) Linear type theory for asynchronous session types. J Funct Program 20(1):19–50
Geguang P, Xiangpeng Z, Shuling W, Zongyan Q (2005) Semantics of BPEL4WS-like fault and compensation handling. In: FM. LNCS, vol 3582. Springer, Berlin, pp 350–365
Geguang P, Huibiao Z, Zongyan Q, Shuling W, Xiangpeng Z, Jifeng H (2006) Theoretical foundations of scope-based compensable flow language for web service. In: FMOODS. LNCS, vol 4037. Springer, Berlin, pp 251–266
Geguang P, Xiangpeng Z, Shuling W, Zongyan Q (2006) Towards the semantics and verification of BPEL4WS. In: DCM. ENTCS, vol 151. Elsevier, Amsterdam, pp 33–52
Gudgin M, Hadley M, Rogers T (2006) Web services addressing 1.0—Core. Tech rep, W3C. Available at http://www.w3.org/TR/ws-addr-core
Guidi C, Lucchi R, Gorrieri R, Busi N, Zavattaro G (2006) SOCK: a calculus for service oriented computing. In: ICSOC. LNCS, vol 4294. Springer, Berlin, pp 327–338
Guidi C, Lanese I, Montesi F, Zavattaro G (2008) On the interplay between fault handling and request-response service invocations. In: ACSD. IEEE, New York, pp 190–198
Hinz S, Schmidt K, Stahl C (2005) Transforming BPEL to Petri nets. In: BPM. LNCS, vol 3649. Springer, Berlin, pp 220–235
Honda K, Vasconcelos VT, Kubo M (1998) Language primitives and type discipline for structured communication-based programming. In: ESOP. LNCS, vol 1381. Springer, Berlin, pp 122–138
Honda K, Yoshida N, Carbone M (2008) Multiparty asynchronous session types. In: POPL. ACM, New York, pp 273–284
Igarashi A, Kobayashi N (2004) A generic type system for the pi-calculus. Theor Comput Sci 311(1–3):121–163
Kazhamiakin R, Pistore M (2006) Static verification of control and data inWeb service compositions. In: ICWS. IEEE, New York, pp 83–90
Kitchin D, Cook W, Misra J (2006) A language for task orchestration and its semantic properties. In: CONCUR. LNCS, vol 4137. Springer, Berlin, pp 477–491
Kobayashi N (2003) Type systems for concurrent programs. In: UNU/IIST. LNCS, vol 2757. Springer, Berlin, pp 439–453
Kobayashi N, Suenaga K, Wischik L (2006) Resource usage analysis for the π-calculus. In: VMCAI. LNCS, vol 3855. Springer, Berlin, pp 298–312
Kobayashi N (2008) Typical: type-based static analyzer for the picalculus. Tool available at http://www.kb.ecei.tohoku.ac.jp/koba/typical
Kovács M, Gönczy L, Varró D (2008) Formal analysis of BPEL workflows with compensation by model checking. J Comput Syst Sci Eng 23(5):35–49
Lanese I, Martins F, Ravara A, Vasconcelos V (2007) Disciplining orchestration and conversation in service-oriented computing. In: SEFM. IEEE, New York, pp 305–314
Laneve C, Zavattaro G (2005) Foundations of web transactions. In: FoSSaCS. LNCS, vol 3441. Springer, Berlin, pp 282–298
Laneve C, Zavattaro G (2005) Web-pi at work. In: TGC. LNCS, vol 3705. Springer, Berlin, pp 182–194
Lapadula A, Pugliese R, Tiezzi F (2006) A WSDL-based type system for WS-BPEL. In: COORDINATION. LNCS, vol 4038. Springer, Berlin, pp 145–163
Lapadula A, Pugliese R, Tiezzi F (2007) A calculus for orchestration of web services. In: ESOP. LNCS, vol 4421. Springer, Berlin, pp 33–47
Lapadula A, Pugliese R, Tiezzi F (2007) C
WS: a timed service-oriented calculus. In: ICTAC. LNCS, vol 4711. Springer, Berlin, pp 275–290
Lapadula A, Pugliese R, Tiezzi F (2008) A formal account of WS-BPEL. In: COORDINATION. LNCS, vol 5052. Springer, Berlin, pp 199–215
Leymann F (2001) Web services flow language (WSFL 1.0). Tech rep, IBM. Available at http://xml.coverpages.org/wsfl.html
Lohmann N (2008) A feature-complete Petri net semantics for WS-BPEL 2.0. In: WSFM. LNCS, vol 4937. Springer, Berlin, pp 77–91
Mazzara M, Lucchi R (2007) A pi-calculus based semantics for WS-BPEL. J Log Algebr Program 70(1):96–118
Meredith L, Bjorg S (2003) Contracts and types. Commun ACM 46(10):41–47
Mezzina LG (2008) Typses: a tool for type checking session types. Tool available at http://www.di.unipi.it/mezzina
OASIS WSBPEL TC (2007) Web services business process execution language version 2.0. Tech rep, OASIS. Available at http://docs.oasis-open.org/wsbpel/2.0/OS/
Object Management Group (1996) The common object request broker: architecture and specification (CORBA 2.0). Tech rep, OMG. Available at http://www.corba.org/
Ouyang C, Dumas M, ter Hofstede AHM, van der Aalst WMP (2006) From BPMN process models to BPEL web services. In: ICWS. IEEE, New York, pp 285–292
Ouyang C, Verbeek E, van der Aalst W, Breutel S, Dumas M, ter Hofstede A (2007) Formal semantics and analysis of control flow in WS-BPEL. Sci Comput Program 67(2–3):162–198
Schmidt K (2000) LoLA—a low level analyser. In: ICATPN. LNCS, vol 1825. Springer, Berlin, pp 465–474
Thatte S (2001) Xlang: Web services for business process design. Tech rep, Microsoft. Available at http://xml.coverpages.org/xlang.html
Viroli M (2004) Towards a formal foundational to orchestration languages. In: WSFM. ENTCS, vol 105. Elsevier, Amsterdam, pp 51–71
Wright A, Felleisen M (1994) A syntactic approach to type soundness. Inf Comput 115(1):38–94
XMethods (2010). http://www.xmethods.com
Yoshida N, Vasconcelos VT (2007) Language primitives and type discipline for structured communication-based programming revisited: two systems for higher-order session communication. In: SecReT. ENTCS, vol 171/4. Elsevier, Amsterdam, pp 73–93
Author information
Authors and Affiliations
Corresponding author
Additional information
The work presented in this paper is a much extended and revised version of Lapadula et al. [52], and has been partially supported by EU Project “Software Engineering for Service-Oriented Overlay Computers” (SENSORIA), IST-2005-016004.
Rights and permissions
About this article
Cite this article
Lapadula, A., Pugliese, R. & Tiezzi, F. A WSDL-based type system for asynchronous WS-BPEL processes. Form Methods Syst Des 38, 119–157 (2011). https://doi.org/10.1007/s10703-010-0110-0
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10703-010-0110-0