Constructing Two-Writer Atomic Registers
IEEE Transactions on Computers
The existence of refinement mappings
Theoretical Computer Science
ACM Transactions on Programming Languages and Systems (TOPLAS)
Distributed Algorithms
Space-optimum Conflict-free Construction of 1-Writer 1-Reader Multivalued Atomic Variable
WDAG '94 Proceedings of the 8th International Workshop on Distributed Algorithms
An assertional proof for a construction of an atomic variable
Formal Aspects of Computing
A criterion for atomicity revisited
Acta Informatica
Atomic shared register access by asynchronous hardware
SFCS '86 Proceedings of the 27th Annual Symposium on Foundations of Computer Science
Simulation Refinement for Concurrency Verification
Electronic Notes in Theoretical Computer Science (ENTCS)
Journal of Parallel and Distributed Computing
Simulation refinement for concurrency verification
Science of Computer Programming
Hi-index | 0.00 |
An unpublished algorithm of Haldar and Vidyasankar implements an atomic variable of an arbitrary type T for one writer and one reader by means of 4 unsafe variables of type T, three two-valued safe variables, and one three-valued regular variable. We present this algorithm, and prove its correctness by means of a refinement towards a known specification of an atomic variable. The refinement is a composition of refinement functions and a forward simulation. The correctness proof requires many nontrivial invariants. In its construction, we relied on the proof assistant PVS for the administration of invariants and proofs and the preservation of consistency.