Conventional semantics for shared-variable concurrency suffers from the “grain of time” problem, i.e., the necessity of specifying a default level of atomicity. We propose a semantics that avoids any such choice by regarding all interference that is not controlled by explicit critical regions as catastrophic. It is based on three principles:

  • Operations have duration and can overlap one another during execution.

  • If two overlapping operations touch the same location, the meaning of the program execution is “wrong”.

  • If, from a given starting state, execution of a program can give “wrong”, then no other possibilities need be considered.


Mutual Exclusion Program Execution Boolean Expression Separation Logic Conventional Semantic 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Reynolds, J.C.: Towards a grainless semantics for shared variable concurrency (abstract only). In: Conference Record of POPL 2004: The 31st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. ACM Press, New York (2004)Google Scholar
  2. 2.
    Hoare, C.A.R.: Towards a theory of parallel programming. In: Hoare, C.A.R., Perrott, R.H. (eds.) Operating Systems Techniques. A.P.I.C, vol. 9, pp. 61–71. London, Academic Press, London (1972)Google Scholar
  3. 3.
    Brinch Hansen, P.: Structured multiprogramming. Communications of the ACM 15, 574–578 (1972)CrossRefGoogle Scholar
  4. 4.
    Reynolds, J.C.: Separation logic: A logic for shared mutable data structures. In: Proceedings Seventeenth Annual IEEE Symposium on Logic in Computer Science, Los Alamitos, California, pp. 55–74. IEEE Computer Society, Los Alamitos (2002)Google Scholar
  5. 5.
    O’Hearn, P.W.: Resources, concurrency and local reasoning. In: Gardner, P., Yoshida, N. (eds.) CONCUR 2004. LNCS, vol. 3170, pp. 49–67. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  6. 6.
    Brookes, S.D.: A semantics for concurrent separation logic. In: Gardner, P., Yoshida, N. (eds.) CONCUR 2004. LNCS, vol. 3170, pp. 16–34. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  7. 7.
    Brookes, S.D.: Full abstraction for a shared-variable parallel language. Information and Computation 127, 145–163 (1996)zbMATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    Park, D.M.R.: On the semantics of fair parallelism. In: Bjørner, D. (ed.) Abstract Software Specifications. LNCS, vol. 86, pp. 504–526. Springer, Heidelberg (1980)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • John C. Reynolds
    • 1
  1. 1.Carnegie Mellon University and Edinburgh University 

Personalised recommendations