Formal Aspects of Computing

, Volume 28, Issue 4, pp 697–722 | Cite as

Reversible client/server interactions

  • Franco Barbanera
  • Mariangiola Dezani-Ciancaglini
  • Ugo de’Liguoro
Original Article


In the setting of session behaviours, we study an extension of the concept of compliance when a disciplined form of backtracking and of output skipping is present. After adding checkpoints to the syntax of session behaviours, we formalise the operational semantics via an LTS, and define natural notions of checkpoint compliance and sub-behaviour, which we prove to be both decidable. Then we extend the operational semantics with skips and we show the decidability of the obtained compliance.


Client/server interaction Session types Behavioural semantics Sub-behaviour Semantics of subtyping Coinduction 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. BDdL14.
    Barbanera F, Dezani-Ciancaglini M, de’ Liguoro U (2014) Compliance for reversible client/server interactions. In BEAT 162 of EPTCS, Open Publishing Association, pp 35–42Google Scholar
  2. BdL14.
    Barbanera F, de’ Liguoro U (2014) Loosening the notions of compliance and sub-behaviour in client/server systems. In ICE 166 of EPTCS, Open Publishing Association, pp 94–110Google Scholar
  3. BdL15.
    Barbanera F, de’ Liguoro U (2015) Sub-behaviour relations for session-based client/server systems. Math Struct Comp Sci 25(9): 1339–1381MathSciNetCrossRefGoogle Scholar
  4. BDLdL16.
    Barbanera F, Dezani-Ciancaglini M, Lanese I, de’ Liguoro U (2016) Retractable contracts. In PLACES, 203 of EPTCS, Open Publishing Association, pp 61–72Google Scholar
  5. BH98.
    Brandt M, Henglein F (1998) Coinductive axiomatization of recursive type equality and subtyping. Fundamenta Informaticae 33(4): 309–338MathSciNetzbMATHGoogle Scholar
  6. BH15.
    Bernardi G, Hennessy M (2015) Modelling session types using contracts. Math Struct Comp Sci FirstView (9):1–51Google Scholar
  7. CCLP06.
    Carpineti S, Castagna G, Laneve C, Padovani L (2006) A formal account of contracts for Web Services. In WS-FM, number 4184 in LNCS. Springer, pp 148–162Google Scholar
  8. CGP09.
    Castagna G, Gesbert N, Padovani L (2009) A theory of contracts for web services. ACM Trans Program Lang Systems 31(5):19:1–19:61Google Scholar
  9. DK04.
    Danos V, Krivine J (2004) Reversible communicating systems. In CONCUR volume 3170 of LNCS. Springer, pp 292–307Google Scholar
  10. dVKH10a.
    de Vries E, Koutavas V, Hennessy M (2010) Communicating transactions - (extended abstract). In CONCUR, volume 6269 of LNCS. Springer, pp 569–583Google Scholar
  11. dVKH10b.
    de Vries E, Koutavas V, Hennessy M (2010) Liveness of communicating transactions—(extended abstract). In APLAS, volume 6461 of LNCS. Springer, pp 392–407Google Scholar
  12. HVK98.
    Honda K, Vasconcelos VT, Kubo M (1998) Language primitives and type disciplines for structured communication-based programming. In ESOP, volume 1381 of LNCS. Springer, pp 22–138Google Scholar
  13. HYC08.
    Honda K, Yoshida N, Carbone M (2008) Multiparty asynchronous session types. In POPL. ACM Press, pp 273–284Google Scholar
  14. KSH14.
    Koutavas V, Spaccasassi C, Hennessy M (2014) Bisimulations for communicating transactions—(extended abstract). In FOSSACS, volume 8412 of LNCS. Springer, pp 320–334Google Scholar
  15. LMS10.
    Lanese I, Mezzina CA, Stefani J-B (2010) Reversing higher-order pi. In CONCUR, volume 6269 of LNCS. Springer, pp 478–493Google Scholar
  16. LMSS11.
    Lanese I, Mezzina CA, Schmitt A, Stefani J-B (2011) Controlling reversibility in higher-order pi. In CONCUR, volume 6901 of LNCS. Springer, pp 297–311Google Scholar
  17. LP08.
    Laneve C, Padovani L (2008) The pairing of contracts and session types. In Concurrency, Graphs and Models 5065 of LNCS. Springer, pp 681–700Google Scholar
  18. Mil89.
    Milner R (1989) Communication and concurrency. PHI Series in computer science, Prentice HallzbMATHGoogle Scholar
  19. Pad10.
    Padovani L (2010) Contract-based discovery of web services modulo simple orchestrators. Theor Comp Sci 411: 3328–3347MathSciNetCrossRefzbMATHGoogle Scholar
  20. PS96.
    Pierce BC, Sangiorgi D (1996) Typing and subtyping for mobile processes. Math Struct Comp Sci 6(5): 409–453MathSciNetzbMATHGoogle Scholar
  21. PU07.
    Iain CC (2007) Phillips and Irek Ulidowski. Reversing algebraic process calculi. J Logic Algeb Program 73(1-2): 70–96CrossRefGoogle Scholar
  22. TY14.
    Tiezzi F, Yoshida N (2014) Towards reversible sessions. In PLACES, volume 155 of EPTCS. Open Publishing Association, pp 17–24Google Scholar
  23. TY15.
    Tiezzi F, Yoshida N (2015) Reversible session-based pi-calculus. J Logic Algeb Methods Program 84(5): 684–707MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© British Computer Society 2016

Authors and Affiliations

  • Franco Barbanera
    • 1
  • Mariangiola Dezani-Ciancaglini
    • 2
  • Ugo de’Liguoro
    • 2
  1. 1.Dipartimento di Matematica e InformaticaUniversità di CataniaCataniaItaly
  2. 2.Università di TorinoTorinoItaly

Personalised recommendations