Skip to main content
Log in

Structured development of a virtual shared memory system

  • Published:
Formal Aspects of Computing

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Failures, Divergence, Refinement. User Manual and Tutorial Version 1.3, Formal Systems (Europe) Ltd., June 1993

  2. oare, C.A.R.:Communicating Sequential Processes. Prentice-Hall, 85.

  3. 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.

    Google Scholar 

  4. 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.

  5. Paliwoda, K. and Sanders, J.W.: An incremental specification of the sliding-window protocol,Distributed Computing, Vol 5, 83–94, 1991.

    Article  MATH  Google Scholar 

  6. Woodcock, J.C.P.: Transaction processing primitives and CSP,IBM Journal of Research and Development, Vol 31, 535–541, September 1987.

    Article  MATH  Google Scholar 

  7. Woodcock, J. and Loomes, M.:Software Engineering Mathematics, Pitman 1988.

  8. 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.

    Chapter  Google Scholar 

  9. Tsang, P. and Luk, W.: Verifying and compiling the Data Diffusion Machine,OMI/HORN 7249, Deliverable 3.4/1, October 1994.

Download references

Author information

Authors and Affiliations

Authors

Additional information

Funded by Esprit Project 7267/ OMI-Standards.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01211051

Keywords

Navigation