eprintid: 3724 rev_number: 8 eprint_status: archive userid: 67 dir: disk0/00/00/37/24 datestamp: 2017-07-20 10:37:23 lastmod: 2017-07-20 10:37:23 status_changed: 2017-07-20 10:37:23 type: article metadata_visibility: show creators_name: Mezzina, Claudio Antares creators_name: Pérez, Jorge A. creators_id: claudio.mezzina@imtlucca.it creators_id: title: Reversibility in session-based concurrency: A fresh look ispublished: pub subjects: QA76 divisions: CSA full_text_status: public keywords: ConcurrencyReversible computationBehavioral typesProcess calculi abstract: Much research has studied foundations for correct and reliable communication-centric software systems. A salient approach to correctness uses verification based on session types to enforce structured communications; a recent approach to reliability uses reversible actions as a way of reacting to unanticipated events or failures. In this paper, we develop a simple observation: the semantic machinery required to define asynchronous (queue-based), monitored communications can also support reversible protocols. We propose a framework of session communication in which monitors support reversibility of (untyped) processes. Main novelty in our approach are session types with present and past, which allow us to streamline the semantics of reversible actions. We prove that reversibility in our framework is causally consistent, and define ways of using monitors to control reversible actions. Keywords date: 2017 date_type: published publication: Journal of Logical and Algebraic Methods in Programming volume: 90 publisher: Elsevier pagerange: 2-30 id_number: doi:10.1016/j.jlamp.2017.03.003 refereed: TRUE issn: 2352-2208 official_url: http://doi.org/10.1016/j.jlamp.2017.03.003 citation: Mezzina, Claudio Antares and Pérez, Jorge A. Reversibility in session-based concurrency: A fresh look. Journal of Logical and Algebraic Methods in Programming, 90. pp. 2-30. ISSN 2352-2208 (2017) document_url: http://eprints.imtlucca.it/3724/1/jlamp_sessioni.pdf