The Kell Calculus: A Family of Higher-Order Distributed Process Calculi

This paper presents the Kell calculus, a family of distributed process calculi, parameterized by languages for input patterns, that is intended as a basis for studying component-based distributed programming. The Kell calculus is built around a π-calculus core, and follows five design principles which are essential for a foundational model of distributed and mobile programming: hierarchical localities, local actions, higher-order communication, programmable membranes, and dynamic binding. The paper discusses these principles, and defines the syntax and operational semantics common to all calculi in the Kell calculus family. The paper provides a co-inductive characterization of contextual equivalence for Kell calculi, under sufficient conditions on pattern languages, by means of a form of higher-order bisimulation called strong context bisimulation. The paper also contains several examples that illustrate the expressive power of Kell calculi.

[1]  Dave Clarke,et al.  External Uniqueness Is Unique Enough , 2003, ECOOP.

[2]  Murali Sitaraman,et al.  Foundations of component-based systems , 2000 .

[3]  Peter Sewell,et al.  Nomadic Pict: language and infrastructure design for mobile agents , 2000, IEEE Concurr..

[4]  Silvano Dal Zilio,et al.  Mobile processes: a commented bibliography , 2001 .

[5]  António Ravara,et al.  Lexically scoped distribution: what you see is what you get , 2003, FGC.

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

[7]  Ilaria Castellani,et al.  Process Algebras with Localities , 2001, Handbook of Process Algebra.

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

[9]  Rocco De Nicola,et al.  Types for access control , 2000, Theor. Comput. Sci..

[10]  Seif Haridi,et al.  Distributed Algorithms , 1992, Lecture Notes in Computer Science.

[11]  Jean-Bernard Stefani A calculus of Kells , 2003, Electron. Notes Theor. Comput. Sci..

[12]  Davide Sangiorgi,et al.  The Pi-Calculus - a theory of mobile processes , 2001 .

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

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

[15]  J. Bergstra,et al.  Handbook of Process Algebra , 2001 .

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

[17]  Gérard Boudol A Generic Membrane Model (Note) , 2004, Global Computing.

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

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

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

[21]  Sergio Maffeis,et al.  On the Expressive Power of Polyadic Synchronisation in pi-calculus , 2002, EXPRESS.

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

[23]  David Notkin,et al.  Architectural Reasoning in ArchJava , 2002, ECOOP.

[24]  Alan Bundy,et al.  Constructing Induction Rules for Deductive Synthesis Proofs , 2006, CLASE.

[25]  Davide Sangiorgi,et al.  Bisimulation for Higher-Order Process Calculi , 1994, Inf. Comput..

[26]  Bent Thomsen A Theory of Higher Order Communicating Systems , 1995, Inf. Comput..

[27]  Luca Cardelli,et al.  ECOOP 2003 – Object-Oriented Programming , 2003, Lecture Notes in Computer Science.

[28]  Boris Magnusson,et al.  ECOOP 2002 — Object-Oriented Programming , 2002, Lecture Notes in Computer Science.

[29]  Vladimiro Sassone,et al.  A Calculus of Mobile Resources , 2002, CONCUR.

[30]  Lone Leth Thomsen,et al.  Some facile chemistry , 2005, Formal Aspects of Computing.

[31]  Silvano Dal-Zilio,et al.  Mobile Processes: A Commented Bibliography , 2000, MOVEP.

[32]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[33]  Roberto M. Amadio An Asynchronous Model of Locality, Failurem and Process Mobility , 1997, COORDINATION.

[34]  Manindra Agrawal,et al.  FST TCS 2002: Foundations of Software Technology and Theoretical Computer Science , 2002, Lecture Notes in Computer Science.

[35]  Michele Bugliesi,et al.  A Calculus of Bounded Capacities , 2003, ASIAN.

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

[37]  Thierry Coupaye,et al.  An Open Component Model and Its Support in Java , 2004, CBSE.

[38]  Claude Jard,et al.  Modeling and Verification of Parallel Processes , 2001, Lecture Notes in Computer Science.

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

[40]  Kousha Etessami,et al.  A Hierarchy of Polynomial-Time Computable Simulations for Automata , 2002, CONCUR.

[41]  Robin Milner,et al.  Communicating and mobile systems - the Pi-calculus , 1999 .

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

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

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

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

[46]  P. Gács,et al.  Algorithms , 1992 .

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

[48]  Jan Vitek,et al.  Secure composition of insecure components , 1999, Proceedings of the 12th IEEE Computer Security Foundations Workshop.

[49]  Julian Rathke,et al.  safeDpi: a language for controlling mobile code , 2005, Acta Informatica.

[50]  Davide Sangiorgi,et al.  Communicating and Mobile Systems: the π-calculus, , 2000 .