Multiparty sessions are systems of concurrent processes, which allow several participants to communicate by sending and receiving messages. Their overall behaviour can be described by means of global types. Typable multiparty sessions enjoy lock-freedom. We look at multiparty sessions as open systems by allowing one to compose multiparty sessions by transforming two of their participants into a pair of coupled gateways, forwarding messages between the two sessions. Gateways need to be compatible. We show that the session resulting from the composition can be typed, and its type can be computed from the global types of the starting sessions. As a consequence, lock-freedom is preserved by composition. Compatibility between global types is necessary, since systems obtained by composing sessions with incompatible global types have locks (or they are not sessions). We also define direct composition, which allows one to connect two global types without using gateways. Finally, we propose a decomposition operator, to split a global type into two, which is the left inverse of direct composition. Direct composition and decomposition on global types prepare the ground for a novel framework allowing for the modular design and implementation of distributed systems.

Barbanera F., Dezani-Ciancaglini M., Lanese I., Tuosto E. (2021). Composition and decomposition of multiparty sessions. THE JOURNAL OF LOGICAL AND ALGEBRAIC METHODS IN PROGRAMMING, 119, 1-34 [10.1016/j.jlamp.2020.100620].

Composition and decomposition of multiparty sessions

Lanese I.;
2021

Abstract

Multiparty sessions are systems of concurrent processes, which allow several participants to communicate by sending and receiving messages. Their overall behaviour can be described by means of global types. Typable multiparty sessions enjoy lock-freedom. We look at multiparty sessions as open systems by allowing one to compose multiparty sessions by transforming two of their participants into a pair of coupled gateways, forwarding messages between the two sessions. Gateways need to be compatible. We show that the session resulting from the composition can be typed, and its type can be computed from the global types of the starting sessions. As a consequence, lock-freedom is preserved by composition. Compatibility between global types is necessary, since systems obtained by composing sessions with incompatible global types have locks (or they are not sessions). We also define direct composition, which allows one to connect two global types without using gateways. Finally, we propose a decomposition operator, to split a global type into two, which is the left inverse of direct composition. Direct composition and decomposition on global types prepare the ground for a novel framework allowing for the modular design and implementation of distributed systems.
2021
Barbanera F., Dezani-Ciancaglini M., Lanese I., Tuosto E. (2021). Composition and decomposition of multiparty sessions. THE JOURNAL OF LOGICAL AND ALGEBRAIC METHODS IN PROGRAMMING, 119, 1-34 [10.1016/j.jlamp.2020.100620].
Barbanera F.; Dezani-Ciancaglini M.; Lanese I.; Tuosto E.
File in questo prodotto:
File Dimensione Formato  
OpenGTsynch-Main.pdf

Open Access dal 05/11/2022

Descrizione: Postprint autore
Tipo: Postprint
Licenza: Licenza per Accesso Aperto. Creative Commons Attribuzione - Non commerciale - Non opere derivate (CCBYNCND)
Dimensione 651.84 kB
Formato Adobe PDF
651.84 kB Adobe PDF Visualizza/Apri

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11585/846892
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 21
  • ???jsp.display-item.citation.isi??? 16
social impact