Multiparty Session Types: Theory and Conversation-Oriented Programming

Lead Research Organisation: Imperial College London
Department Name: Computing

Abstract

Driven by the industrial and social needs, communication is rapidlybecoming the central element of software development, as found in webservices, business protocols, multicore CPUs and corporateintegration. In this environment, a programmer will have hundreds ofcomputing nodes per application at her/his disposal, which will becomea norm in a few years: communication and concurrency is becomingcentral to computing. However a mature understanding on how software can best harness thepower and richness of this coming environment, is still lacking in thecomputing community, industry and academia alike. This current lackof the understanding --- hence lack of agreement --- on this issuewill lead to a dire confusion in programming, in modelling, inoptimisation technologies, and in the development of diverseinfrastructures including middle-ware. This project aims to contributeto the development of some of the key technical elements forharnessing the power of communication and concurrency in programming.The project centres on the idea of organising communication asstructured conversations, based on one of the most advanced theoriesin this area, the multiparty session types, recently introduced by thePIs. We develop a generalisation of the theory of multiparty sessiontypes, then apply the developed theory to a design and implementationof an extension of the well-known object-oriented language, Java,extending the code base which is also developed by the PIs.The resulting language, Java with multiparty session types, will beused to implement real-world complex financial/business protocols inthe two industry standards, ISO UNIFI (ISO TC68 WG4 ISO20022 UNIversalFinancial Industry message scheme) and W3C CDL (ChoreographyDescription Language). The theory of multiparty session types itselfwas motivated by the PIs' dialogue with key personnel of thesestandards. Through implementing advanced financial/business protocolsin the developed language, validator and compiler, not only can weexamine the practical usability of the developed theory vis-a-vis someof the most complex conversation patterns found in practice, but alsowe shall make it viable to use the developed technical ideas includingnotations and implementations as part of these standardisationefforts, for which the PIs have been working as official invitedmembers.

Publications

10 25 50
publication icon
Alves N (2011) Secure Execution of Distributed Session Programs in Electronic Proceedings in Theoretical Computer Science

publication icon
Bejleri A (2009) Synchronous Multiparty Session Types in Electronic Notes in Theoretical Computer Science

publication icon
Bejleri A (2010) Session-Based Programming for Parallel Algorithms: Expressiveness and Performance in Electronic Proceedings in Theoretical Computer Science

publication icon
Bocchi L (2017) Monitoring networks through multiparty session types in Theoretical Computer Science

publication icon
Bocchi L (2013) Embedding Session Types in HML in Electronic Proceedings in Theoretical Computer Science

publication icon
CAPECCHI S (2014) Global escape in multiparty sessions in Mathematical Structures in Computer Science

 
Description We have discovered applications of Multiparty Session Types the Ocean Observatories Initiative project, The Scribble protocol language developed by us are used by Red Hat. The research funded on this grant is applied to testable architectures in Cognizant and runtime verification in VMware.
Exploitation Route The Scribble Protocol Language we developed is based on the Multiparty Session Types theory.
We have an implementation of runtime verification in Python celery framework, and developed applications of session types to parallel programming in the Session C framework.
Sectors Digital/Communication/Information Technologies (including Software),Education,Security and Diplomacy

URL http://mrg.doc.ic.ac.uk/
 
Description Development of an open source projects, Scribble at Red Hat and Savara at Cognizant; also applications to Ocean Observatories Initiative (NSF project in US for developing a large cyberinfrustructure for ocean observations). We taught our languages and their applications at several places in Europe, UK and US.
First Year Of Impact 2013
Sector Communities and Social Services/Policy,Digital/Communication/Information Technologies (including Software),Education,Security and Diplomacy
Impact Types Policy & public services