{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,6]],"date-time":"2025-11-06T20:11:32Z","timestamp":1762459892090,"version":"3.40.3"},"publisher-location":"Cham","reference-count":18,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030500283"},{"type":"electronic","value":"9783030500290"}],"license":[{"start":{"date-parts":[[2020,1,1]],"date-time":"2020-01-01T00:00:00Z","timestamp":1577836800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2020,1,1]],"date-time":"2020-01-01T00:00:00Z","timestamp":1577836800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2020]]},"DOI":"10.1007\/978-3-030-50029-0_8","type":"book-chapter","created":{"date-parts":[[2020,6,9]],"date-time":"2020-06-09T23:03:55Z","timestamp":1591743835000},"page":"127-136","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":17,"title":["Implementing Multiparty Session Types in Rust"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-6431-4100","authenticated-orcid":false,"given":"Nicolas","family":"Lagaillardie","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-2755-7728","authenticated-orcid":false,"given":"Rumyana","family":"Neykova","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-3925-8557","authenticated-orcid":false,"given":"Nobuko","family":"Yoshida","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2020,6,10]]},"reference":[{"key":"8_CR1","doi-asserted-by":"crossref","unstructured":"Castro, D., Hu, R., Jongmans, S.S., Ng, N., Yoshida, N.: Distributed programming using role parametric session types in Go. In: 46th ACM SIGPLAN Symposium on Principles of Programming Languages, vol. 3, pp. 29:1\u201329:30. ACM (2019)","DOI":"10.1145\/3290342"},{"key":"8_CR2","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"174","DOI":"10.1007\/978-3-642-39212-2_18","volume-title":"Automata, Languages, and Programming","author":"P-M Deni\u00e9lou","year":"2013","unstructured":"Deni\u00e9lou, P.-M., Yoshida, N.: Multiparty compatibility in communicating automata: characterisation and synthesis of global session types. In: Fomin, F.V., Freivalds, R., Kwiatkowska, M., Peleg, D. (eds.) ICALP 2013. LNCS, vol. 7966, pp. 174\u2013186. Springer, Heidelberg (2013). https:\/\/doi.org\/10.1007\/978-3-642-39212-2_18"},{"issue":"POPL","key":"8_CR3","doi-asserted-by":"publisher","first-page":"28:1","DOI":"10.1145\/3290341","volume":"3","author":"S Fowler","year":"2019","unstructured":"Fowler, S., Lindley, S., Morris, J.G., Decova, S.: Exceptional asynchronous session types: session types without tiers. Proc. ACM Program. Lang. 3(POPL), 28:1\u201328:29 (2019). https:\/\/doi.org\/10.1145\/3290341","journal-title":"Proc. ACM Program. Lang."},{"key":"8_CR4","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"122","DOI":"10.1007\/BFb0053567","volume-title":"Programming Languages and Systems","author":"K Honda","year":"1998","unstructured":"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\u2013138. Springer, Heidelberg (1998). https:\/\/doi.org\/10.1007\/BFb0053567"},{"issue":"1","key":"8_CR5","doi-asserted-by":"crossref","first-page":"273","DOI":"10.1145\/1328438.1328472","volume":"43","author":"K Honda","year":"2008","unstructured":"Honda, K., Yoshida, N., Carbone, M.: Multiparty asynchronous session types. POPL 43(1), 273\u2013284 (2008)","journal-title":"POPL"},{"key":"8_CR6","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"401","DOI":"10.1007\/978-3-662-49665-7_24","volume-title":"Fundamental Approaches to Software Engineering","author":"R Hu","year":"2016","unstructured":"Hu, R., Yoshida, N.: Hybrid session verification through endpoint API generation. In: Stevens, P., W\u0105sowski, A. (eds.) FASE 2016. LNCS, vol. 9633, pp. 401\u2013418. Springer, Heidelberg (2016). https:\/\/doi.org\/10.1007\/978-3-662-49665-7_24"},{"key":"8_CR7","doi-asserted-by":"crossref","unstructured":"Hunkeler, U., Truong, H.L., Stanford-Clark, A.: MQTT-S-a publish\/subscribe protocol for wireless sensor networks. In: 2008 3rd International Conference on Communication Systems Software and Middleware and Workshops, COMSWARE 2008, pp. 791\u2013798. IEEE (2008)","DOI":"10.1109\/COMSWA.2008.4554519"},{"key":"8_CR8","doi-asserted-by":"publisher","unstructured":"Jespersen, T.B.L., Munksgaard, P., Larsen, K.F.: Session types for Rust. In: Proceedings of the 11th ACM SIGPLAN Workshop on Generic Programming, pp. 13\u201322. ACM (2015). https:\/\/doi.org\/10.1145\/2808098.2808100","DOI":"10.1145\/2808098.2808100"},{"key":"8_CR9","doi-asserted-by":"publisher","unstructured":"Kokke, W.: Rusty variation: deadlock-free sessions with failure in Rust. In: Proceedings 12th Interaction and Concurrency Experience, ICE 2019, Copenhagen, Denmark, 20\u201321 June 2019, pp. 48\u201360 (2019). https:\/\/doi.org\/10.4204\/EPTCS.304.4","DOI":"10.4204\/EPTCS.304.4"},{"key":"8_CR10","doi-asserted-by":"publisher","unstructured":"Kouzapas, D., Dardha, O., Perera, R., Gay, S.J.: Typechecking protocols with Mungo and StMungo. In: PPDP, pp. 146\u2013159 (2016). https:\/\/doi.org\/10.1145\/2967973.2968595","DOI":"10.1145\/2967973.2968595"},{"key":"8_CR11","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"97","DOI":"10.1007\/978-3-030-25540-4_6","volume-title":"Computer Aided Verification","author":"J Lange","year":"2019","unstructured":"Lange, J., Yoshida, N.: Verifying asynchronous interactions via communicating session automata. In: Dillig, I., Tasiran, S. (eds.) CAV 2019. LNCS, vol. 11561, pp. 97\u2013117. Springer, Cham (2019). https:\/\/doi.org\/10.1007\/978-3-030-25540-4_6"},{"key":"8_CR12","doi-asserted-by":"publisher","unstructured":"Jespersen, T.B.L., Munksgaard, P., Larsen, K.F.: Session types for Rust. In: Proceedings of the 11th ACM SIGPLAN Workshop on Generic Programming, pp. 13\u201322. Association for Computing Machinery, New York (2015). https:\/\/doi.org\/10.1145\/2808098.2808100. ISBN 9781450338103","DOI":"10.1145\/2808098.2808100"},{"key":"8_CR13","unstructured":"Scalas, A., Dardha, O., Hu, R., Yoshida, N.: A linear decomposition of multiparty sessions for safe distributed programming. In: 31st European Conference on Object-Oriented Programming. LIPIcs, vol. 74, pp. 24:1\u201324:31. Schloss Dagstuhl (2017)"},{"key":"8_CR14","doi-asserted-by":"crossref","unstructured":"Scalas, A., Yoshida, N.: Less is more: multiparty session types revisited. In: 46th ACM SIGPLAN Symposium on Principles of Programming Languages, vol. 3, pp. 30:1\u201330:29. ACM (2019)","DOI":"10.1145\/3290343"},{"key":"8_CR15","unstructured":"Klabnik, S., Nichols, C.: The Rust Programming Language. 1.35.0 edn. (2019). https:\/\/doc.rust-lang.org\/1.35.0\/book\/. Contributions from the Rust Community"},{"key":"8_CR16","doi-asserted-by":"crossref","unstructured":"Tu, T., Liu, X., Song, L., Zhang, Y.: Understanding real-world concurrency bugs in Go. In: ASPLOS, pp. 865\u2013878. ACM (2019)","DOI":"10.1145\/3297858.3304069"},{"key":"8_CR17","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"73","DOI":"10.1007\/978-3-030-36987-3_5","volume-title":"Distributed Computing and Internet Technology","author":"N Yoshida","year":"2020","unstructured":"Yoshida, N., Gheri, L.: A very gentle introduction to multiparty session types. In: Hung, D.V., D\u2019Souza, M. (eds.) ICDCIT 2020. LNCS, vol. 11969, pp. 73\u201393. Springer, Cham (2020). https:\/\/doi.org\/10.1007\/978-3-030-36987-3_5"},{"key":"8_CR18","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"22","DOI":"10.1007\/978-3-319-05119-2_3","volume-title":"Trustworthy Global Computing","author":"N Yoshida","year":"2014","unstructured":"Yoshida, N., Hu, R., Neykova, R., Ng, N.: The scribble protocol language. In: Abadi, M., Lluch Lafuente, A. (eds.) TGC 2013. LNCS, vol. 8358, pp. 22\u201341. Springer, Cham (2014). https:\/\/doi.org\/10.1007\/978-3-319-05119-2_3"}],"container-title":["Lecture Notes in Computer Science","Coordination Models and Languages"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-50029-0_8","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,6,9]],"date-time":"2024-06-09T23:03:45Z","timestamp":1717974225000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-030-50029-0_8"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020]]},"ISBN":["9783030500283","9783030500290"],"references-count":18,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-50029-0_8","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2020]]},"assertion":[{"value":"10 June 2020","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"COORDINATION","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Coordination Languages and Models","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Valletta","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Malta","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2020","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"15 June 2020","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"19 June 2020","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"22","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"coordination2020","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/www.discotec.org\/2020\/coordination","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Single-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"EasyChair","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"30","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"12","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"6","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"40% - The value is computed by the equation \"Number of Full Papers Accepted \/ Number of Submissions Sent for Review * 100\" and then rounded to a whole number.","order":6,"name":"acceptance_rate_of_full_papers","label":"Acceptance Rate of Full Papers","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"3","order":7,"name":"average_number_of_reviews_per_paper","label":"Average Number of Reviews per Paper","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"3","order":8,"name":"average_number_of_papers_per_reviewer","label":"Average Number of Papers per Reviewer","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Yes","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"2 invited tutorials and 4 tool papers. The conference was held virtually due to the COVID-19 pandemic.","order":10,"name":"additional_info_on_review_process","label":"Additional Info on Review Process","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"This content has been made available to all.","name":"free","label":"Free to read"}]}}