Granularity and Concurrent Separation Logic

  • Jonathan Hayman
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6901)

Abstract

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.

Keywords

Static Term Ownership Condition Primitive Action Separation Logic Term Context 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Brookes, S.: A grainless semantics for parallel programs with shared mutable data. In: Proc. MFPS XXI. ENTCS (2005)Google Scholar
  2. 2.
    Brookes, S.: A semantics for concurrent separation logic. Theoretical Computer Science 375(1-3) (2007)Google Scholar
  3. 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
  4. 4.
    Ferreira, R., Feng, X., Shao, Z.: Parameterized memory models and concurrent separation logic. In: Gordon, A.D. (ed.) ESOP 2010. LNCS, vol. 6012, pp. 267–286. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  5. 5.
    van Glabbeek, R.J., Goltz, U.: Equivalence notions for concurrent systems and refinement of actions. In: Kreczmar, A., Mirkowska, G. (eds.) MFCS 1989. LNCS, vol. 379. Springer, Heidelberg (1989)CrossRefGoogle Scholar
  6. 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. 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
  8. 8.
    O’Hearn, P.W.: Resources, concurrency and local reasoning. Theoretical Computer Science 375(1-3), 271–307 (2007)MathSciNetCrossRefMATHGoogle Scholar
  9. 9.
    Raza, M., Gardner, P.: Footprints in local reasoning. Logical Methods in Computer Science 5(2), 1–27 (2009)MathSciNetCrossRefMATHGoogle Scholar
  10. 10.
    Reynolds, J.C.: Toward a grainless semantics for shared-variable concurrency. In: Lodaya, K., Mahajan, M. (eds.) FSTTCS 2004. LNCS, vol. 3328, pp. 35–48. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  11. 11.
    Vafeiadis, V., Parkinson, M.: A marriage of rely/Guarantee and separation logic. In: Caires, L., Vasconcelos, V.T. (eds.) CONCUR 2007. LNCS, vol. 4703, pp. 256–271. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  12. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Jonathan Hayman
    • 1
  1. 1.Computer LaboratoryUniversity of CambridgeUK

Personalised recommendations