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.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
References
Abadi M. and Lamport L. (1991). The existence of refinement mappings. Theor. Comput. Sci. 82: 253–284
Bloom B. (1988). Constructing two-writer atomic registers. IEEE Trans. Comput. 37: 1506–1514
Hesselink W.H. (2002). An assertional criterion for atomicity. Acta Inf. 38: 343–366
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)
Hesselink W.H. (2004). An assertional proof for a construction of an atomic variable. Formal Aspects Comput. 16: 387–393
Hesselink W.H. (2004). Using eternity variables to specify and prove a serializable database interface. Sci. Comput. Program. 51: 47–85
Hesselink W.H. (2005). Eternity variables to prove simulation of specifications. ACM Trans. Comput. Logic 6: 175–201
Hesselink, W.H.: Universal extensions to simulate specifications (2005)
Hesselink W.H. (2006). Splitting forward simulations to cope with liveness. Acta Inf. 42: 583–602
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)
Hoare C.A.R. (1985). Communicating Sequential Processes. Prentice Hall, Englewood Cliffs
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)
Lamport L. (1994). The temporal logic of actions. ACM Trans. Program. Lang. Syst. 16: 872–923
Ladkin P., Lamport L., Olivier B. and Roegel D. (1999). Lazy caching in TLA. Distrib. Comput. 12: 151–174
Lynch N. and Vaandrager F. (1995). Forward and backward simulations, part I: untimed systems. Inf. Comput. 121: 214–233
Lynch N.A. (1996). Distributed Algorithms. Morgan Kaufman, San Francisco
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)
Milner, R.: A Calculus of Communicating Systems. LNCS, vol. 92. Springer, Heidelberg (1980)
Manna Z. and Pnueli A. (1992). The Temporal Logic of Reactive and The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer, New York
Manna Z. and Pnueli A. (1995). Temporal Verification of Reactive Systems: Safety. Springer, New York
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.com
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)
Vidyasankar K. (1990). Concurrent reading while writing revisited. Distrib. Comput. 4: 81–85
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Open Access This is an open access article distributed under the terms of the Creative Commons Attribution Noncommercial License ( https://creativecommons.org/licenses/by-nc/2.0 ), which permits any noncommercial use, distribution, and reproduction in any medium, provided the original author(s) and source are credited.
About this article
Cite this article
Hesselink, W.H. A criterion for atomicity revisited. Acta Informatica 44, 123–151 (2007). https://doi.org/10.1007/s00236-007-0044-1
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00236-007-0044-1