A Chart Semantics for the Pi-Calculus

We present a graphical semantics for the pi-calculus, that is easier to visualize and better suited to expressing causality and temporal properties than conventional relational semantics. A pi-chart is a finite directed acyclic graph recording a computation in the pi-calculus. Each node represents a process, and each edge either represents a computation step, or a message-passing interaction. Pi-charts enjoy a natural pictorial representation, akin to message sequence charts, in which vertical edges represent control flow and horizontal edges represent data flow based on message passing. A pi-chart represents a single computation starting from its top (the nodes with no ancestors) to its bottom (the nodes with no descendants). Unlike conventional reductions or transitions, the edges in a pi-chart induce ancestry and other causal relations on processes. We give both compositional and operational definitions of pi-charts, and illustrate the additional expressivity afforded by the chart semantics via a series of examples.

[1]  Corrado Priami,et al.  Enhanced operational semantics , 1996, CSUR.

[2]  Ilaria Castellani,et al.  Concurrency and Atomicity , 1988, Theor. Comput. Sci..

[3]  Benjamin C. Pierce,et al.  Linearity and the pi-calculus , 1999, TOPL.

[4]  Eduardo Bonelli,et al.  Correspondence assertions for process synchronization in concurrent communications , 2004, J. Funct. Program..

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

[6]  Emden R. Gansner,et al.  An open graph visualization system and its applications to software engineering , 2000 .

[7]  Qing Li,et al.  Unified Modeling Language , 2009 .

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

[9]  Sjouke Mauw,et al.  Message sequence charts in the software engineering process , 2001 .

[10]  Glynn Winskel,et al.  Events in computation , 1980 .

[11]  Emden R. Gansner,et al.  An open graph visualization system and its applications to software engineering , 2000, Softw. Pract. Exp..

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

[13]  Raheel Ahmad,et al.  The π-Calculus: A theory of mobile processes , 2008, Scalable Comput. Pract. Exp..

[14]  Roberto Bruni,et al.  Event Structure Semantics for Nominal Calculi , 2006, CONCUR.

[15]  Daniele Varacca,et al.  Typed Event Structures and the p-Calculus , 2006 .

[16]  Rajeev Alur,et al.  An Analyser for Mesage Sequence Charts , 1996, TACAS.

[17]  Sjouke Mauw,et al.  Message Sequence Chart (MSC) , 1996 .

[18]  F. Javier Thayer Fábrega,et al.  Strand spaces: proving security protocols correct , 1999 .

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

[20]  Fabio Gadducci,et al.  Term Graph Rewriting for the pi-Calculus , 2003, APLAS.

[21]  Barbara König A Graph Rewriting Semantics for the Polyadic Calculus , 2000, ICALP Satellite Workshops.

[22]  Luca Cardelli,et al.  A Graphical Representation for Biological Processes in the Stochastic pi-Calculus , 2006, Trans. Comp. Sys. Biology.

[23]  Federico Crazzolara,et al.  Graphical Descriptions of Security Protocols , 2003 .

[24]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

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

[26]  Rajeev Alur,et al.  An Analyzer for Message Sequence Charts , 1996, Softw. Concepts Tools.

[27]  Marco Pistore,et al.  History-Dependent Automata: An Introduction , 2005, SFM.

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

[29]  C. A. Petri Fundamentals of a Theory of Asynchronous Information Flow , 1962, IFIP Congress.

[30]  Rocco De Nicola,et al.  Trace and Testing Equivalence on Asynchronous Processes , 2002, Inf. Comput..

[31]  Joshua D. Guttman,et al.  Strand Spaces: Proving Security Protocols Correct , 1999, J. Comput. Secur..

[32]  C. Priami Enhanced operational semantics for concurrency, PhD thesis , 1996 .

[33]  Nobuko Yoshida,et al.  A Distributed Abstract Machine for Boxed Ambient Calculi , 2004, ESOP.

[34]  Maciej Koutny,et al.  The Box Algebra = Petri Nets + Process Expressions , 2002, Inf. Comput..

[35]  Andrew D. Gordon,et al.  TulaFale: A Security Tool for Web Services , 2003, FMCO.

[36]  Robin Milner Pi-Nets: A Graphical Form of pi-Calculus , 1994, ESOP.

[37]  Martn Abadi,et al.  Security Protocols and their Properties , 2000 .

[38]  Davide Sangiorgi,et al.  A fully abstract semantics for causality in the $\pi$-calculus , 1998, Acta Informatica.

[39]  Corrado Priami,et al.  Non-Interleaving Semantics for Mobile Processes , 1999, Theor. Comput. Sci..

[40]  Martin Gogolla Unified Modeling Language , 2009, Encyclopedia of Database Systems.

[41]  Corrado Priami,et al.  Enhanced operational semantics: a tool for describing and analyzing concurrent systems , 2001, CSUR.

[42]  Vaughan R. Pratt,et al.  Modeling concurrency with partial orders , 1986, International Journal of Parallel Programming.

[43]  Michel A. Reniers,et al.  An Algebraic Semantics of Basic Message Sequence Charts , 1994, Comput. J..

[44]  Ilaria Castellani,et al.  A non-interleaving semantics for CCS based on proved transitions , 1988 .

[45]  Robin Milner,et al.  Bigraphical reactive systems: basic theory , 2001 .

[46]  Luca Cardelli,et al.  Secrecy and Group Creation , 2000, CONCUR.

[47]  Glynn Winskel,et al.  Events in security protocols , 2001, CCS '01.

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

[49]  Michael Rovatsos,et al.  Handbook of Software Engineering and Knowledge Engineering , 2005 .

[50]  Julian Rathke,et al.  A fully abstract may testing semantics for concurrent objects , 2005, Theor. Comput. Sci..