Abstract
We introduce a meta-model based on formal languages, dubbed formal choreographic languages, to study message-passing systems. Our main motivation is to establish a framework for the comparison and generalisation of standard constructions and properties from the literature. In particular, we consider notions such as global view, local view, and projections from the former to the latter. The correctness of local views projected from global views is characterised in terms of a closure property. A condition is also devised to guarantee relevant communication properties such as (dead)lock-freedom. Formal choreographic languages capture existing formalisms for message-passing systems; we detail the cases of multiparty session types and choreography automata. Unlike many other models, formal choreographic languages can naturally model systems exhibiting non-regular behaviour.
Research partly supported by the EU H2020 RISE programme under the Marie Skłodowska-Curie grant agreement No 778233. Work partially funded by MIUR project PRIN 2017FTXR7S IT MATTERS (Methods and Tools for Trustworthy Smart Systems). The first and second authors have also been partially supported by INdAM as members of GNCS (Gruppo Nazionale per il Calcolo Scientifico). The first author has also been partially supported by Progetto di Ateneo UNICT PIACERI. The authors thank the anonymous reviewers for their helpful comments, in particular one reviewer of a previous submission for suggesting the relation with Galois connections. The authors also thank Mariangiola Dezani-Ciancaglini for her support.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Alur, R.: The benefits of exposing calls and returns. In: Abadi, M., de Alfaro, L. (eds.) CONCUR 2005. LNCS, vol. 3653, pp. 2–3. Springer, Heidelberg (2005). https://doi.org/10.1007/11539452_2
Alur, R., Etessami, K., Yannakakis, M.: Realizability and verification of MSC graphs. In: Orejas, F., Spirakis, P.G., van Leeuwen, J. (eds.) ICALP 2001. LNCS, vol. 2076, pp. 797–808. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-48224-5_65
Alur, R., Etessami, K., Yannakakis, M.: Inference of message sequence charts. IEEE Trans. Softw. Eng. 29(7), 623–633 (2003)
Autebert, J.-M., Beauquier, J., Boasson, L.: Langages sur des alphabets infinis. Discrete Appl. Math. 2(1), 1–20 (1980). http://www.sciencedirect.com/science/article/pii/0166218X80900505. https://doi.org/10.1016/0166-218X(80)90050-5
Barbanera, F., Dezani-Ciancaglini, M., Lanese, I., Tuosto, E.: Composition and decomposition of multiparty sessions. J. Log. Algebraic Methods Program. 119, 100620 (2021). http://www.sciencedirect.com/science/article/pii/S235222082030105X. https://doi.org/10.1016/j.jlamp.2020.100620
Barbanera, F., Lanese, I., Tuosto, E.: Choreography automata. In: Bliudze, S., Bocchi, L. (eds.) COORDINATION 2020. LNCS, vol. 12134, pp. 86–106. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-50029-0_6
Barbanera, F., Lanese, I., Tuosto, E.: Formal choreographic languages (extended version). Technical report, GSSI (2022). https://emwww.github.io/home/tr/fcl.pdf
Basu, S., Bultan, T.: Choreography conformance via synchronizability. In: Srinivasan, S., Ramamritham, K., Kumar, A., Ravindra, M.P., Bertino, E., Kumar, R. (eds.) Proceedings of the 20th International Conference on World Wide Web, WWW 2011, Hyderabad, India, 28 March–1 April 2011, pp. 795–804. ACM (2011). https://doi.org/10.1145/1963405.1963516
Basu, S., Bultan, T., Ouederni, M.: Deciding choreography realizability. In: Proceedings of the 39th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2012, Philadelphia, Pennsylvania, USA, 22–28 January 2012, pp. 191–202 (2012). https://doi.org/10.1145/2103656.2103680
Bonér, J.: Reactive Microsystems - The Evolution Of Microservices At Scale. O’Reilly (2018)
Brand, D., Zafiropulo, P.: On communicating finite-state machines. J. ACM 30(2), 323–342 (1983)
Bravetti, M., Zavattaro, G.: Towards a unifying theory for choreography conformance and contract compliance. In: Lumpe, M., Vanderperren, W. (eds.) SC 2007. LNCS, vol. 4829, pp. 34–50. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-77351-1_4
Carbone, M., Honda, K., Yoshida, N.: Structured communication-centered programming for web services. ACM Trans. Program. Lang. Syst. 34(2), 8:1–8:78 (2012). https://doi.org/10.1145/2220365.2220367
Coppo, M., Dezani-Ciancaglini, M., Yoshida, N., Padovani, L.: Global progress for dynamically interleaved multiparty sessions. Math. Struct. Comput. Sci. 26(2), 238–302 (2016)
Dezani-Ciancaglini, M., Ghilezan, S., Jaksic, S., Pantovic, J., Yoshida, N.: Precise subtyping for synchronous multiparty sessions. In: Gay, S., Alglave, J. (eds.) Proceedings Eighth International Workshop on Programming Language Approaches to Concurrency- and Communication-cEntric Software, PLACES 2015, London, UK, 18th April 2015, vol. 203. EPTCS, pp. 29–43 (2015). https://doi.org/10.4204/EPTCS.203.3
Duboc, C.: Mixed product and asynchronous automata. TCS 48(3), 183–199 (1986). https://doi.org/10.1016/0304-3975(86)90094-0
Eilenberg, S.: Automata, Languages, and Machines., B. Pure and Applied Mathematics. Academic Press (1976). https://www.worldcat.org/oclc/310535259
Xiang, F., Bultan, T., Jianwen, S.: Conversation protocols: a formalism for specification and verification of reactive electronic services. TCS 328(1–2), 19–37 (2004)
Gastin, P.: Infinite traces. In: Guessarian, I. (ed.) LITP 1990. LNCS, vol. 469, pp. 277–308. Springer, Heidelberg (1990). https://doi.org/10.1007/3-540-53479-2_12
Gastin, P.: Recognizable and rational languages of finite and infinite traces. In: Choffrut, C., Jantzen, M. (eds.) STACS 1991. LNCS, vol. 480, pp. 89–104. Springer, Heidelberg (1991). https://doi.org/10.1007/BFb0020790
Gastin, P., Petit, A., Zielonka, W.: A Kleene theorem for infinite trace languages. In: Albert, J.L., Monien, B., Artalejo, M.R. (eds.) ICALP 1991. LNCS, vol. 510, pp. 254–266. Springer, Heidelberg (1991). https://doi.org/10.1007/3-540-54233-7_139
Genest, B., Muscholl, A.: Constructing exponential-size deterministic Zielonka automata. In: Bugliesi, M., Preneel, B., Sassone, V., Wegener, I. (eds.) ICALP 2006. LNCS, vol. 4052, pp. 565–576. Springer, Heidelberg (2006). https://doi.org/10.1007/11787006_48
Ghilezan, S., Jaksic, S., Pantovic, J., Scalas, A., Yoshida, N.: Precise subtyping for synchronous multiparty sessions. J. Log. Algebraic Methods Program. 104, 127–173 (2019). https://doi.org/10.1016/j.jlamp.2018.12.002
Honda, K., Yoshida, N., Carbone, M.: Multiparty asynchronous session types. J. ACM 63(1), 9:1–9:67 (2016). Extended version of a paper presented at POPL08. https://doi.org/10.1145/2827695
Hüttel, H., et al.: Foundations of session types and behavioural contracts. ACM Comput. Surv. 49(1), 3:1–3:36 (2016)
ITU Telecommunication Standardization Sector. ITU-T recommendation Z.120. Message Sequence Charts (MSC’96) (1996)
Kavantzas, N., Burdett, D., Ritzinger, G., Fletcher, T., Lafon, Y., Barreto, C.: Web services choreography description language version 1.0. Technical report, W3C (2005). http://www.w3.org/TR/ws-cdl-10/
Kobayashi, N.: A type system for lock-free processes. Inf. Comput. 177, 122–159 (2002)
Kobayashi, N., Sangiorgi, D.: A hybrid type system for lock-freedom of mobile processes. ACM Trans. Program. Lang. Syst. 32(5), 16:1–16:49 (2010). https://doi.org/10.1145/1745312.1745313
Kouzapas, D., Yoshida, N.: Globally governed session semantics. Log. Methods Comput. Sci. 10(4) (2014). https://doi.org/10.2168/LMCS-10(4:20)2014
Lanese, I., Guidi, C., Montesi, F., Zavattaro, G.: Bridging the gap between interaction- and process-oriented choreographies. In: Software Engineering and Formal Methods, SEFM 2008, pp. 323–332 (2008)
Lange, J., Ng, N., Toninho, B., Yoshida, N.: Fencing off go: liveness and safety for channel-based programming. In: Castagna, G., Gordon, A.D. (eds.) Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages, POPL 2017, Paris, France, 18–20 January 2017, pp. 748–761. ACM (2017). http://dl.acm.org/citation.cfm?id=3009847
Mazurkiewicz, A.: Trace theory. In: Brauer, W., Reisig, W., Rozenberg, G. (eds.) ACPN 1986. LNCS, vol. 255, pp. 278–324. Springer, Heidelberg (1987). https://doi.org/10.1007/3-540-17906-2_30
OMG. Business Process Model and Notation (BPMN), Version 2.0, January 2011. https://www.omg.org/spec/BPMN
Padovani, L.: From lock freedom to progress using session types. In: Yoshida, N., Vanderbauwhede, W. (eds.) Proceedings 6th Workshop on Programming Language Approaches to Concurrency and Communication-cEntric Software, PLACES 2013, Rome, Italy, 23rd March 2013, vol. 137. EPTCS, pp. 3–19 (2013). https://doi.org/10.4204/EPTCS.137.2
Redziejowski, R.R.: Infinite-word languages and continuous mappings. TCS 43, 59–79 (1986). https://doi.org/10.1016/0304-3975(86)90166-0
Severi, P., Dezani-Ciancaglini, M.: Observational equivalence for multiparty sessions. Fundam. Informaticae 170(1–3), 267–305 (2019). https://doi.org/10.3233/FI-2019-1863
Staiger, L.: \(\omega \)-languages. In: Rozenberg, G., Salomaa, A. (eds.) Handbook of Formal Languages, pp. 339–387. Springer, Heidelberg (1997). https://doi.org/10.1007/978-3-642-59126-6_6
Zielonka, W.: Notes on finite asynchronous automata. RAIRO Theor. Informatics Appl. 21(2), 99–135 (1987). https://doi.org/10.1051/ita/1987210200991
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 IFIP International Federation for Information Processing
About this paper
Cite this paper
Barbanera, F., Lanese, I., Tuosto, E. (2022). Formal Choreographic Languages. In: ter Beek, M.H., Sirjani, M. (eds) Coordination Models and Languages. COORDINATION 2022. IFIP Advances in Information and Communication Technology, vol 13271. Springer, Cham. https://doi.org/10.1007/978-3-031-08143-9_8
Download citation
DOI: https://doi.org/10.1007/978-3-031-08143-9_8
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-08145-3
Online ISBN: 978-3-031-08143-9
eBook Packages: Computer ScienceComputer Science (R0)