Theoretical foundations for compensations in flow composition languages

A key aspect when aggregating business processes and web services is to assure transactional properties of process executions. Since transactions in this context may require long periods of time to complete, traditional mechanisms for guaranteeing atomicity are not always appropriate. Generally the concept of long running transactions relies on a weaker notion of atomicity based on compensations. For this reason, programming languages for service composition cannot leave out two key aspects: compensations, i.e. ad hoc activities that can undo the effects of a process that fails to complete, and transactional boundaries to delimit the scope of a transactional flow. This paper presents a hierarchy of transactional calculi with increasing expressiveness. We start from a very small language in which activities can only be composed sequentially. Then, we progressively introduce parallel composition, nesting, programmable compensations and exception handling. A running example illustrates the main features of each calculus in the hierarchy.

[1]  Manuel Mazzara,et al.  A Framework for Generic Error Handling in Business Processes , 2004, Electron. Notes Theor. Comput. Sci..

[2]  Jan Vitek,et al.  A Semantic Framework for Designer Transactions , 2004, ESOP.

[3]  Peter Henderson,et al.  Extending the concept of transaction compensation , 2002, IBM Syst. J..

[4]  Boualem Benatallah,et al.  A Petri Net-based Model for Web Service Composition , 2003, ADC.

[5]  Antonio Vallecillo,et al.  Formalizing Web Service Choreographies , 2004, Electron. Notes Theor. Comput. Sci..

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

[7]  E. B. Moss,et al.  Nested Transactions: An Approach to Reliable Distributed Computing , 1985 .

[8]  Amit P. Sheth,et al.  An overview of workflow management: From process modeling to workflow automation infrastructure , 1995, Distributed and Parallel Databases.

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

[10]  Wil M. P. van der Aalst,et al.  Web service composition languages: old wine in New bottles? , 2003, 2003 Proceedings 29th Euromicro Conference.

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

[12]  Amit P. Sheth,et al.  Transactions in transactional workflows" in advanced transaction models and architectures , 1997 .

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

[14]  Wil M. P. van der Aalst,et al.  Analysis of Web Services Composition Languages: The Case of BPEL4WS , 2003, ER.

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

[16]  Amit P. Sheth,et al.  Transactions in Transactional Workflows , 1997, Advanced Transaction Models and Architectures.