Skip to main content

Reversing Single Sessions

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 9720))

Abstract

Session-based communication has gained a widespread acceptance in practice as a means for developing safe communicating systems via structured interactions. In this paper, we investigate how these structured interactions are affected by reversibility, which provides a computational model allowing executed interactions to be undone. In particular, we provide a systematic study of the integration of different notions of reversibility in both binary and multiparty single sessions. The considered forms of reversibility are: one for completely reversing a given session with one backward step, and another for also restoring any intermediate state of the session with either one backward step or multiple ones. We analyse the costs of reversing a session in all these different settings. Our results show that extending binary single sessions to multiparty ones does not affect the reversibility machinery and its costs.

This research has been partially founded by EPSRC EP/K011715/1, EP/K034413/1 and EP/L00058X/1, EU FP7 FETOpenX Upscale, MIUR PRIN Project CINA (2010LHT4KM), and the COST Actions BETTY (IC1201) and Reversible computation (IC1405).

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    Using the standard typing system for the binary session \(\pi \)-calculus (see [21, Figure 13]), point (ii) boils down to: \(\varDelta \) of rules [Req], [Acc], [Send], [Rcv], [Sel] and [Br] are empty; neither [Thr] nor [Cat] is used; \(\varDelta \cdot \varDelta '\) in [Conc] contains at most a singleton; and \(\varDelta \) of the remaining rules contain at most a singleton.

  2. 2.

    We use a reduction semantics with respect to a labelled one because the former is simpler (e.g., it does not require to deal with scope extension of names) and, hence, is preferable when the labelled semantics is not needed (e.g., here we are not interested in labelled bisimulations). Moreover, works about session-based \(\pi \)-calculus use a reduction semantics, as well as many reversible calculi (e.g., [4, 14, 16]).

  3. 3.

    Using the typing system for the synchronous multiparty session \(\pi \)-calculus (see [21, Figure 15]), point (ii) boils down to: \(\varDelta \) of rules [MReq], [MAcc], [Send], [Recv], [Sel] and [Bra] are empty; neither [Deleg] nor [Srecv] is used; \(\varDelta \cdot \varDelta '\) in [Conc] contains at most a singleton; and \(\varDelta \) of the remaining rules contain at most a singleton.

References

  1. Barbanera, F., de’Liguoro, U.: Sub-behaviour relations for session-based client/server systems. Math. Struct. Comput. Sci. 25(6), 1339–1381 (2015)

    Article  MathSciNet  Google Scholar 

  2. Barbanera, F., Dezani-Ciancaglini, M., de’Liguoro, U.: Compliance for reversible client/server interactions. In: BEAT, vol. 162, EPTCS, pp. 35–42 (2014)

    Google Scholar 

  3. Berry, G., Lévy, J.-J.: Minimal and optimal computations of recursive programs. J. ACM 26(1), 148–175 (1979)

    Article  MathSciNet  MATH  Google Scholar 

  4. Cardelli, L., Laneve, C.: Reversible structures. In: CMSB, pp. 131–140. ACM (2011)

    Google Scholar 

  5. Coppo, M., Dezani-Ciancaglini, M., Yoshida, N.: Asynchronous session types and progress for object oriented languages. In: Bonsangue, M.M., Johnsen, E.B. (eds.) FMOODS 2007. LNCS, vol. 4468, pp. 1–31. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  6. Cristescu, I., Krivine, J., Varacca, D.: A compositional semantics for the reversible p-calculus. In: LICS, pp. 388–397. IEEE (2013)

    Google Scholar 

  7. Danos, V., Krivine, J.: Reversible communicating systems. In: Gardner, P., Yoshida, N. (eds.) CONCUR 2004. LNCS, vol. 3170, pp. 292–307. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  8. 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)

    Chapter  Google Scholar 

  9. Danos, V., Krivine, J.: formal molecular biology done in CCS-R. Electr. Notes. Theor. Comput. Sci. 180(3), 31–49 (2007)

    Article  Google Scholar 

  10. Honda, K., Vasconcelos, V.T., Kubo, M.: Language primitives and type discipline for structured communication-based programming. In: Hankin, C. (ed.) ESOP 1998. LNCS, vol. 1381, pp. 122–138. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  11. Honda, K., Yoshida, N., Carbone, M.: Multiparty asynchronous session types. J. ACM (2015, to appear). http://mrg.doc.ic.ac.uk. An extended abstract appeared in the Proc. of POPL 2008

  12. Kouzapas, D., Yoshida, N.: Globally governed session semantics. Log. Methods Comput. Sci. 10(4), 1–45 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  13. Lanese, I., Mezzina, C.A., Schmitt, A., Stefani, J.-B.: Controlling reversibility in higher-order pi. In: Katoen, J.-P., König, B. (eds.) CONCUR 2011. LNCS, vol. 6901, pp. 297–311. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  14. 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)

    Chapter  Google Scholar 

  15. Lanese, I., Mezzina, C.A., Tiezzi, F.: Causal-consistent reversibility. Bull. EATCS 114, 121–139 (2014)

    MathSciNet  Google Scholar 

  16. Lienhardt, M., Lanese, I., Mezzina, C.A., Stefani, J.-B.: A reversible abstract machine and its space overhead. In: Giese, H., Rosu, G. (eds.) FORTE 2012 and FMOODS 2012. LNCS, vol. 7273, pp. 1–17. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  17. Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes I and II. Inf. Comput. 100(1), 1–40 (1992). pp. 41–77

    Article  MathSciNet  MATH  Google Scholar 

  18. Mostrous, D., Yoshida, N.: Session typing and asynchronous subtyping for the higher-order \(\pi \)-calculus. Inf. Comput. 241, 227–263 (2015)

    Article  MathSciNet  MATH  Google Scholar 

  19. Phillips, I., Ulidowski, I.: Reversing algebraic process calculi. J. Log. Algebr. Program. 73(1–2), 70–96 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  20. Tiezzi, F., Yoshida, N.: Reversible session-based pi-calculus. J. Log. Algebr. Methods Program. 84(5), 684–707 (2015)

    Article  MathSciNet  MATH  Google Scholar 

  21. Tiezzi, F., Yoshida, N.: Reversing single sessions. CoRR (2015). abs/1510.07253

    Google Scholar 

  22. Yoshida, N., Vasconcelos, V.T.: Language primitives and type discipline for structured communication-based programming revisited: two systems for higher-order session communication. Electr. Notes Theor. Comp. Sci. 171(4), 73–93 (2007)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Francesco Tiezzi .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this paper

Cite this paper

Tiezzi, F., Yoshida, N. (2016). Reversing Single Sessions. In: Devitt, S., Lanese, I. (eds) Reversible Computation. RC 2016. Lecture Notes in Computer Science(), vol 9720. Springer, Cham. https://doi.org/10.1007/978-3-319-40578-0_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-40578-0_4

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-40577-3

  • Online ISBN: 978-3-319-40578-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics