Sessions and Pipelines for Structured Service Programming

Service-oriented computing is calling for novel computational models and languages with primitives for client-server interaction, orchestration and unexpected events handling. We present CaSPiS , a process calculus where the notions of session and pipelining play a central role. Sessions are two-sided and can be equipped with protocols executed by each side. Pipelining permits orchestrating the flow of data produced by different sessions. The calculus is also equipped with operators for handling (unexpected) termination of the partner's side of a session. Several examples are presented to provide evidence for the flexibility of the chosen set of primitives. Our main result shows that in CaSPiS it is possible to program a "graceful termination" of nested sessions, which guarantees that no session is forced to hang forever after the loss of its partner.

[1]  Robin Milner,et al.  Theories for the Global Ubiquitous Computer , 2004, FoSSaCS.

[2]  Mirina Grosz,et al.  World Wide Web Consortium , 2010 .

[3]  João Costa Seco,et al.  The Conversation Calculus: A Model of Service-Oriented Computation , 2008, ESOP.

[4]  Andrew D. Gordon,et al.  Verified Reference Implementations of WS-Security Protocols , 2006, WS-FM.

[5]  Winfried Lamersdorf,et al.  Service-Oriented Computing - ICSOC 2006, 4th International Conference, Chicago, IL, USA, December 4-7, 2006, Proceedings , 2006, ICSOC.

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

[7]  Cosimo Laneve,et al.  A Formal Account of Contracts for Web Services , 2006, WS-FM.

[8]  Farhad Arbab,et al.  Coordination Models and Languages , 1998, Adv. Comput..

[9]  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).

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

[11]  Simon J. Gay,et al.  Types and Subtypes for Client-Server Interactions , 1999, ESOP.

[12]  Wil M. P. van der Aalst,et al.  Workflow Patterns , 2004, Distributed and Parallel Databases.

[13]  Roberto Bruni,et al.  Types and Deadlock Freedom in a Calculus of Services, Sessions and Pipelines , 2008, AMAST.

[14]  Roberto Gorrieri,et al.  : A Calculus for Service Oriented Computing , 2006, ICSOC.

[15]  Rocco De Nicola,et al.  Implementing Session Centered Calculi , 2008, COORDINATION.

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

[17]  Mario Bravetti,et al.  A Theory for Strong Service Compliance , 2007, COORDINATION.

[18]  Cosimo Laneve,et al.  Smooth Orchestrators , 2006, FoSSaCS.

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

[20]  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.

[21]  Leonardo Gaetano Mezzina How to Infer Finite Session Types in a Calculus of Services and Sessions , 2008, COORDINATION.

[22]  Roberto Bruni,et al.  SCC: A Service Centered Calculus , 2006, WS-FM.

[23]  Vincent Danos,et al.  Transactions in RCCS , 2005, CONCUR.

[24]  Roberto Bruni,et al.  Multiparty Sessions in SOC , 2008, COORDINATION.

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

[26]  T. D. Fletcher,et al.  Web Services Choreography Description Language Version 1.0, W3C , 2004 .

[27]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[28]  Roberto Bruni,et al.  Nested Commits for Mobile Calculi: Extending Join , 2004, IFIP TCS.

[29]  J. Misra Computation Orchestration : A Basis for Wide-Area Computing , 2005 .

[30]  Brian Campbell,et al.  Amortised Memory Analysis Using the Depth of Data Structures , 2009, ESOP.

[31]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[32]  Ian Stark,et al.  Free-Algebra Models for the pi-Calculus , 2005, FoSSaCS.

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