Bisimulations for Communicating Transactions

(Extended Abstract)
  • Vasileios Koutavas
  • Carlo Spaccasassi
  • Matthew Hennessy
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8412)


We develop a theory of bisimulations for a simple language containing communicating transactions, obtained by dropping the isolation requirement of standard transactions. Such constructs have emerged as a useful programming abstraction for distributed systems.

In systemswith communicating transactions actions are tentative,waiting for certain transactions to commit before they become permanent.Our theory captures this by making bisimulations history-dependent, in that actions performed by transactions need to be recorded. The main requirement on bisimulations is the systems being compared need to match up exactly in the permanent actions but only those.

The resulting theory is fully abstract with respect to a natural contextual equivalence and, as we show in examples, provides an effective verification technique for comparing systems with communicating transactions.


Natural Contextual Permanent Action Consistent History Reduction Semantic Single Transaction 
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.


  1. 1.
    Bruni, R., Melgratti, H.C., Montanari, U.: Nested commits for mobile calculi: extending Join. In: Levy, J.-J., Mayr, E.W., Mitchell, J.C. (eds.) TCS 2004. IFIP, vol. 155, pp. 563–576. Springer, Boston (2004)Google Scholar
  2. 2.
    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
  3. 3.
    de Vries, E., Koutavas, V., Hennessy, M.: Communicating transactions. In: Gastin, P., Laroussinie, F. (eds.) CONCUR 2010. LNCS, vol. 6269, pp. 569–583. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  4. 4.
    de Vries, E., Koutavas, V., Hennessy, M.: Liveness of communicating transactions (Extended abstract). In: Ueda, K. (ed.) APLAS 2010. LNCS, vol. 6461, pp. 392–407. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  5. 5.
    Donnelly, K., Fluet, M.: Transactional events. In: ICFP, pp. 124–135. ACM (2006)Google Scholar
  6. 6.
    Effinger-Dean, L., Kehrt, M., Grossman, D.: Transactional events for ML. In: ICFP, pp. 103–114. ACM (2008)Google Scholar
  7. 7.
    Field, J., Varela, C.A.: Transactors: a programming model for maintaining globally consistent distributed state in unreliable environments. In: POPL, pp. 195–208. ACM (2005)Google Scholar
  8. 8.
    Krivine, J.: A verification technique for reversible process algebra. In: Glück, R., Yokoyama, T. (eds.) RC 2012. LNCS, vol. 7581, pp. 204–217. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  9. 9.
    Lanese, I., Lienhardt, M., Mezzina, C.A., Schmitt, A., Stefani, J.-B.: Concurrent flexible reversibility. In: Felleisen, M., Gardner, P. (eds.) ESOP 2013. LNCS, vol. 7792, pp. 370–390. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  10. 10.
    Lanese, I., Mezzina, C.A., Stefani, J.-B.: Reversing higher-order pi. In: Gastin, P., Laroussinie, F. (eds.) CONCUR 2010. LNCS, vol. 6269, pp. 478–493. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  11. 11.
    Lesani, M., Palsberg, J.: Communicating memory transactions. In: PPoPP, pp. 157–168. ACM (2011)Google Scholar
  12. 12.
    Milner, R.: A Calculus of Communication Systems. LNCS, vol. 92. Springer, Heidelberg (1980)CrossRefGoogle Scholar
  13. 13.
    Phillips, I., Ulidowski, I.: Reversibility and models for concurrency. ENTCS 192(1), 93–108 (2007) (SOS 2007)Google Scholar
  14. 14.
    Sangiorgi, D., Kobayashi, N., Sumii, E.: Environmental bisimulations for higher-order languages. In: LICS, pp. 293–302. IEEE Computer Society (2007)Google Scholar
  15. 15.
    Sangiorgi, D., Walker, D.: The π-calculus: a Theory of Mobile Processes. Cambridge University Press (2001)Google Scholar
  16. 16.
    Spaccasassi, C., Koutavas, V.: Towards efficient abstractions for concurrent consensus. In: McCarthy, J. (ed.) TFP 2013. LNCS, vol. 8322, pp. 76–90. Springer, Heidelberg (2014)CrossRefGoogle Scholar
  17. 17.
    Stirling, C.: Playing games and proving properties of concurrent systems. J. Comput. Sci. Technol. 13(6), 482 (1998)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  • Vasileios Koutavas
    • 1
  • Carlo Spaccasassi
    • 1
  • Matthew Hennessy
    • 1
  1. 1.Trinity College DublinIreland

Personalised recommendations