Abstract
In this paper, we present the formalization and the validation of memory protocols for multiprocessor architectures. Memory access is supposed to be atomic and can be observed by all the processors of the architecture. We first introduce a framework for the specification and the validation by refinements of parallel programs. For this purpose, we propose a new state representation allowing strong typing. After introducing refinements in the context of transition systems, we validate some refinement properties of sequential and parallel statements. At last, we define a representation of multiprocessor cache protocols exploiting the symmetry of such algorithms and show its correctness.
Preview
Unable to display preview. Download preview PDF.
References
J. Archibald and J.-L. Baer. Cache coherence protocols: Evaluation using a multiprocessor simulation model. ACM Transactions on Computer Systems, 4(4):273–298, nov 1986.
F. Andersen, K. D. Petersen, and J.S. Pettersson. Program verification using HOL-UNITY. In Higher Order Logic Theorem Proving and its Applications, volume 780 of Lecture Notes in Computer Science. Springer-Verlag, 1993.
G. Berry and L. Cosserat. The ESTEREL synchronous programming language and its mathematical semantics. volume 197 of Lecture Notes in Computer Science, pages 389–448, Berlin, Germany, 1984. Springer-Verlag.
J.-P. Bodeveix, M. Filali, and P. Roche. Towards a HOL theory of memory. In Higher Order Logic Theorem Proving and its Applications, volume 859 of Lecture Notes in Computer Science, pages 49–64. Springer-Verlag, sep 1994.
K.M. Chandy and J. Misra. Parallel Program Design, A Foundation. Addison-Wesley, 1988.
C. Ching-Tsun. Mechanical verification of distributed algorithms in higher order logic. In Higher Order Logic Theorem Proving and its Applications, volume 859 of Lecture Notes in Computer Science, pages 158–176. Springer-Verlag, 1994.
E.W. Dijkstra. A Discipline of Programming. Englewood Cliffs New Jersey: Prentice Hall, 1976.
J.-Y. Girard. Linear logic. Theoretical Comp. Science, 50:1–102, 1987.
M.J.C. Gordon and T.F. Melham. Introduction to HOL. Cambridge University Press, 1994.
C.A.R. Hoare. Communicating Sequential Processes. Prentice Hall, 1985.
D. Litaize. Architectures multiprocesseurs à mémoire commune. In Deuxième symposium architectures nouvelles de machines, pages 1–40, sep 1990.
N.A. Lynch and M.R. Tuttle. Hierarchical correctness proofs for distributed algorithms. In Proceedings of the sixth annual ACM symposium on principles of distributed computing, pages 137–151, aug 1987.
F. Pong and M. Dubois. The verification of cache coherence protocols. Technical Report CENG-92-20, USC, nov 1992.
P. Stenstrom. A survey of cache coherence schemes for mutliprocessors. Computer, 23(6):11–25, jun 1990.
G. Tredoux. Mechanizing execution sequence semantics in HOL. South African Computer Journal, (7), July 1992.
J. von Wright. A lattice-theoretical basis fro program refinement. PhD thesis, Abo Akademi Finland, 1990.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bodeveix, J.P., Filali, M. (1995). On the refinement of symmetric memory protocols. In: Thomas Schubert, E., Windley, P.J., Alves-Foss, J. (eds) Higher Order Logic Theorem Proving and Its Applications. TPHOLs 1995. Lecture Notes in Computer Science, vol 971. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60275-5_57
Download citation
DOI: https://doi.org/10.1007/3-540-60275-5_57
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60275-0
Online ISBN: 978-3-540-44784-9
eBook Packages: Springer Book Archive