Abstract
In this paper we formalise three different views of a virtual shared memory system and show that they are equivalent. The formalisation starts with five basic component processes specified in the language of CSP [Hoa85], which can be adapted as necessary by two operations called labelling and clamping, and are combined in two basic ways: either they are chained, so that the output of one component becomes the input of the next, or they are put in parallel, so that their communications are arbitrarily interleaved. Using the laws of CSP we show that these basic processes and operators satisfy a number of algebraic equivalences, which enable us to prove equivalence of the different models of the memory system by reasoning entirely at the level of processes, instead of at the lower and more complicated level of events. As a result the proofs of equivalence of the different models are purely algebraic and very simple.
The specification is intended to provide a general framework for any architecture using an interconnection network, such as the on-chip interconnect between macrocells or the networks of processor nodes connected by bit-serial interconnect which are described in [Jon93]. It addresses architecture independent design issues such as access transparency, connectivity, addressing models and serialisability. By structuring it as a hierarchy of models it is hoped that the treatment of these many issues is made as clear and tractable as possible, whilst the proofs of equivalence ensure consistency.
Similar content being viewed by others
References
Failures, Divergence, Refinement. User Manual and Tutorial Version 1.3, Formal Systems (Europe) Ltd., June 1993
oare, C.A.R.:Communicating Sequential Processes. Prentice-Hall, 85.
Jones, A.: (ed.) Memory and Communication Systems Design Report,OMI MAP Deliverable Report D2.3.3, March 1993. Obtainable from INMOS Ltd, 1000 Aztec West, Almondsbury, Bristol, BS12 4SQ, United Kingdom.
organ, C.C. and Hoare, C.A.R.: Specification of a simplified network system in CSP, in T. Denvir et al, editor,Proceedings of the Workshop on Analysis of Concurrent Systems, Springer, LNCS 207, 1985.
Paliwoda, K. and Sanders, J.W.: An incremental specification of the sliding-window protocol,Distributed Computing, Vol 5, 83–94, 1991.
Woodcock, J.C.P.: Transaction processing primitives and CSP,IBM Journal of Research and Development, Vol 31, 535–541, September 1987.
Woodcock, J. and Loomes, M.:Software Engineering Mathematics, Pitman 1988.
Seidel, K.: Case Study: Specification and Refinement of the PI-Bus,Proceedings of FME '94: Industrial Benefit of Formal Methods, M. Naftalin, T. Denvir and M Bertran, Eds, LNCS 873, Springer-Verlag, Heidelberg, 1994, 532–546.
Tsang, P. and Luk, W.: Verifying and compiling the Data Diffusion Machine,OMI/HORN 7249, Deliverable 3.4/1, October 1994.
Author information
Authors and Affiliations
Additional information
Funded by Esprit Project 7267/ OMI-Standards.
Rights and permissions
About this article
Cite this article
Seidel, K., Gardiner, P. Structured development of a virtual shared memory system. Formal Aspects of Computing 8, 67–85 (1996). https://doi.org/10.1007/BF01211051
Published:
Issue Date:
DOI: https://doi.org/10.1007/BF01211051