{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,21]],"date-time":"2025-11-21T22:41:56Z","timestamp":1763764916672,"version":"3.40.3"},"publisher-location":"Cham","reference-count":39,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783031198489"},{"type":"electronic","value":"9783031198496"}],"license":[{"start":{"date-parts":[[2022,1,1]],"date-time":"2022-01-01T00:00:00Z","timestamp":1640995200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2022,1,1]],"date-time":"2022-01-01T00:00:00Z","timestamp":1640995200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2022]]},"DOI":"10.1007\/978-3-031-19849-6_26","type":"book-chapter","created":{"date-parts":[[2022,10,19]],"date-time":"2022-10-19T15:03:32Z","timestamp":1666191812000},"page":"460-478","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":6,"title":["ST4MP: A Blueprint of\u00a0Multiparty Session Typing for\u00a0Multilingual Programming"],"prefix":"10.1007","author":[{"given":"Sung-Shik","family":"Jongmans","sequence":"first","affiliation":[]},{"given":"Jos\u00e9","family":"Proen\u00e7a","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2022,10,17]]},"reference":[{"key":"26_CR1","doi-asserted-by":"crossref","unstructured":"Blanvillain, O., Brachth\u00e4user, J.I., Kjaer, M., Odersky, M.: Type-level programming with match types. Proc. ACM Program. Lang. 6(POPL), 1\u201324 (2022)","DOI":"10.1145\/3498698"},{"key":"26_CR2","doi-asserted-by":"publisher","first-page":"33","DOI":"10.1016\/j.tcs.2017.02.009","volume":"669","author":"L Bocchi","year":"2017","unstructured":"Bocchi, L., Chen, T., Demangeon, R., Honda, K., Yoshida, N.: Monitoring networks through multiparty session types. Theor. Comput. Sci. 669, 33\u201358 (2017)","journal-title":"Theor. Comput. Sci."},{"key":"26_CR3","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":"26_CR4","unstructured":"Bocchi, L., Lange, J., Yoshida, N.: Meeting deadlines together. In: CONCUR. LIPIcs, vol. 42, pp. 283\u2013296. Schloss Dagstuhl - Leibniz-Zentrum f\u00fcr Informatik (2015)"},{"issue":"2","key":"26_CR5","doi-asserted-by":"publisher","first-page":"323","DOI":"10.1145\/322374.322380","volume":"30","author":"D Brand","year":"1983","unstructured":"Brand, D., Zafiropulo, P.: On communicating finite-state machines. J. ACM 30(2), 323\u2013342 (1983)","journal-title":"J. ACM"},{"key":"26_CR6","doi-asserted-by":"publisher","unstructured":"Bray, T.: The JavaScript Object Notation (JSON) Data Interchange Format. RFC 7159, March 2014. https:\/\/doi.org\/10.17487\/RFC7159, https:\/\/www.rfc-editor.org\/info\/rfc7159","DOI":"10.17487\/RFC7159"},{"key":"26_CR7","doi-asserted-by":"crossref","unstructured":"Castro-Perez, D., Hu, R., Jongmans, S., Ng, N., Yoshida, N.: Distributed programming using role-parametric session types in Go: statically-typed endpoint APIs for dynamically-instantiated communication structures. Proc. ACM Program. Lang. 3(POPL), 29:1\u201329:30 (2019)","DOI":"10.1145\/3290342"},{"key":"26_CR8","unstructured":"Cledou, G., Edixhoven, L., Jongmans, S.S., Proen\u00e7a, J.: API generation for multiparty session types, revisited and revised using Scala 3. In: ECOOP. LIPIcs, vol. 222, pp. 27:1\u201327:28. Schloss Dagstuhl - Leibniz-Zentrum f\u00fcr Informatik (2022)"},{"issue":"3","key":"26_CR9","doi-asserted-by":"publisher","first-page":"197","DOI":"10.1007\/s10703-014-0218-8","volume":"46","author":"R Demangeon","year":"2015","unstructured":"Demangeon, R., Honda, K., Hu, R., Neykova, R., Yoshida, N.: Practical interruptible conversations: distributed dynamic verification with multiparty session types and Python. Formal Methods Syst. Des. 46(3), 197\u2013225 (2015)","journal-title":"Formal Methods Syst. Des."},{"key":"26_CR10","doi-asserted-by":"crossref","unstructured":"Deni\u00e9lou, P., Yoshida, N.: Dynamic multirole session types. In: POPL, pp. 435\u2013446. ACM (2011)","DOI":"10.1145\/1925844.1926435"},{"key":"26_CR11","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":"26_CR12","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"},{"key":"26_CR13","doi-asserted-by":"publisher","first-page":"69","DOI":"10.1016\/j.jlamp.2019.06.003","volume":"108","author":"R Guanciale","year":"2019","unstructured":"Guanciale, R., Tuosto, E.: Realisability of pomsets. J. Log. Algebraic Methods Program. 108, 69\u201389 (2019)","journal-title":"J. Log. Algebraic Methods Program."},{"key":"26_CR14","doi-asserted-by":"publisher","DOI":"10.1016\/j.scico.2020.102535","volume":"202","author":"R Guanciale","year":"2021","unstructured":"Guanciale, R., Tuosto, E.: Pomcho: a tool chain for choreographic design. Sci. Comput. Program. 202, 102535 (2021)","journal-title":"Sci. Comput. Program."},{"key":"26_CR15","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"266","DOI":"10.1007\/978-3-030-45190-5_15","volume-title":"Tools and Algorithms for the Construction and Analysis of Systems","author":"R Hamers","year":"2020","unstructured":"Hamers, R., Jongmans, S.-S.: Discourje: runtime verification of communication protocols in clojure. In: Biere, A., Parker, D. (eds.) TACAS 2020. LNCS, vol. 12078, pp. 266\u2013284. Springer, Cham (2020). https:\/\/doi.org\/10.1007\/978-3-030-45190-5_15"},{"key":"26_CR16","unstructured":"Harvey, P., Fowler, S., Dardha, O., Gay, S.J.: Multiparty session types for safe runtime adaptation in an actor language. In: ECOOP. LIPIcs, vol. 194, pp. 10:1\u201310:30. Schloss Dagstuhl - Leibniz-Zentrum f\u00fcr Informatik (2021)"},{"key":"26_CR17","doi-asserted-by":"crossref","unstructured":"Honda, K., Yoshida, N., Carbone, M.: Multiparty asynchronous session types. In: POPL, pp. 273\u2013284. ACM (2008)","DOI":"10.1145\/1328897.1328472"},{"key":"26_CR18","doi-asserted-by":"crossref","unstructured":"Honda, K., Yoshida, N., Carbone, M.: Multiparty asynchronous session types. J. ACM 63(1), 9:1\u20139:67 (2016)","DOI":"10.1145\/2827695"},{"key":"26_CR19","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":"26_CR20","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"116","DOI":"10.1007\/978-3-662-54494-5_7","volume-title":"Fundamental Approaches to Software Engineering","author":"R Hu","year":"2017","unstructured":"Hu, R., Yoshida, N.: Explicit connection actions in multiparty session types. In: Huisman, M., Rubin, J. (eds.) FASE 2017. LNCS, vol. 10202, pp. 116\u2013133. Springer, Heidelberg (2017). https:\/\/doi.org\/10.1007\/978-3-662-54494-5_7"},{"key":"26_CR21","unstructured":"Imai, K., Neykova, R., Yoshida, N., Yuen, S.: Multiparty session programming with global protocol combinators. In: ECOOP. LIPIcs, vol. 166, pp. 9:1\u20139:30. Schloss Dagstuhl - Leibniz-Zentrum f\u00fcr Informatik (2020)"},{"key":"26_CR22","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"251","DOI":"10.1007\/978-3-030-44914-8_10","volume-title":"Programming Languages and Systems","author":"S-S Jongmans","year":"2020","unstructured":"Jongmans, S.-S., Yoshida, N.: Exploring type-level bisimilarity towards more expressive multiparty session types. In: M\u00fcller, P. (ed.) ESOP 2020. LNCS, vol. 12075, pp. 251\u2013279. Springer, Cham (2020). https:\/\/doi.org\/10.1007\/978-3-030-44914-8_10"},{"key":"26_CR23","doi-asserted-by":"crossref","unstructured":"King, J., Ng, N., Yoshida, N.: Multiparty session type-safe web development with static linearity. In: PLACES@ETAPS. EPTCS, vol. 291, pp. 35\u201346 (2019)","DOI":"10.4204\/EPTCS.291.4"},{"key":"26_CR24","doi-asserted-by":"publisher","first-page":"52","DOI":"10.1016\/j.scico.2017.10.006","volume":"155","author":"D Kouzapas","year":"2018","unstructured":"Kouzapas, D., Dardha, O., Perera, R., Gay, S.J.: Typechecking protocols with Mungo and StMungo: a session type toolchain for Java. Sci. Comput. Program. 155, 52\u201375 (2018)","journal-title":"Sci. Comput. Program."},{"key":"26_CR25","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"127","DOI":"10.1007\/978-3-030-50029-0_8","volume-title":"Coordination Models and Languages","author":"N Lagaillardie","year":"2020","unstructured":"Lagaillardie, N., Neykova, R., Yoshida, N.: Implementing multiparty session types in rust. In: Bliudze, S., Bocchi, L. (eds.) COORDINATION 2020. LNCS, vol. 12134, pp. 127\u2013136. Springer, Cham (2020). https:\/\/doi.org\/10.1007\/978-3-030-50029-0_8"},{"key":"26_CR26","doi-asserted-by":"crossref","unstructured":"Lange, J., Tuosto, E., Yoshida, N.: From communicating machines to graphical choreographies. In: POPL, pp. 221\u2013232. ACM (2015)","DOI":"10.1145\/2775051.2676964"},{"key":"26_CR27","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":"26_CR28","doi-asserted-by":"crossref","unstructured":"Miu, A., Ferreira, F., Yoshida, N., Zhou, F.: Communication-safe web programming in typescript with routed multiparty session types. In: CC, pp. 94\u2013106. ACM (2021)","DOI":"10.1145\/3446804.3446854"},{"issue":"5","key":"26_CR29","doi-asserted-by":"publisher","first-page":"877","DOI":"10.1007\/s00165-017-0420-8","volume":"29","author":"R Neykova","year":"2017","unstructured":"Neykova, R., Bocchi, L., Yoshida, N.: Timed runtime monitoring for multiparty conversations. Formal Asp. Comput. 29(5), 877\u2013910 (2017)","journal-title":"Formal Asp. Comput."},{"key":"26_CR30","doi-asserted-by":"crossref","unstructured":"Neykova, R., Hu, R., Yoshida, N., Abdeljallal, F.: A session type provider: compile-time API generation of distributed protocols with refinements in F#. In: CC, pp. 128\u2013138. ACM (2018)","DOI":"10.1145\/3178372.3179495"},{"key":"26_CR31","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"236","DOI":"10.1007\/978-3-030-21485-2_14","volume-title":"Models, Languages, and Tools for Concurrent and Distributed Programming","author":"R Neykova","year":"2019","unstructured":"Neykova, R., Yoshida, N.: Featherweight scribble. In: Boreale, M., Corradini, F., Loreti, M., Pugliese, R. (eds.) Models, Languages, and Tools for Concurrent and Distributed Programming. LNCS, vol. 11665, pp. 236\u2013259. Springer, Cham (2019). https:\/\/doi.org\/10.1007\/978-3-030-21485-2_14"},{"key":"26_CR32","unstructured":"Scalas, A., Dardha, O., Hu, R., Yoshida, N.: A linear decomposition of multiparty sessions for safe distributed programming. In: ECOOP. LIPIcs, vol. 74, pp. 24:1\u201324:31. Schloss Dagstuhl - Leibniz-Zentrum f\u00fcr Informatik (2017)"},{"key":"26_CR33","doi-asserted-by":"crossref","unstructured":"Scalas, A., Yoshida, N.: Less is more: multiparty session types revisited. Proc. ACM Program. Lang. 3(POPL), 30:1\u201330:29 (2019)","DOI":"10.1145\/3290343"},{"key":"26_CR34","doi-asserted-by":"crossref","unstructured":"Scalas, A., Yoshida, N., Benussi, E.: EFFPI: verified message-passing programs in dotty. In: SCALA@ECOOP, pp. 27\u201331. ACM (2019)","DOI":"10.1145\/3337932.3338812"},{"key":"26_CR35","doi-asserted-by":"crossref","unstructured":"Scalas, A., Yoshida, N., Benussi, E.: Verifying message-passing programs with dependent behavioural types. In: PLDI, pp. 502\u2013516. ACM (2019)","DOI":"10.1145\/3314221.3322484"},{"key":"26_CR36","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. Methods Program. 95, 17\u201340 (2018)","journal-title":"J. Log. Algebr. Methods Program."},{"key":"26_CR37","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"208","DOI":"10.1007\/978-3-030-50086-3_12","volume-title":"Formal Techniques for Distributed Objects, Components, and Systems","author":"AL Voinea","year":"2020","unstructured":"Voinea, A.L., Dardha, O., Gay, S.J.: Typechecking Java protocols with [St]Mungo. In: Gotsman, A., Sokolova, A. (eds.) FORTE 2020. LNCS, vol. 12136, pp. 208\u2013224. Springer, Cham (2020). https:\/\/doi.org\/10.1007\/978-3-030-50086-3_12"},{"key":"26_CR38","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"18","DOI":"10.1007\/978-3-030-86593-1_2","volume-title":"Fundamentals of Computation Theory","author":"N Yoshida","year":"2021","unstructured":"Yoshida, N., Zhou, F., Ferreira, F.: Communicating finite state machines and an extensible toolchain for\u00a0multiparty session types. In: Bampis, E., Pagourtzis, A. (eds.) FCT 2021. LNCS, vol. 12867, pp. 18\u201335. Springer, Cham (2021). https:\/\/doi.org\/10.1007\/978-3-030-86593-1_2"},{"key":"26_CR39","doi-asserted-by":"crossref","unstructured":"Zhou, F., Ferreira, F., Hu, R., Neykova, R., Yoshida, N.: Statically verified refinements for multiparty protocols. Proc. ACM Program. Lang. 4(OOPSLA), 148:1\u2013148:30 (2020)","DOI":"10.1145\/3428216"}],"container-title":["Lecture Notes in Computer Science","Leveraging Applications of Formal Methods, Verification and Validation. Verification Principles"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-031-19849-6_26","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,10,20]],"date-time":"2022-10-20T00:11:16Z","timestamp":1666224676000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-19849-6_26"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022]]},"ISBN":["9783031198489","9783031198496"],"references-count":39,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-19849-6_26","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2022]]},"assertion":[{"value":"17 October 2022","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"ISoLA","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Symposium on Leveraging Applications of Formal Methods","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Rhodes","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Greece","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2022","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"22 October 2022","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"30 October 2022","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"11","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"isola2022","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"http:\/\/www.isola-conference.org\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}}]}}