BASS: boxed ambients with safe sessions

We define BASS, a typed boxed ambients calculus with safe sessions. Sessions offer the possibility of using the same channel to transmit information of different types in a prescribed order. A session involves two communicating processes located either within the same ambient or across an ambient boundary. One of the challenges of adding session primitives to a mobile calculus is how to protect sessions from being interrupted by a mobility step. To address this challenge, we introduce a mechanism that prevents an ambient from moving, if there are pending sessions across its boundaryThe main result of our development is that in a well-typed process a communication redex never disappears after a mobility step. In other words, the residual of a communication redex is present in the reduct of the original process enabling a pending session step to be completed. Therefore, we claim that sessions in our calculus are safe.

[1]  Vladimiro Sassone,et al.  Typing and Subtyping Mobility in Boxed Ambients , 2002, CONCUR.

[2]  Simon J. Gay,et al.  Subtyping for session types in the pi calculus , 2005, Acta Informatica.

[3]  Mariangiola Dezani-Ciancaglini,et al.  Mobility Types for Mobile Processes in Mobile Ambients , 2003, Electron. Notes Theor. Comput. Sci..

[4]  António Ravara,et al.  Session Types for Inter-Process Communication , 2003 .

[5]  Michele Bugliesi,et al.  Communication and mobility control in boxed ambients , 2005, Inf. Comput..

[6]  Kohei Honda,et al.  Types for Dynamic Interaction , 1993 .

[7]  Elio Giovannetti,et al.  Ambient Calculi with Types: A Tutorial , 2003, Global Computing.

[8]  Davide Sangiorgi,et al.  Controlling interference in ambients , 2000, POPL '00.

[9]  Torben Amtoft,et al.  PolyA: True Type Polymorphism for Mobile Ambients , 2004, IFIP TCS.

[10]  Eduardo Bonelli,et al.  Typechecking Safe Process Synchronization , 2005, FGUC.

[11]  Sophia Drossopoulou,et al.  Session Types for Object-Oriented Languages , 2006, ECOOP.

[12]  Matthew Hennessy,et al.  Bisimulation congruences in safe ambients , 2002, POPL '02.

[13]  Eduardo Bonelli,et al.  Correspondence assertions for process synchronization in concurrent communications , 2004, J. Funct. Program..

[14]  Jan Vitek,et al.  The Seal Calculus , 2005, Inf. Comput..

[15]  Adriana B. Compagnoni,et al.  Splitting Mobility and Communication in Boxed Ambients , 2006, Electron. Notes Theor. Comput. Sci..

[16]  James Riely,et al.  Resource Access Control in Systems of Mobile Agents , 2002, Inf. Comput..

[17]  Mariangiola Dezani-Ciancaglini,et al.  Boxed Ambients with Communication Interfaces , 2004, MFCS.

[18]  Antonio Vallecillo,et al.  Typing the Behavior of Objects and Component Using Session Types , 2003, FOCLASA.

[19]  Mariangiola Dezani-Ciancaglini,et al.  Dynamic and Local Typing for Mobile Ambients , 2004, IFIP TCS.

[20]  Henk Barendregt,et al.  The Lambda Calculus: Its Syntax and Semantics , 1985 .

[21]  Rocco De Nicola,et al.  KLAIM: A Kernel Language for Agents Interaction and Mobility , 1998, IEEE Trans. Software Eng..

[22]  Luca Cardelli,et al.  Mobility Types for Mobile Ambients , 1999, ICALP.

[23]  Michele Bugliesi,et al.  Behavioural typing for safe ambients , 2002, Comput. Lang. Syst. Struct..

[24]  Michele Bugliesi,et al.  Access control for mobile agents: The calculus of boxed ambients , 2004, TOPL.

[25]  António Ravara,et al.  Session Types for Functional Multithreading , 2004, CONCUR.

[26]  Kohei Honda,et al.  An Interaction-based Language and its Typing System , 1994, PARLE.

[27]  Vladimiro Sassone,et al.  A Dependently Typed Ambient Calculus , 2004, ESOP.

[28]  Luca Cardelli,et al.  Mobile Ambients , 1998, Foundations of Software Science and Computation Structure.

[29]  Sophia Drossopoulou,et al.  A Distributed Object-Oriented Language with Session Types , 2005, TGC.

[30]  Eduardo Bonelli,et al.  Correspondence assertions for process synchronization in concurrent communications , 2005, J. Funct. Program..

[31]  Luca Cardelli,et al.  Types for the Ambient Calculus , 2002, Inf. Comput..

[32]  Luca Cardelli,et al.  Abstractions for Mobile Computation , 2001, Secure Internet Programming.

[33]  Vasco Thudichum Vasconcelos,et al.  Language Primitives and Type Discipline for Structured Communication-Based Programming Revisited: Two Systems for Higher-Order Session Communication , 1998, SecReT@ICALP.

[34]  Simon J. Gay,et al.  Types and Subtypes for Client-Server Interactions , 1999, ESOP.

[35]  Andrew D. Gordon,et al.  Ðð Blockinøöóòò Aeóøø× Ò Ìììóööøø Blockin Blockinð Óñôùøøö Ë Blockin , 2007 .

[36]  Torben Amtoft,et al.  What Are Polymorphically-Typed Ambients? , 2001, ESOP.

[37]  Kohei Honda,et al.  Types for Dyadic Interaction , 1993, CONCUR.

[38]  Davide Sangiorgi,et al.  Mobile safe ambients , 2003, TOPL.

[39]  Jean-Jacques Lévy,et al.  Computations in Orthogonal Rewriting Systems, II , 1991, Computational Logic - Essays in Honor of Alan Robinson.