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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 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.
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.
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
Barbanera, F., de’Liguoro, U.: Sub-behaviour relations for session-based client/server systems. Math. Struct. Comput. Sci. 25(6), 1339–1381 (2015)
Barbanera, F., Dezani-Ciancaglini, M., de’Liguoro, U.: Compliance for reversible client/server interactions. In: BEAT, vol. 162, EPTCS, pp. 35–42 (2014)
Berry, G., Lévy, J.-J.: Minimal and optimal computations of recursive programs. J. ACM 26(1), 148–175 (1979)
Cardelli, L., Laneve, C.: Reversible structures. In: CMSB, pp. 131–140. ACM (2011)
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)
Cristescu, I., Krivine, J., Varacca, D.: A compositional semantics for the reversible p-calculus. In: LICS, pp. 388–397. IEEE (2013)
Danos, V., Krivine, J.: Reversible communicating systems. In: Gardner, P., Yoshida, N. (eds.) CONCUR 2004. LNCS, vol. 3170, pp. 292–307. Springer, Heidelberg (2004)
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)
Danos, V., Krivine, J.: formal molecular biology done in CCS-R. Electr. Notes. Theor. Comput. Sci. 180(3), 31–49 (2007)
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)
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
Kouzapas, D., Yoshida, N.: Globally governed session semantics. Log. Methods Comput. Sci. 10(4), 1–45 (2014)
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)
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)
Lanese, I., Mezzina, C.A., Tiezzi, F.: Causal-consistent reversibility. Bull. EATCS 114, 121–139 (2014)
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)
Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes I and II. Inf. Comput. 100(1), 1–40 (1992). pp. 41–77
Mostrous, D., Yoshida, N.: Session typing and asynchronous subtyping for the higher-order \(\pi \)-calculus. Inf. Comput. 241, 227–263 (2015)
Phillips, I., Ulidowski, I.: Reversing algebraic process calculi. J. Log. Algebr. Program. 73(1–2), 70–96 (2007)
Tiezzi, F., Yoshida, N.: Reversible session-based pi-calculus. J. Log. Algebr. Methods Program. 84(5), 684–707 (2015)
Tiezzi, F., Yoshida, N.: Reversing single sessions. CoRR (2015). abs/1510.07253
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)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)