Independence and Concurrent Separation Logic

A compositional Petri net based semantics is given to a simple pointer-manipulating language. The model is then applied to give a notion of validity to the judgements made by concurrent separation logic that emphasizes the process-environment duality inherent in such rely-guarantee reasoning. Soundness of the rules of concurrent separation logic with respect to this definition of validity is shown. The independence information retained by the Petri net model is then exploited to characterize the independence of parallel processes enforced by the logic. This is shown to permit a refinement operation capable of changing the granularity of atomic actions

[1]  Glynn Winskel,et al.  Bisimulation from Open Maps , 1994 .

[2]  Charles Antony Richard Hoare Towards a theory of parallel programming , 2002 .

[3]  Peter W. O'Hearn,et al.  Permission accounting in separation logic , 2005, POPL '05.

[4]  Glynn Winskel,et al.  Event Structure Semantics for CCS and Related Languages , 1982, ICALP.

[5]  Mogens Nielsen,et al.  Models for Concurrency , 1992 .

[6]  Edsger W. Dijkstra,et al.  Cooperating sequential processes , 2002 .

[7]  John C. Reynolds Toward a Grainless Semantics for Shared-Variable Concurrency , 2004, FSTTCS.

[8]  Gordon D. Plotkin,et al.  A structural approach to operational semantics , 2004, J. Log. Algebraic Methods Program..

[9]  Peter W. O'Hearn,et al.  The Logic of Bunched Implications , 1999, Bulletin of Symbolic Logic.

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

[11]  Stephen Brookes A Grainless Semantics for Parallel Programs with Shared Mutable Data , 2005, MFPS.

[12]  Stephen Brookes A semantics for concurrent separation logic , 2007, Theor. Comput. Sci..

[13]  Glynn Winskel,et al.  Bisimulation and open maps , 1993, [1993] Proceedings Eighth Annual IEEE Symposium on Logic in Computer Science.

[14]  Per Brinch Hansen,et al.  Structured multiprogramming , 1972, CACM.

[15]  Peter W. O'Hearn,et al.  Resources, concurrency, and local reasoning , 2007 .

[16]  Hongseok Yang,et al.  Variables as Resource in Separation Logic , 2005, MFPS.

[17]  Ursula Goltz,et al.  Refinement of actions and equivalence notions for concurrent systems , 2001, Acta Informatica.

[18]  Glynn Winskel,et al.  Petri Nets and Bisimulation , 1996, Theor. Comput. Sci..

[19]  Raymond R. Devillers,et al.  The box calculus: a new causal algebra with multi-label communication , 1992, Advances in Petri Nets: The DEMON Project.

[20]  Rob J. van Glabbeek,et al.  Petri Net Models for Algebraic Theories of Concurrency , 1987, PARLE.

[21]  Cliff B. Jones,et al.  Specification and Design of (Parallel) Programs , 1983, IFIP Congress.

[22]  Glynn Winskel,et al.  Categories of Models for Concurrency , 1984, Seminar on Concurrency.

[23]  Ursula Goltz,et al.  Equivalence Notions for Concurrent Systems and Refinement of Actions (Extended Abstract) , 1989, MFCS.

[24]  Edmund M. Clarke,et al.  State space reduction using partial order techniques , 1999, International Journal on Software Tools for Technology Transfer.

[25]  Glynn Winskel,et al.  Event Structures , 1986, Advances in Petri Nets.

[26]  Stephen D. Brookes,et al.  Variables as Resource for Shared-Memory Programs: Semantics and Soundness , 2006, MFPS.

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

[28]  Leslie Lamport,et al.  On interprocess communication , 1986, Distributed Computing.