Instant Polymorphic Type Systems for Mobile Process Calculi: Just Add Reduction Rules and Close

Many different mobile process calculi have been invented, and for each some number of type systems has been developed. Soundness and other properties must be proved separately for each calculus and type system. We present the generic polymorphic type system Poly* which works for a wide range of mobile process calculi, including the π-calculus and Mobile Ambients. For any calculus satisfying some general syntactic conditions, well-formedness rules for types are derived automatically from the reduction rules and Poly* works otherwise unchanged. The derived type system is automatically sound (i.e., has subject reduction) and often more precise than previous type systems for the calculus, due to Poly*'s spatial polymorphism. We present an implemented type inference algorithm for Poly* which automatically constructs a typing given a set of reduction rules and a term to be typed. The generated typings are principal with respect to certain natural type shape constraints.

[1]  Jan Vitek,et al.  Seal: A Framework for Secure Mobile Computations , 1998, ICCL Workshop: Internet Programming Languages.

[2]  Atsushi Igarashi,et al.  A generic type system for the Pi-calculus , 2004, Theor. Comput. Sci..

[3]  David N. Turner,et al.  The polymorphic Pi-calculus : theory and implementation , 1996 .

[4]  Gérard Boudol The π-calculus in direct style , 1997, POPL '97.

[5]  Giuseppe Castagna,et al.  Typing Mobility in the Seal Calculus , 2001, CONCUR.

[6]  Flemming Nielson,et al.  Abstract Interpretation of Mobile Ambients , 1999, SAS.

[7]  Nobuko Yoshida,et al.  Graph Types for Monadic Mobile Processes , 1996, FSTTCS.

[8]  G. Erard Boudol The -calculus in Direct Style (*) , 1997 .

[9]  Andrew D. Gordon,et al.  Typing correspondence assertions for communication protocols , 2003, Theor. Comput. Sci..

[10]  Robin Milner,et al.  On Observing Nondeterminism and Concurrency , 1980, ICALP.

[11]  Benjamin C. Pierce,et al.  Theoretical Aspects of Computer Software , 2001, Lecture Notes in Computer Science.

[12]  Jens Palsberg,et al.  From polyvariant flow information to intersection and union types , 1998, POPL '98.

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

[14]  Robin Milner,et al.  Theories for the Global Ubiquitous Computer , 2004, FoSSaCS.

[15]  Agostino Cortesi,et al.  BANANA - A Tool for Boundary Ambients Nesting ANAlysis , 2003, TACAS.

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

[17]  Francesca Levi,et al.  A Control Flow Analysis for Safe and Boxed Ambients , 2004, ESOP.

[18]  Sergio Maffeis,et al.  Sequence Types for the pi-calculus , 2005, ITRS.

[19]  Michele Bugliesi,et al.  Boxed Ambients , 2001, TACS.

[20]  Michele Bugliesi,et al.  Secrecy in Untrusted Networks , 2003, ICALP.

[21]  Torben Amtoft,et al.  Faithful Translations between Polyvariant Flows and Polymorphic Types , 2000, ESOP.

[22]  Georg Sander,et al.  Graph Layout through the VCG Tool , 1994, GD.

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

[24]  Maria Grazia Vigliotti,et al.  On Reduction Semantics for the Push and Pull Ambitent Calculus , 2002, IFIP TCS.

[25]  Joe B. Wells,et al.  The Essence of Principal Typings , 2002, ICALP.

[26]  Joe B. Wells,et al.  Instant Polymorphic Types for Mobile Process Calculi: Just add Reduction Rules and Close , 2005 .

[27]  Sagar Chaki,et al.  Types as models: model checking message-passing programs , 2002, POPL '02.

[28]  Martín Abadi,et al.  A Calculus for Cryptographic Protocols: The spi Calculus , 1999, Inf. Comput..

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

[30]  Martin Jandl,et al.  Internet Programming Languages , 2005, The Industrial Information Technology Handbook.

[31]  Luca Cardelli,et al.  On understanding types, data abstraction, and polymorphism , 1985, CSUR.

[32]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[33]  Martín Abadi,et al.  A calculus for cryptographic protocols: the spi calculus , 1997, CCS '97.

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

[35]  Michele Bugliesi,et al.  Communication Interference in Mobile Boxed Ambients , 2002, FSTTCS.

[36]  Flemming Nielson,et al.  Spatial Analysis of BioAmbients , 2004, SAS.

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

[38]  R. Milner,et al.  Bigraphical Reactive Systems , 2001, CONCUR.