SCC: A Service Centered Calculus

We seek for a small set of primitives that might serve as a basis for formalising and programming service oriented applications over global computers. As an outcome of this study we introduce here SCC, a process calculus that features explicit notions of service definition, service invocation and session handling. Our proposal has been influenced by Orc, a programming model for structured orchestration of services, but the SCC's session handling mechanism allows for the definition of structured interaction protocols, more complex than the basic request-response provided by Orc. We present syntax and operational semantics of SCC and a number of simple but nontrivial programming examples that demonstrate flexibility of the chosen set of primitives. A few encodings are also provided to relate our proposal with existing ones.

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

[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]  Roberto Bruni,et al.  Comparing Two Approaches to Compensable Flow Composition , 2005, CONCUR.

[4]  Robin Milner,et al.  Functions as processes , 1990, Mathematical Structures in Computer Science.

[5]  Cosimo Laneve,et al.  PiDuce: A Process Calculus with Native XML Datatypes , 2005, EPEW/WS-FM.

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

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

[8]  Mario Bravetti,et al.  Formal Techniques for Computer Systems and Business Processes, European Performance Engineering Workshop, EPEW 2005 and International Workshop on Web Services and Formal Methods, WS-FM 2005, Versailles, France, September 1-3, 2005, Proceedings , 2005, EPEW/WS-FM.

[9]  David Turner,et al.  Research topics in functional programming , 1990 .

[10]  Gian Luigi Ferrari,et al.  JSCL: A Middleware for Service Coordination , 2006, FORTE.

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

[12]  Jayadev Misra,et al.  Computation Orchestration , 2007, Software & Systems Modeling.

[13]  Gian Luigi Ferrari,et al.  Types and effects for secure service orchestration , 2006, 19th IEEE Computer Security Foundations Workshop (CSFW'06).

[14]  Lucia Acciai,et al.  XPi: A typed process calculus for XML messaging , 2008, Sci. Comput. Program..

[15]  Henk Barendregt,et al.  The Lambda Calculus: Its Syntax and Semantics , 1985 .

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

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

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

[19]  Allan Clark,et al.  Semantic-Based Development of Service-Oriented Systems , 2006, FORTE.

[20]  Roberto Gorrieri,et al.  Choreography and Orchestration Conformance for System Design , 2006, COORDINATION.

[21]  S. Abramsky The lazy lambda calculus , 1990 .

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

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

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