A Formal Model for Compensable Transactions

Different from traditional transactions, a compensable transaction relies on compensations to amend partial execution whenever an error occurs. The compensation is preserved on successful completion of its forward transaction for possibly later use. In this paper, we pay attention to the compositional structure of compensable transactions. Except for sequential and parallel compositions, other useful compositional constructs, such as speculative choice, exception handling, alternative forwarding and programmable compensation, are also investigated. All these constructs are not only devised to describe distinct business flow but also used to enhance the capability for dealing with errors, t-calculus is such a transactional language that involves a variety of primitives for composing compensable transactions in a wise way. We present a clear operational semantics for this language and the corresponding concept of bisimulation is defined, which is used to derive equational laws for compensable transactions.

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

[2]  Davide Sangiorgi,et al.  Communicating and Mobile Systems: the π-calculus, , 2000 .

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

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

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

[6]  Roberto Bruni,et al.  From Theory to Practice in Transactional Composition of Web Services , 2005, EPEW/WS-FM.

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

[8]  Gordon D. Plotkin,et al.  A structural approach to operational semantics , 2004, J. Log. Algebraic Methods Program..

[9]  Sixth IEEE International Conference On Engineering Of Complex Computer Systems , 2000, Proceedings Sixth IEEE International Conference on Engineering of Complex Computer Systems. ICECCS 2000.

[10]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[11]  Michael J. Butler,et al.  A Process Compensation Language , 2000, IFM.

[12]  Jifeng He,et al.  A model for BPEL-like languages , 2007, Frontiers of Computer Science in China.

[13]  Robin Milner,et al.  Communicating and mobile systems - the Pi-calculus , 1999 .

[14]  C. A. R. Hoare,et al.  A Trace Semantics for Long-Running Transactions , 2004, 25 Years Communicating Sequential Processes.

[15]  Jan Mendling Business Process Execution Language for Web Service (BPEL) , 2006 .

[16]  Jing Li,et al.  Looking into Compensable Transactions , 2007, 31st IEEE Software Engineering Workshop (SEW 2007).

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

[18]  Jing Li,et al.  Towards the Semantics for Web Service Choreography Description Language , 2006, ICFEM.

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

[20]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[21]  Shamim Ripon,et al.  Executable Semantics for Compensating CSP , 2005, EPEW/WS-FM.

[22]  Jing Li,et al.  Modeling and Verifying Web Services Choreography Using Process Algebra , 2007, 31st IEEE Software Engineering Workshop (SEW 2007).

[23]  Matjaz B. Juric,et al.  Business process execution language for web services , 2004 .

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

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

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