Dynamic Recovering of Long Running Transactions

  • Cátia Vaz
  • Carla Ferreira
  • António Ravara
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5474)


Most business applications rely on the notion of long running transaction as a fundamental building block. This paper presents a calculus for modelling long running transactions within the framework of the π-calculus, with support for compensation as a recovery mechanism. The underlying model of this calculus is the asynchronous polyadic π-calculus, with transaction scopes and dynamic installation of compensation processes. We add to the framework a type system which guarantees that transactions are unequivocally identified, ensuring that upon a failure the correct compensation process is invoked. Moreover, the operational semantics of the calculus ensures both installation and activation of the compensation of a transaction.


Operational Semantic Execution Process Compensation Process Execution Context Type Safety 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Gray, J.: The transaction concept: Virtues and limitations (invited paper). In: VLDB, pp. 144–154. IEEE Computer Society, Los Alamitos (1981)Google Scholar
  2. 2.
    OMG: Additional Structuring Mechanisms for the OTS Specification 1.0. (2002)Google Scholar
  3. 3.
    Sun Microsystems: J2EE Activity Service for Extended Transactions (2004)Google Scholar
  4. 4.
    Microsoft, IBM, BEA: WS-Coordination/WS-Transaction Specification (2005)Google Scholar
  5. 5.
    Thatte, S.: XLANG: Web services for business process design. Technical report, Microsoft Corporation (2001)Google Scholar
  6. 6.
    OASIS: Web Services Business Process Execution Language Version 2.0 (2007)Google Scholar
  7. 7.
    Kavantzas, N., Olsson, G., Michkinsky, J., Chapman, M.: Web services choreography description language. Technical report, Oracle Corporation (2003)Google Scholar
  8. 8.
    Bocchi, L., Laneve, C., Zavattaro, G.: A calculus for long-running transactions. In: Najm, E., Nestmann, U., Stevens, P. (eds.) FMOODS 2003. LNCS, vol. 2884, pp. 124–138. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  9. 9.
    Butler, M.J., Ferreira, C.: An operational semantics for StAC, a language for modelling long-running business transactions. In: De Nicola, R., Ferrari, G.-L., Meredith, G. (eds.) COORDINATION 2004. LNCS, vol. 2949, pp. 87–104. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  10. 10.
    Guidi, C., Lanese, I., Montesi, F., Zavattaro, G.: On the interplay between fault handling and request-response service invocations. In: 8th International Conference on Application of Concurrency to System Design, pp. 190–199. IEEE Computer Society, Los Alamitos (2008)Google Scholar
  11. 11.
    Butler, M.J., Hoare, C.A.R., Ferreira, C.: A trace semantics for long-running transactions. In: Abdallah, A.E., Jones, C.B., Sanders, J.W. (eds.) Communicating Sequential Processes. LNCS, vol. 3525, pp. 133–150. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  12. 12.
    Bruni, R., Melgratti, H.C., Montanari, U.: Theoretical foundations for compensations in flow composition languages. In: Palsberg, J., Abadi, M. (eds.) POPL, pp. 209–220. ACM, New York (2005)Google Scholar
  13. 13.
    Bruni, R., Melgratti, H.C., Montanari, U.: Nested commits for mobile calculi: Extending join. In: Lévy, J.J., Mayr, E.W., Mitchell, J.C. (eds.) IFIP TCS, pp. 563–576. Kluwer, Dordrecht (2004)Google Scholar
  14. 14.
    Laneve, C., Zavattaro, G.: Foundations of web transactions. In: Sassone, V. (ed.) FOSSACS 2005. LNCS, vol. 3441, pp. 282–298. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  15. 15.
    Mazzara, M., Lanese, I.: Towards a unifying theory for web services composition. In: Bravetti, M., Núñez, M., Zavattaro, G. (eds.) WS-FM 2006. LNCS, vol. 4184, pp. 257–272. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  16. 16.
    Vaz, C., Ferreira, C., Ravara, A.: Dynamic recovering of long running transactions. Technical report, CITI,
  17. 17.
    JBoss: Web Service Transactions Programmers Guide (2007)Google Scholar
  18. 18.
    Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes, I and II. Inf. Comput. 100(1), 1–77 (1992)MathSciNetCrossRefzbMATHGoogle Scholar
  19. 19.
    Veiga, L., Ferreira, P.: Asynchronous complete distributed garbage collection. In: IPDPS. IEEE Computer Society, Los Alamitos (2005)Google Scholar
  20. 20.
    Vasconcelos, V.T., Honda, K.: Principal typing-schemes in a polyadic π-calculus. In: Best, E. (ed.) CONCUR 1993. LNCS, vol. 715, pp. 524–538. Springer, Heidelberg (1993)Google Scholar
  21. 21.
    Sangiorgi, D., Walker, D.: The π-calculus: a Theory of Mobile Processes. Cambridge University Press, Cambridge (2001)zbMATHGoogle Scholar
  22. 22.
    Fournet, C., Gonthier, G.: The reflexive cham and the join-calculus. In: POPL, pp. 372–385 (1996)Google Scholar
  23. 23.
    Garcia-Molina, H., Salem, K.: Sagas. In: Dayal, U., Traiger, I.L. (eds.) SIGMOD Conference, pp. 249–259. ACM Press, New York (1987)Google Scholar
  24. 24.
    Guidi, C., Lucchi, R., Gorrieri, R., Busi, N., Zavattaro, G.: SOCK: A calculus for service oriented computing. In: Dan, A., Lamersdorf, W. (eds.) ICSOC 2006. LNCS, vol. 4294, pp. 327–338. Springer, Heidelberg (2006)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Cátia Vaz
    • 1
  • Carla Ferreira
    • 2
    • 3
  • António Ravara
    • 4
  1. 1.DEETC, ISELPolytechnic Institute of LisbonPortugal
  2. 2.CITI, FCTNew University of LisbonPortugal
  3. 3.Dep. of Informatics, FCTNew University of LisbonPortugal
  4. 4.SQIG, Instituto de Telecomunicações, and Dep. of Mathematics, ISTTechnical University of LisbonPortugal

Personalised recommendations