{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,21]],"date-time":"2025-11-21T22:38:30Z","timestamp":1763764710069,"version":"3.40.3"},"publisher-location":"Cham","reference-count":32,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783319937663"},{"type":"electronic","value":"9783319937670"}],"license":[{"start":{"date-parts":[[2018,1,1]],"date-time":"2018-01-01T00:00:00Z","timestamp":1514764800000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2018]]},"DOI":"10.1007\/978-3-319-93767-0_6","type":"book-chapter","created":{"date-parts":[[2018,5,31]],"date-time":"2018-05-31T11:02:19Z","timestamp":1527764539000},"page":"75-92","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":15,"title":["Reversible Choreographies via Monitoring in Erlang"],"prefix":"10.1007","author":[{"given":"Adrian","family":"Francalanza","sequence":"first","affiliation":[]},{"given":"Claudio Antares","family":"Mezzina","sequence":"additional","affiliation":[]},{"given":"Emilio","family":"Tuosto","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2018,6,1]]},"reference":[{"key":"6_CR1","doi-asserted-by":"crossref","DOI":"10.7551\/mitpress\/1086.001.0001","volume-title":"Actors: A Model of Concurrent Computation in Distributed Systems","author":"G Agha","year":"1986","unstructured":"Agha, G.: Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge (1986)"},{"key":"6_CR2","volume-title":"Programming Erlang: Software for a Concurrent World","author":"J Armstrong","year":"2007","unstructured":"Armstrong, J.: Programming Erlang: Software for a Concurrent World. Pragmatic Bookshelf, Raleigh (2007)"},{"issue":"2\u20133","key":"6_CR3","doi-asserted-by":"publisher","first-page":"209","DOI":"10.1016\/j.tcs.2004.11.007","volume":"336","author":"C Artho","year":"2005","unstructured":"Artho, C., Barringer, H., Goldberg, A., Havelund, K., Khurshid, S., Lowry, M.R., Pasareanu, C.S., Rosu, G., Sen, K., Visser, W., Washington, R.: Combining test case generation and runtime verification. TCS 336(2\u20133), 209\u2013234 (2005)","journal-title":"TCS"},{"key":"6_CR4","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"50","DOI":"10.1007\/978-3-642-38592-6_5","volume-title":"Formal Techniques for Distributed Systems","author":"L Bocchi","year":"2013","unstructured":"Bocchi, L., Chen, T.-C., Demangeon, R., Honda, K., Yoshida, N.: Monitoring networks through multiparty session types. In: Beyer, D., Boreale, M. (eds.) FMOODS\/FORTE 2013. LNCS, vol. 7892, pp. 50\u201365. Springer, Heidelberg (2013). https:\/\/doi.org\/10.1007\/978-3-642-38592-6_5"},{"key":"6_CR5","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"162","DOI":"10.1007\/978-3-642-15375-4_12","volume-title":"CONCUR 2010 - Concurrency Theory","author":"L Bocchi","year":"2010","unstructured":"Bocchi, L., Honda, K., Tuosto, E., Yoshida, N.: A theory of design-by-contract for distributed multiparty interactions. In: Gastin, P., Laroussinie, F. (eds.) CONCUR 2010. LNCS, vol. 6269, pp. 162\u2013176. Springer, Heidelberg (2010). https:\/\/doi.org\/10.1007\/978-3-642-15375-4_12"},{"key":"6_CR6","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"38","DOI":"10.1007\/978-3-319-23820-3_3","volume-title":"Runtime Verification","author":"I Cassar","year":"2015","unstructured":"Cassar, I., Francalanza, A.: Runtime adaptation for actor systems. In: Bartocci, E., Majumdar, R. (eds.) RV 2015. LNCS, vol. 9333, pp. 38\u201354. Springer, Cham (2015). https:\/\/doi.org\/10.1007\/978-3-319-23820-3_3"},{"key":"6_CR7","first-page":"176","volume-title":"Lecture Notes in Computer Science","author":"Ian Cassar","year":"2016","unstructured":"Cassar, I., Francalanza, A.: On implementing a monitor-oriented programming framework for actor systems. In: iFM (2016)"},{"key":"6_CR8","doi-asserted-by":"crossref","unstructured":"Cassar, I., Francalanza, A., Mezzina, C.A., Tuosto, E.: Reliability and fault-tolerance by choreographic design. In: PrePost@iFM. EPTCS, vol. 254 (2017)","DOI":"10.4204\/EPTCS.254.6"},{"key":"6_CR9","volume-title":"Erlang Programming","author":"F Cesarini","year":"2009","unstructured":"Cesarini, F., Thompson, S.: Erlang Programming. O\u2019Reilly, Sebastopol (2009)"},{"issue":"2","key":"6_CR10","doi-asserted-by":"publisher","first-page":"108","DOI":"10.1016\/S1571-0661(04)81045-4","volume":"89","author":"F Chen","year":"2003","unstructured":"Chen, F., Rosu, G.: Towards Monitoring-Oriented Programming: a paradigm combining specification and implementation. Electr. Notes Theor. Comput. Sci. 89(2), 108\u2013127 (2003)","journal-title":"Electr. Notes Theor. Comput. Sci."},{"issue":"6","key":"6_CR11","doi-asserted-by":"publisher","first-page":"1157","DOI":"10.3233\/JCS-2009-0393","volume":"18","author":"MR Clarkson","year":"2010","unstructured":"Clarkson, M.R., Schneider, F.B.: Hyperproperties. J. Comput. Secur. 18(6), 1157\u20131210 (2010)","journal-title":"J. Comput. Secur."},{"key":"6_CR12","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"194","DOI":"10.1007\/978-3-642-28869-2_10","volume-title":"Programming Languages and Systems","author":"P-M Deni\u00e9lou","year":"2012","unstructured":"Deni\u00e9lou, P.-M., Yoshida, N.: Multiparty session types meet communicating automata. In: Seidl, H. (ed.) ESOP 2012. LNCS, vol. 7211, pp. 194\u2013213. Springer, Heidelberg (2012). https:\/\/doi.org\/10.1007\/978-3-642-28869-2_10"},{"key":"6_CR13","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"172","DOI":"10.1007\/978-3-319-67531-2_11","volume-title":"Runtime Verification","author":"A Desai","year":"2017","unstructured":"Desai, A., Dreossi, T., Seshia, S.A.: Combining model checking and runtime verification for safe robotics. In: Lahiri, S., Reger, G. (eds.) RV 2017. LNCS, vol. 10548, pp. 172\u2013189. Springer, Cham (2017). https:\/\/doi.org\/10.1007\/978-3-319-67531-2_11"},{"issue":"3","key":"6_CR14","doi-asserted-by":"publisher","first-page":"375","DOI":"10.1145\/568522.568525","volume":"34","author":"EN Elnozahy","year":"2002","unstructured":"Elnozahy, E.N., Alvisi, L., Wang, Y., Johnson, D.B.: A survey of rollback-recovery protocols in message-passing systems. ACM Comput. Surv. 34(3), 375\u2013408 (2002)","journal-title":"ACM Comput. Surv."},{"key":"6_CR15","unstructured":"Erlang Run-Time System Application, Reference Manual Version 9.2. http:\/\/erlang.org\/doc\/man\/erlang.html"},{"key":"6_CR16","doi-asserted-by":"crossref","unstructured":"Field, J., Varela, C.A.: Transactors: a programming model for maintaining globally consistent distributed state in unreliable environments. In: POPL 2005. ACM (2005)","DOI":"10.1145\/1040305.1040322"},{"key":"6_CR17","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"145","DOI":"10.1007\/978-3-662-49630-5_9","volume-title":"Foundations of Software Science and Computation Structures","author":"A Francalanza","year":"2016","unstructured":"Francalanza, A.: A theory of monitors. In: Jacobs, B., L\u00f6ding, C. (eds.) FoSSaCS 2016. LNCS, vol. 9634, pp. 145\u2013161. Springer, Heidelberg (2016). https:\/\/doi.org\/10.1007\/978-3-662-49630-5_9"},{"key":"6_CR18","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"8","DOI":"10.1007\/978-3-319-67531-2_2","volume-title":"Runtime Verification","author":"A Francalanza","year":"2017","unstructured":"Francalanza, A., Aceto, L., Achilleos, A., Attard, D.P., Cassar, I., Della Monica, D., Ing\u00f3lfsd\u00f3ttir, A.: A foundation for runtime monitoring. In: Lahiri, S., Reger, G. (eds.) RV 2017. LNCS, vol. 10548, pp. 8\u201329. Springer, Cham (2017). https:\/\/doi.org\/10.1007\/978-3-319-67531-2_2"},{"key":"6_CR19","volume-title":"Transaction Processing: Concepts and Techniques","author":"J Gray","year":"1993","unstructured":"Gray, J., Reuter, A.: Transaction Processing: Concepts and Techniques. Morgan Kaufmann, San Mateo (1993)"},{"key":"6_CR20","doi-asserted-by":"publisher","first-page":"67","DOI":"10.4204\/EPTCS.223.5","volume":"223","author":"Roberto Guanciale","year":"2016","unstructured":"Guanciale, R., Tuosto, E.: An abstract semantics of the global view of choreographies. In: ICE (2016)","journal-title":"Electronic Proceedings in Theoretical Computer Science"},{"key":"6_CR21","unstructured":"Hewitt, C., Bishop, P., Steiger, R.: A universal modular ACTOR formalism for artificial intelligence. In: IJCAI. Morgan Kaufmann Publishers Inc. (1973)"},{"issue":"1","key":"6_CR22","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/2827695","volume":"63","author":"K Honda","year":"2016","unstructured":"Honda, K., Yoshida, N., Carbone, M.: Multiparty asynchronous session types. J. ACM 63(1), 1\u201367 (2016). Extended version of a paper presented at POPL 2008","journal-title":"J. ACM"},{"key":"6_CR23","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"225","DOI":"10.1007\/978-3-319-67531-2_14","volume-title":"Runtime Verification","author":"K Kejstov\u00e1","year":"2017","unstructured":"Kejstov\u00e1, K., Ro\u010dkai, P., Barnat, J.: From model checking to runtime verification\u00a0and back. In: Lahiri, S., Reger, G. (eds.) RV 2017. LNCS, vol. 10548, pp. 225\u2013240. Springer, Cham (2017). https:\/\/doi.org\/10.1007\/978-3-319-67531-2_14"},{"key":"6_CR24","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"233","DOI":"10.1007\/978-3-642-36315-3_19","volume-title":"Reversible Computation","author":"I Lanese","year":"2013","unstructured":"Lanese, I., Mezzina, C.A., Stefani, J.-B.: Controlled reversibility and compensations. In: Gl\u00fcck, R., Yokoyama, T. (eds.) RC 2012. LNCS, vol. 7581, pp. 233\u2013240. Springer, Heidelberg (2013). https:\/\/doi.org\/10.1007\/978-3-642-36315-3_19"},{"issue":"3","key":"6_CR25","doi-asserted-by":"publisher","first-page":"249","DOI":"10.1007\/s10009-011-0198-6","volume":"14","author":"PO Meredith","year":"2012","unstructured":"Meredith, P.O., Jin, D., Griffith, D., Chen, F., Ro\u015fu, G.: An overview of the MOP runtime verification framework. STTT 14(3), 249\u2013289 (2012)","journal-title":"STTT"},{"key":"6_CR26","doi-asserted-by":"crossref","unstructured":"Mezzina, C.A., P\u00e9rez, J.A.: Causally consistent reversible choreographies: a monitors-as-memories approach. In: PPDP (2017)","DOI":"10.1145\/3131851.3131864"},{"key":"6_CR27","doi-asserted-by":"publisher","first-page":"2","DOI":"10.1016\/j.jlamp.2017.03.003","volume":"90","author":"CA Mezzina","year":"2017","unstructured":"Mezzina, C.A., P\u00e9rez, J.A.: Reversibility in session-based concurrency: a fresh look. J. Log. Algebr. Meth. Program. 90, 2\u201330 (2017)","journal-title":"J. Log. Algebr. Meth. Program."},{"key":"6_CR28","doi-asserted-by":"crossref","unstructured":"Neykova, R., Yoshida, N.: Let it recover: multiparty protocol-induced recovery. In: CC. ACM (2017)","DOI":"10.1145\/3033019.3033031"},{"key":"6_CR29","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"259","DOI":"10.1007\/978-3-319-63139-4_15","volume-title":"Logic-Based Program Synthesis and Transformation","author":"N Nishida","year":"2017","unstructured":"Nishida, N., Palacios, A., Vidal, G.: A reversible semantics for Erlang. In: Hermenegildo, M.V., Lopez-Garcia, P. (eds.) LOPSTR 2016. LNCS, vol. 10184, pp. 259\u2013274. Springer, Cham (2017). https:\/\/doi.org\/10.1007\/978-3-319-63139-4_15"},{"key":"6_CR30","series-title":"Chapman & Hall\/CRC Computational Science","doi-asserted-by":"publisher","DOI":"10.1201\/b15719","volume-title":"Introduction to Reversible Computing","author":"K Perumalla","year":"2013","unstructured":"Perumalla, K.: Introduction to Reversible Computing. Chapman & Hall\/CRC Computational Science. Taylor & Francis, Hoboken (2013)"},{"key":"6_CR31","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"218","DOI":"10.1007\/978-3-642-36315-3_18","volume-title":"Reversible Computation","author":"I Phillips","year":"2013","unstructured":"Phillips, I., Ulidowski, I., Yuen, S.: A reversible process calculus and the modelling of the ERK signalling pathway. In: Gl\u00fcck, R., Yokoyama, T. (eds.) RC 2012. LNCS, vol. 7581, pp. 218\u2013232. Springer, Heidelberg (2013). https:\/\/doi.org\/10.1007\/978-3-642-36315-3_18"},{"key":"6_CR32","doi-asserted-by":"publisher","first-page":"17","DOI":"10.1016\/j.jlamp.2017.11.002","volume":"95","author":"E Tuosto","year":"2018","unstructured":"Tuosto, E., Guanciale, R.: Semantics of global view of choreographies. J. Log. Algebr. Meth. Program. 95, 17\u201340 (2018)","journal-title":"J. Log. Algebr. Meth. Program."}],"container-title":["Lecture Notes in Computer Science","Distributed Applications and Interoperable Systems"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-319-93767-0_6","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2020,11,2]],"date-time":"2020-11-02T22:39:19Z","timestamp":1604356759000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-319-93767-0_6"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018]]},"ISBN":["9783319937663","9783319937670"],"references-count":32,"URL":"https:\/\/doi.org\/10.1007\/978-3-319-93767-0_6","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2018]]},"assertion":[{"value":"1 June 2018","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"DAIS","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"IFIP International Conference on Distributed Applications and Interoperable Systems","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Madrid","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Spain","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2018","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"18 June 2018","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"21 June 2018","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"18","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"dais2018","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"http:\/\/2018.discotec.org\/cfp_dais.html","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}}]}}