safeDpi: a language for controlling mobile code

AbstractsafeDpi is a distributed version of the Picalculus, in which processes are located at dynamically created sites. Parametrised code may be sent between sites using so-called ports, which are essentially higher-order versions of Picalculus communication channels. A host location may protect itself by only accepting code which conforms to a given type associated to the incoming port.We define a sophisticated static type system for these ports, which restrict the capabilities and access rights of any processes launched by incoming code. Dependent and existential types are used to add flexibility, allowing the behaviour of these launched processes, encoded as process types, to depend on the host's instantiation of the incoming code.We also show that a natural contextually defined behavioural equivalence can be characterised coinductively, using bisimulations based on typed actions. The characterisation is based on the idea of knowledge acquisition by a testing environment and makes explicit some of the subtleties of determining equivalence in this language of highly constrained distributed code.

[1]  Julian Rathke,et al.  Towards a behavioural theory of access and mobility control in distributed systems , 2004, Theor. Comput. Sci..

[2]  David Walker,et al.  Stack-based typed assembly language , 1998, Journal of Functional Programming.

[3]  Marc Lacoste,et al.  An Abstract Machine for a Higher-Order Distributed Process Calculus , 2002, Electron. Notes Theor. Comput. Sci..

[4]  James Riely,et al.  Trust and partial typing in open systems of mobile agents , 1999, POPL '99.

[5]  Nobuko Yoshida,et al.  Suptyping and Locality in Distributed Higher Order Processes (extended abstract) , 1999, CONCUR.

[6]  David Walker,et al.  A type system for expressive security policies , 2000, POPL '00.

[7]  Francesco Zappa Nardelli,et al.  Bisimulation Proof Methods for Mobile Ambients , 2003, ICALP.

[8]  Cédric Lhoussaine,et al.  Type Inference for a Distributed pi-Calculus , 2003, ESOP.

[9]  Luca Cardelli,et al.  Mobile Ambients , 1998, FoSSaCS.

[10]  Atsushi Igarashi,et al.  Resource usage analysis , 2002, POPL '02.

[11]  Nobuko Yoshida,et al.  Assigning types to processes , 2000, Proceedings Fifteenth Annual IEEE Symposium on Logic in Computer Science (Cat. No.99CB36332).

[12]  Cédric Lhoussaine,et al.  Type inference for a distributed \pi-calculus , 2004, Sci. Comput. Program..

[13]  C. K. R. T. Jones,et al.  The ϱ-Calculus , 1981, Math. Log. Q..

[14]  Davide Sangiorgi,et al.  Bisimulation in name-passing calculi without matching , 1998, Proceedings. Thirteenth Annual IEEE Symposium on Logic in Computer Science (Cat. No.98CB36226).

[15]  James Riely,et al.  Resource Access Control in Systems of Mobile Agents , 2002, HLCL.

[16]  Julian Rathke,et al.  Typed behavioural equivalences for processes in the presence of subtyping , 2002, Electron. Notes Theor. Comput. Sci..

[17]  Julian Rathke,et al.  Contextual equivalence for higher-order pi-calculus revisited , 2005, Log. Methods Comput. Sci..

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

[19]  Jean-Jacques Lévy,et al.  A Calculus of Mobile Agents , 1996, CONCUR.

[20]  David Walker,et al.  Stack-based typed assembly language , 2002, J. Funct. Program..

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

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

[23]  Alan Schmitt,et al.  The m-calculus: a higher-order distributed process calculus , 2003, POPL '03.

[24]  Nobuko Yoshida,et al.  On Reduction-Based Process Semantics , 1995, Theor. Comput. Sci..

[25]  Davide Sangiorgi,et al.  Behavioral equivalence in the polymorphic pi-calculus , 2000, JACM.

[26]  Julian Rathke,et al.  Contextual Equivalence for Higher-Order π-Calculus Revisited , 2003, MFPS.

[27]  Luca Cardelli,et al.  Ambient Groups and Mobility Types , 2000, IFIP TCS.

[28]  Giuseppe Castagna,et al.  The Seal Calculus Revisited: Contextual Equivalence and Bisimilarity , 2002, FSTTCS.

[29]  Nobuko Yoshida,et al.  Channel dependent types for higher-order mobile processes , 2004, POPL.

[30]  James Riely,et al.  Trust and Partial Typing in Open Systems of Mobile Agents , 2004, Journal of Automated Reasoning.