An Interpretation of Erlang into Value-passing Calculus

In this paper we present a new process calculus VPC and an interpretation for core Erlang. VPC is at least as expressive as VPC and it is more effective for verification with some built-in functions. The wellestablished symbolic bisimulation in value-passing calculus is now helpful for solving the infinite-state space problem of data values in equivalence checking and verfication. Compared to the previous formalization work of modeling core Erlang in -calculus, the new interpretation has the following main merits: some essential features for Erlang are implemented faithfully; and above all the soundness of the interpretation is proved with respect to late symbolic bisimulation.

[1]  Robin Milner Functions as Processes , 1990, ICALP.

[2]  G. Plotkin,et al.  Proof, language, and interaction: essays in honour of Robin Milner , 2000 .

[3]  Wei Huang,et al.  Automatic Verification of Remote Internet Voting Protocol in Symbolic Model , 2011, J. Networks.

[4]  Huimin Lin,et al.  Model checking value-passing processes , 2001, Proceedings Eighth Asia-Pacific Software Engineering Conference.

[5]  Benjamin C. Pierce,et al.  Decoding Choice Encodings , 1999 .

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

[7]  Huimin Lin,et al.  A Verification Tool for Value-Passing Processes , 1993, PSTV.

[8]  C.-H. Luke Ong,et al.  Pi-Calculus, Dialogue Games and PCF. , 1995 .

[9]  Gordon D. Plotkin,et al.  Call-by-Name, Call-by-Value and the lambda-Calculus , 1975, Theor. Comput. Sci..

[10]  Matthew Hennessy,et al.  Symbolic Bisimulations , 1995, Theor. Comput. Sci..

[11]  Peter Sewell Applied π – a brief tutorial , 2000 .

[12]  Mike Williams,et al.  Concurrent programming in erlang (second edition) , 1996 .

[13]  Yuxi Fu Theory by Process , 2010, CONCUR.

[14]  Chanchal Kumar Roy,et al.  Modeling Erlang in the pi-calculus , 2005, ERLANG '05.

[15]  David Walker,et al.  Objects in the pi-Calculus , 1992, Inf. Comput..

[16]  Rance Cleaveland,et al.  An operational framework for value-passing processes , 1994, POPL '94.

[17]  Richard Carlsson An introduction to Core Erlang , 2001 .

[18]  Rance Cleaveland,et al.  The concurrency workbench: a semantics-based tool for the verification of concurrent systems , 1993, TOPL.

[19]  Thomas Noll,et al.  Abstraction and Model Checking of Core Erlang Programs in Maude , 2006, WRLA.

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

[21]  Faron Moller,et al.  The Mobility Workbench - A Tool for the pi-Calculus , 1994, CAV.

[22]  Claes Wikström,et al.  Concurrent programming in ERLANG (2nd ed.) , 1996 .

[23]  Mohamed Hamdi,et al.  Heterogeneous Security Policy Validation: From Formal to Executable Specifications , 2008, J. Networks.

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

[25]  Fabien Dagnat,et al.  Static analysis of communications for Erlang , 2002 .

[26]  Benjamin C. Pierce,et al.  Pict: a programming language based on the Pi-Calculus , 2000, Proof, Language, and Interaction.

[27]  Yuxi Fu,et al.  On the expressiveness of interaction , 2010, Theor. Comput. Sci..