Published online by Cambridge University Press: 10 November 2014
This article proposes a global escape mechanism which can handle unexpected or unwanted conditions changing the default execution of distributed communicational flows, preserving compatibility of the multiparty conversations. Our escape is realized by a collection of asynchronous local exceptions which can be thrown at any stage of the communication and to any subsets of participants in a multiparty session. This flexibility enables to model complex exceptions such as criss-crossing global interactions and error handling for distributed cooperating threads. Guided by multiparty session types, our semantics is proven to provide a termination algorithm for global escapes. Our type system guarantees further safety and liveness properties, such as progress within the session and atomicity of escapes with respect to the subset of involved participants.
This work has been partially supported by ICT COST Action IC1201 BETTY EPSRC EP/G015635/01, EP/K011715/01, EP/K034413, EP/L00058X/1 EU project FP7-231620 ‘HATS’, EU project FP7-612985 UpScale, EU project ASCENS 257414, EU project FP7-610582 ENVISAGE MIUR Project ‘CINA’, Ateneo/CSP Project ‘SALT’ and by ANR 11 INSE 007 ‘REVER’.