Granularity and Concurrent Separation Logic
When defining the semantics of shared-memory concurrent programming languages, one conventionally has to make assumptions about the atomicity of actions such as assignments. Running on physical hardware, these assumptions can fail to hold in practice, which puts in question reasoning about their concurrent execution. We address an observation, due to John Reynolds, that processes proved sound in concurrent separation logic are separated to an extent that these assumptions can be disregarded, so judgements remain sound even if the assumptions on atomicity fail to hold. We make use of a Petri-net based semantics for concurrent separation logic with explicit representations of the key notions of ownership and interference. A new characterization of the separation of processes is given and is shown to be stronger than existing race-freedom results for the logic. Exploiting this, sufficient criteria are then established for an operation of refinement of processes capable of changing the atomicity of assignments.
KeywordsStatic Term Ownership Condition Primitive Action Separation Logic Term Context
Unable to display preview. Download preview PDF.
- 1.Brookes, S.: A grainless semantics for parallel programs with shared mutable data. In: Proc. MFPS XXI. ENTCS (2005)Google Scholar
- 2.Brookes, S.: A semantics for concurrent separation logic. Theoretical Computer Science 375(1-3) (2007)Google Scholar
- 3.Calcagno, C., O’Hearn, P.W., Yang, H.: Local action and abstract separation logic. In: Proc. LICS 2007. IEEE Press, Los Alamitos (2007)Google Scholar
- 6.Hayman, J.M.: Petri net semantics. Ph.D. thesis, University of Cambridge, Computer Laboratory, available as Technical Report UCAM-CL-TR-782 (2009)Google Scholar
- 7.Hayman, J.M., Winskel, G.: Independence and concurrent separation logic. Logical Methods in Computer Science 4(1) (2008); special issue for LICS 2006Google Scholar
- 12.Winskel, G., Nielsen, M.: Models for concurrency. In: Handbook of Logic and the Foundations of Computer Science, vol. 4, pp. 1–148. Oxford University Press, Oxford (1995)Google Scholar