Sorted Psi-calculi with Generalised Pattern Matching

Psi-calculi is a parametric framework for extensions of the pi-calculus, with arbitrary data structures and logical assertions for facts about data. In this paper we extend the applicability of psi-calculi in three ways. Firstly, we introduce patterns and pattern matching, in order to allow modelling of computations on the term language. Secondly, we add sorts to the data term language, to remove processes containing nonsensical terms from consideration. Thirdly, we provide a prototype implementation of the framework, where user-defined instances are automatically provided with symbolic execution and bisimilarity checking algorithms. Substantial parts of the meta-theory of sorted psicalculi have been machine-checked using Nominal Isabelle.

[1]  Magnus Johansson,et al.  Psi-calculi: a framework for mobile process calculi : Cook your own correct process calculus - just add data and logic , 2010 .

[2]  Jan Friso Groote,et al.  The Formal Specification Language mCRL2 , 2006, MMOSS.

[3]  David Gelernter,et al.  Generative communication in Linda , 1985, TOPL.

[4]  Björn Victor,et al.  The fusion calculus: expressiveness and symmetry in mobile processes , 1998, Proceedings. Thirteenth Annual IEEE Symposium on Logic in Computer Science (Cat. No.98CB36226).

[5]  Andrew M. Pitts,et al.  A New Approach to Abstract Syntax with Variable Binding , 2002, Formal Aspects of Computing.

[6]  Jun Sun,et al.  Integrating Specification and Programs for System Modeling and Verification , 2009, 2009 Third IEEE International Symposium on Theoretical Aspects of Software Engineering.

[7]  Andrew M. Pitts,et al.  Nominal Logic: A First Order Theory of Names and Binding , 2001, TACS.

[8]  Jun Sun,et al.  PAT 3: An Extensible Architecture for Building Multi-domain Model Checkers , 2011, 2011 IEEE 22nd International Symposium on Software Reliability Engineering.

[9]  Brian Huffman,et al.  A New Foundation for Nominal Isabelle , 2010, ITP.

[10]  Andrew Adams,et al.  Theorem Proving in Higher Order Logics , 2001, Lecture Notes in Computer Science.

[11]  John McCarthy,et al.  A basis for a mathematical theory of computation, preliminary report , 1899, IRE-AIEE-ACM '61 (Western).

[12]  Christian Urban,et al.  Nominal Techniques in Isabelle/HOL , 2005, Journal of Automated Reasoning.

[13]  Bruno Blanchet,et al.  Using Horn Clauses for Analyzing Security Protocols , 2011, Formal Models and Techniques for Analyzing Security Protocols.

[14]  Björn Victor,et al.  Computing strong and weak bisimulations for psi-calculi , 2012, J. Log. Algebraic Methods Program..

[15]  Robin Milner,et al.  Definition of standard ML , 1990 .

[16]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[17]  Martín Abadi,et al.  Mobile values, new names, and secure communication , 2001, POPL '01.

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

[19]  D. Walker,et al.  A Calculus of Mobile Processes, Part Ii , 1989 .

[20]  Pattern-matching spi-calculus , 2006, Inf. Comput..

[21]  Björn Victor,et al.  Psi-calculi: a framework for mobile processes with nominal data and logic , 2011, Log. Methods Comput. Sci..

[22]  Daniele Gorla,et al.  A Concurrent Pattern Calculus , 2014, Log. Methods Comput. Sci..

[23]  Danny Dolev,et al.  On the security of public key protocols , 1981, 22nd Annual Symposium on Foundations of Computer Science (sfcs 1981).

[24]  Björn Victor,et al.  Broadcast Psi-calculi with an Application to Wireless Protocols , 2011, SEFM.

[25]  Robin Milner,et al.  The Polyadic π-Calculus: a Tutorial , 1993 .