Liveness of Communicating Transactions (Extended Abstract)

  • Edsko de Vries
  • Vasileios Koutavas
  • Matthew Hennessy
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6461)


We study liveness and safety in the context of CCS extended with communicating transactions, a construct we recently proposed to model automatic error recovery in distributed systems. We show that fair-testing and may-testing capture the right notions of liveness and safety in this setting, and argue that must-testing imposes too strong a requirement in the presence of transactions. We develop a sound and complete theory of fair-testing in terms of CCS-like tree failures and show that, compared to CCS, communicating transactions provide increased distinguishing power to the observer. We also show that weak bisimilarity is a sound, though incomplete, proof technique for both may- and fair-testing. To the best of our knowledge this is the first semantic treatment of liveness in the presence of transactions. We exhibit the usefulness of our theory by proving illuminating liveness laws and simple but non-trivial examples.


Safety Property Label Transition System Liveness Test Safety Test Liveness Property 
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.
    Acciai, L., Boreale, M., Zilio, S.D.: A concurrent calculus with atomic transactions. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 48–63. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  2. 2.
    Black, A.P., Cremet, V., Guerraoui, R., Odersky, M.: An equational theory for transactions. In: Pandya, P.K., Radhakrishnan, J. (eds.) FSTTCS 2003. LNCS, vol. 2914, pp. 38–49. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  3. 3.
    Bocchi, L.: Compositional nested long running transactions. In: Wermelinger, M., Margaria-Steffen, T. (eds.) FASE 2004. LNCS, vol. 2984, pp. 194–208. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  4. 4.
    Bruni, R., Laneve, C., Montanari, U.: Orchestrating transactions in join calculus*. In: Brim, L., Jančar, P., Křetínský, M., Kucera, A. (eds.) CONCUR 2002. LNCS, vol. 2421, pp. 321–544. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  5. 5.
    Bruni, R., Melgratti, H., Montanari, U.: Theoretical foundations for compensations in flow composition languages. In: POPL, pp. 209–220. ACM, New York (2005)Google Scholar
  6. 6.
    Bruni, R., Melgratti, H., Montanari, U.: Nested commits for mobile calculi: extending Join. In: IFIP-TCS, pp. 569–582. Kluwer Academic Publishers, Dordrecht (2004)Google Scholar
  7. 7.
    Buscemi, M.G., Melgratti, H.: Transactional service level agreement. In: Kaklamanis, C., Nielson, F. (eds.) TGC 2008. LNCS, vol. 5474, pp. 124–139. Springer, Heidelberg (2009)Google Scholar
  8. 8.
    Cacciagrano, D., Corradini, F., Palamidessi, C.: Explicit fairness in testing semantics. Logical Methods in Computer Science 5(2) (2009)Google Scholar
  9. 9.
    Caires, L., Ferreira, C., Vieira, H.T.: A process calculus analysis of compensations. In: Kaklamanis, C., Nielson, F. (eds.) TGC 2008. LNCS, vol. 5474, pp. 87–103. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  10. 10.
    Danos, V., Krivine, J.: Transactions in RCCS. In: Abadi, M., de Alfaro, L. (eds.) CONCUR 2005. LNCS, vol. 3653, pp. 398–412. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  11. 11.
    De Nicola, R., Hennessy, M.C.B.: Testing equivalences for processes. Theoretical Computer Science 34(1-2), 83–133 (1984)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Elmas, T., Qadeer, S., Tasiran, S.: A calculus of atomic actions. In: POPL, pp. 2–15 (2009)Google Scholar
  13. 13.
    Field, J., Varela, C.A.: Transactors: a programming model for maintaining globally consistent distributed state in unreliable environments. In: POPL, pp. 195–208 (2005)Google Scholar
  14. 14.
    van Glabbeek, R.: The linear time–branching time spectrum after 20 years. Celebration of 20 years of CONCUR (2009)Google Scholar
  15. 15.
    Gorrieri, R., Marchetti, S., Montanari, U.: A2CCS: atomic actions for CCS. Theor. Comp. Sci. 72(2-3), 203–223 (1990)CrossRefzbMATHGoogle Scholar
  16. 16.
    Guerraoui, R., Kapalka, M.: How Live Can a Transactional Memory Be? Tech. rep., EPFL (2009)Google Scholar
  17. 17.
    Harris, T., Marlow, S., Peyton-Jones, S., Herlihy, M.: Composable memory transactions. In: PPoPP, pp. 48–60. ACM, New York (2005)Google Scholar
  18. 18.
    Lamport, L.: Proving the correctness of multiprocess programs. IEEE Trans. Softw. Eng. 3(2), 125–143 (1977)MathSciNetCrossRefzbMATHGoogle Scholar
  19. 19.
    Owicki, S., Lamport, L.: Proving liveness properties of concurrent programs. ACM Trans. Program. Lang. Syst. 4(3), 455–495 (1982)CrossRefzbMATHGoogle Scholar
  20. 20.
    Pedone, F., Guerraoui, R.: On transaction liveness in replicated databases. In: PRFTS, p. 104 (1997)Google Scholar
  21. 21.
    Rensink, A., Vogler, W.: Fair testing. Inf. and Comp. 205(2), 125–198 (2007)MathSciNetCrossRefzbMATHGoogle Scholar
  22. 22.
    de Vries, E., Koutavas, V., Hennessy, M.: Communicating Transactions. In: CONCUR 2010 (to appear, 2010)Google Scholar
  23. 23.
    de Vries, E., Koutavas, V., Hennessy, M.: Communicating transactions—technical appendix (April 2010),

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Edsko de Vries
    • 1
  • Vasileios Koutavas
    • 1
  • Matthew Hennessy
    • 1
  1. 1.Trinity College DublinIreland

Personalised recommendations