Acta Informatica

, Volume 44, Issue 2, pp 123–151 | Cite as

A criterion for atomicity revisited

Open Access
Original Article


Concurrent and reactive programs are specified by their behaviours in the presence of a nondeterministic environment. In a natural way, this gives a specification (ARW) of an atomic variable in the style of Abadi and Lamport. Several implementations of atomic variables by lower level primitives are known. A few years ago, we formulated a criterion to prove the correctness of such implementations. The proof of correctness of the criterion itself was based on Lynch’s definition of atomicity by serialization points. Here, this criterion is reformulated as a specification HRW in the formal sense. Simulations from HRW to ARW and vice versa are constructed. These now serve as a constructive proof of correctness of the criterion. Eternity variables are used in the simulation from HRW to ARW. We propose so-called gliding simulations to deal with the problems that appear when occasionally the concrete implementation needs fewer steps than the abstract specification.


  1. 1.
    Abadi M. and Lamport L. (1991). The existence of refinement mappings. Theor. Comput. Sci. 82: 253–284 MATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Bloom B. (1988). Constructing two-writer atomic registers. IEEE Trans. Comput. 37: 1506–1514 MATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Hesselink W.H. (2002). An assertional criterion for atomicity. Acta Inf. 38: 343–366 MATHCrossRefMathSciNetGoogle Scholar
  4. 4.
    Hesselink, W.H.: Eternity variables to simulate specifications. In: Boiten, E.A., Moeller, B. (eds.) MPC 2002, LNCS, vol. 2386, pp. 117–130. Springer, New York (2002)Google Scholar
  5. 5.
    Hesselink W.H. (2004). An assertional proof for a construction of an atomic variable. Formal Aspects Comput. 16: 387–393 MATHCrossRefGoogle Scholar
  6. 6.
    Hesselink W.H. (2004). Using eternity variables to specify and prove a serializable database interface. Sci. Comput. Program. 51: 47–85 MATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    Hesselink W.H. (2005). Eternity variables to prove simulation of specifications. ACM Trans. Comput. Logic 6: 175–201 CrossRefMathSciNetGoogle Scholar
  8. 8.
    Hesselink, W.H.: Universal extensions to simulate specifications (2005)Google Scholar
  9. 9.
    Hesselink W.H. (2006). Splitting forward simulations to cope with liveness. Acta Inf. 42: 583–602 MATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    He, J., Hoare, C.A.R., Sanders, J.W.: Data refinement refined. In: Robinet, B., Wilhelm, R. (eds.) ESOP 86, LNCS, vol. 213, pp. 187–196. Springer, New York (1986)Google Scholar
  11. 11.
    Hoare C.A.R. (1985). Communicating Sequential Processes. Prentice Hall, Englewood Cliffs MATHGoogle Scholar
  12. 12.
    Haldar, S., Subramanian, K.: Space-optimum conflict-free Space-optimum conflict-free construction of 1-writer 1-reader multivalued atomic variable. In: Proceedings of the 8th International Workshop on Distributed Algorithms. LNCS, vol. 857, pp. 116–129. Springer, Heidelberg (1994)Google Scholar
  13. 13.
    Lamport L. (1994). The temporal logic of actions. ACM Trans. Program. Lang. Syst. 16: 872–923 CrossRefGoogle Scholar
  14. 14.
    Ladkin P., Lamport L., Olivier B. and Roegel D. (1999). Lazy caching in TLA. Distrib. Comput. 12: 151–174 CrossRefGoogle Scholar
  15. 15.
    Lynch N. and Vaandrager F. (1995). Forward and backward simulations, part I: untimed systems. Inf. Comput. 121: 214–233 MATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    Lynch N.A. (1996). Distributed Algorithms. Morgan Kaufman, San Francisco MATHGoogle Scholar
  17. 17.
    Milner, R.: An algebraic definition of simulation between programs. In: Proceedings of the 2nd Internatioanal Joint Conference on Artificial Intelligence, pp. 481–489. British Comp. Soc. (1971)Google Scholar
  18. 18.
    Milner, R.: A Calculus of Communicating Systems. LNCS, vol. 92. Springer, Heidelberg (1980)Google Scholar
  19. 19.
    Manna Z. and Pnueli A. (1992). The Temporal Logic of Reactive and The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer, New York Google Scholar
  20. 20.
    Manna Z. and Pnueli A. (1995). Temporal Verification of Reactive Systems: Safety. Springer, New York Google Scholar
  21. 21.
    Owre, S., Shankar, N., Rushby, J.M., Stringer-Calvert, D.W.J.: PVS Version 2.4, System Guide, Prover Guide, PVS Language Reference (2001) http://pvs.csl.sri.comGoogle Scholar
  22. 22.
    Vitányi, P.M.B., Awerbuch, B.: Atomic shared register access by Atomic shared register access by asynchronous hardware. In: 27th Annual Symposium on Foundations of Computer Science, pp. 233–243. IEEE, Los Alamitos, Calif., 1986. Corrigendum in 28th Annual Symposium on Foundations of Computer Science, page 487, Los Angeles (1987)Google Scholar
  23. 23.
    Vidyasankar K. (1990). Concurrent reading while writing revisited. Distrib. Comput. 4: 81–85 MATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag 2007

Authors and Affiliations

  1. 1.Department of Mathematics and Computing ScienceUniversity of GroningenGroningenThe Netherlands

Personalised recommendations