Advertisement

Acta Informatica

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

A criterion for atomicity revisited

  • Wim H. Hesselink
Open Access
Original Article

Abstract

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.

Keywords

State Space Behaviour Restriction Forward Simulation Visible Behaviour Simulation Relation 
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.

References

  1. 1.
    Abadi M. and Lamport L. (1991). The existence of refinement mappings. Theor. Comput. Sci. 82: 253–284 zbMATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Bloom B. (1988). Constructing two-writer atomic registers. IEEE Trans. Comput. 37: 1506–1514 zbMATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Hesselink W.H. (2002). An assertional criterion for atomicity. Acta Inf. 38: 343–366 zbMATHCrossRefMathSciNetGoogle 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 zbMATHCrossRefGoogle Scholar
  6. 6.
    Hesselink W.H. (2004). Using eternity variables to specify and prove a serializable database interface. Sci. Comput. Program. 51: 47–85 zbMATHCrossRefMathSciNetGoogle 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 zbMATHCrossRefMathSciNetGoogle 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 zbMATHGoogle 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 zbMATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    Lynch N.A. (1996). Distributed Algorithms. Morgan Kaufman, San Francisco zbMATHGoogle 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 zbMATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag 2007

Authors and Affiliations

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

Personalised recommendations