A WSDL-based type system for asynchronous WS-BPEL processes

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.

[1]  Lucia Acciai,et al.  A Type System for Client Progress in a Service-Oriented Calculus , 2008, Concurrency, Graphs and Models.

[2]  Vasco Thudichum Vasconcelos,et al.  Language Primitives and Type Discipline for Structured Communication-Based Programming Revisited: Two Systems for Higher-Order Session Communication , 1998, SecReT@ICALP.

[3]  Mirko Viroli,et al.  Towards a Formal Foundation to Orchestration Languages , 2004, WSFM.

[4]  Karsten Schmidt LoLA: a low level analyser , 2000 .

[5]  Atsushi Igarashi,et al.  A generic type system for the Pi-calculus , 2004, Theor. Comput. Sci..

[6]  Roberto Bruni,et al.  Theoretical foundations for compensations in flow composition languages , 2005, POPL '05.

[7]  Eduardo Bonelli,et al.  Multipoint Session Types for a Distributed Calculus , 2007, TGC.

[8]  Doina Bucur,et al.  Secure Data Flow in a Calculus for Context Awareness , 2008, Concurrency, Graphs and Models.

[9]  Scott Boag,et al.  XQuery 1.0 : An XML Query Language , 2007 .

[10]  Francesco Tiezzi,et al.  A Formal Account of WS-BPEL , 2008, COORDINATION.

[11]  Laura Bocchi,et al.  A Calculus for Long-Running Transactions , 2003, FMOODS.

[12]  Manuel Mazzara,et al.  A pi-calculus based semantics for WS-BPEL , 2007, J. Log. Algebraic Methods Program..

[13]  Cosimo Laneve,et al.  Foundations of Web Transactions , 2005, FoSSaCS.

[14]  Loris D'Antoni,et al.  Global Progress in Dynamically Interleaved Multiparty Sessions , 2008, CONCUR.

[15]  Naoki Kobayashi,et al.  Type Systems for Concurrent Programs , 2002, 10th Anniversary Colloquium of UNU/IIST.

[16]  Vasco Thudichum Vasconcelos,et al.  Linear type theory for asynchronous session types , 2009, Journal of Functional Programming.

[17]  Jayadev Misra,et al.  A Language for Task Orchestration and Its Semantic Properties , 2006, CONCUR.

[18]  Davide Sangiorgi,et al.  On Bisimulations for the Asynchronous pi-Calculus , 1996, Theor. Comput. Sci..

[19]  Roberto Bruni,et al.  Sessions and Pipelines for Structured Service Programming , 2008, FMOODS.

[20]  Wil M. P. van der Aalst,et al.  From BPMN Process Models to BPEL Web Services , 2006, 2006 IEEE International Conference on Web Services (ICWS'06).

[21]  Ivan Lanese,et al.  On the interplay between fault handling and request-response service invocations , 2008, 2008 8th International Conference on Application of Concurrency to System Design.

[22]  Sagar Chaki,et al.  Types as models: model checking message-passing programs , 2002, POPL '02.

[23]  Yaron Goland,et al.  Web Services Business Process Execution Language , 2009, Encyclopedia of Database Systems.

[24]  Roberto Gorrieri,et al.  Choreography and Orchestration: A Synergic Approach for System Design , 2005, ICSOC.

[25]  Xiang Fu,et al.  Synchronizability of conversations among Web services , 2005, IEEE Transactions on Software Engineering.

[26]  I. Melzer Web Services Description Language , 2010 .

[27]  Jifeng He,et al.  Theoretical Foundations of Scope-Based Compensable Flow Language for Web Service , 2006, FMOODS.

[28]  Andrew D. Gordon,et al.  Verified interoperable implementations of security protocols , 2006, 19th IEEE Computer Security Foundations Workshop (CSFW'06).

[29]  Francesco Tiezzi,et al.  A Calculus for Orchestration of Web Services , 2007, ESOP.

[30]  Davide Sangiorgi,et al.  On Bisimulations for the Asynchronous pi-Calculus , 1996, Theor. Comput. Sci..

[31]  Cosimo Laneve,et al.  A Basic Contract Language for Web Services , 2006, ESOP.

[32]  Hugo Torres Vieira,et al.  Conversation types , 2009, Theor. Comput. Sci..

[33]  Erik Christensen,et al.  WSDL: Web Service Description Language , 2001 .

[34]  Roberto Gorrieri,et al.  SOCK : A calculus for service oriented computing , 2006 .

[35]  Dániel Varró,et al.  Formal analysis of BPEL. workflows with compensation by model checking , 2008, Comput. Syst. Sci. Eng..

[36]  Raman Kazhamiakin,et al.  Static Verification of Control and Data inWeb Service Compositions , 2006, 2006 IEEE International Conference on Web Services (ICWS'06).

[37]  Cosimo Laneve,et al.  PiDuce - A project for experimenting Web services technologies , 2009, Sci. Comput. Program..

[38]  Nobuko Yoshida,et al.  Language Primitives and Type Discipline for Structured Communication-Based Programming Revisited: Two Systems for Higher-Order Session Communication , 2007, Electron. Notes Theor. Comput. Sci..

[39]  Matthias Felleisen,et al.  A Syntactic Approach to Type Soundness , 1994, Inf. Comput..

[40]  Jayadev Misra,et al.  Workflow Patterns in Orc , 2006, COORDINATION.

[41]  Geguang Pu,et al.  Towards the Semantics and Verification of BPEL4WS , 2006, WLFM@FM.

[42]  Karsten Wolf,et al.  Transforming BPEL to Petri Nets , 2005, Business Process Management.

[43]  Roberto Bruni,et al.  Comparing Two Approaches to Compensable Flow Composition , 2005, CONCUR.

[44]  Francisco Curbera,et al.  Web Services Business Process Execution Language Version 2.0 , 2007 .

[45]  Ivan Lanese,et al.  Disciplining Orchestration and Conversation in Service-Oriented Computing , 2007, Fifth IEEE International Conference on Software Engineering and Formal Methods (SEFM 2007).

[46]  Michael J. Butler,et al.  An Operational Semantics for StAC, a Language for Modelling Long-Running Business Transactions , 2004, COORDINATION.

[47]  Wil M. P. van der Aalst,et al.  Translating unstructured workflow processes to readable BPEL: Theory and implementation , 2008, Inf. Softw. Technol..

[48]  Niels Lohmann,et al.  A Feature-Complete Petri Net Semantics for WS-BPEL 2.0 , 2007, WS-FM.

[49]  Wil M. P. van der Aalst,et al.  Formal semantics and analysis of control flow in WS-BPEL , 2007, Sci. Comput. Program..

[50]  Manuel Mazzara,et al.  A Formal Semantics for the WS-BPEL Recovery Framework - The pi-Calculus Way , 2009, WS-FM.

[51]  Francesco Tiezzi,et al.  A WSDL-Based Type System for WS-BPEL , 2006, COORDINATION.

[52]  Thomas Erl,et al.  SOA Design Patterns , 2008 .

[53]  S. Krishnan,et al.  2 XLANG : Web Services for Business Process Design , 2002 .

[54]  Nobuko Yoshida,et al.  Structured Communication-Centred Programming for Web Services , 2007, ESOP.

[55]  A. Watson,et al.  OMG (Object Management Group) architecture and CORBA (common object request broker architecture) specification , 2002 .

[56]  Geguang Pu,et al.  Semantics of BPEL4WS-Like Fault and Compensation Handling , 2005, FM.

[57]  Naoki Kobayashi,et al.  Resource Usage Analysis for the π-Calculus DRAFT : DO NOT DISTRIBUTE , 2005 .

[58]  Francesco Tiezzi,et al.  C-clock-WS: A Timed Service-Oriented Calculus , 2007, ICTAC.

[59]  Martin Gudgin Web Services Addressing - Core , 2004 .

[60]  Cosimo Laneve,et al.  web-pi at Work , 2005, TGC.

[61]  Greg Meredith,et al.  Contracts and types , 2003, CACM.

[62]  Francesco Tiezzi,et al.  COpen image in new windowWS: A Timed Service-Oriented Calculus , 2007 .

[63]  Lucia Acciai,et al.  Spatial and behavioral types in the pi-calculus , 2010, Inf. Comput..

[64]  Steven J. DeRose,et al.  XML Path Language (XPath) Version 1.0 , 1999 .

[65]  Nobuko Yoshida,et al.  A Calculus of Global Interaction based on Session Types , 2007, DCM@ICALP.

[66]  Sebastián Uchitel,et al.  LTSA-WS: a tool for model-based verification of web service compositions and choreography , 2006, ICSE.