Using VDM with rely and guarantee-conditions

Experiences from a real project
  • J. C. P. Woodcock
  • B. Dickinson
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 328)


In his extension of VDM, Jones added a rely and a guarantee-condition to the usual pre and post-condition pair. This extension to the technique permits the specification and development of concurrent, shared-variable systems. We describe the technique in detail by giving an example of a simple, but formal, development. A description of part of a substantial system development that has been carried out on a real project is given in the full version of this paper [Woodcock & Dickinson, 1988]. Conclusions are drawn, both about the rules for concurrent data reification, and about the efficacy of the technique and of the industrial use of formal methods in general.


Formal Method Development Step Proof Obligation Atomic Step Proof Assistant 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

6 References

  1. 1.
    H. Barringer, A Survey of Verification Techniques for Parallel Programs, Lecture Notes in Computer Science 191, Springer-Verlag, 1985.Google Scholar
  2. 2.
    I. Hayes (editor), Specification Case Studies, Prentice-Hall International, 1987.Google Scholar
  3. 3.
    C.A.R. Hoare, Communicating Sequential Processes, Prentice-Hall International, 1985.Google Scholar
  4. 4.
    C.B. Jones, Software Development: a Rigorous Approach, Prentice-Hall International, 1980.Google Scholar
  5. 5.
    C.B. Jones, “Development Methods for Computer Programs Including a Notion of Interference”, D. Phil. Thesis, Technical Monograph PRG-25, Programming Research Group, Oxford University, 1981.Google Scholar
  6. 6.
    C.B. Jones, “Specification and Design of (Parallel) Programs” Information Processing 83, R.E.A. Mason (ed), Elsevier Science Publishers B.V. (North-Holland), 1983a.Google Scholar
  7. 7.
    C.B. Jones, “Tentative Steps Towards a Development Method for Interfering Programs” ACM Trans on Programming Languages and Systems, 5(4), 576–619, 1983b.Google Scholar
  8. 8.
    C.B. Jones, Systematic Software Development Using VDM, Prentice-Hall International, 1986.Google Scholar
  9. 9.
    R. Milner, A Calculus of Communicating Systems, Lecture Notes in Computer Science 92, Springer-Verlag, 1980.Google Scholar
  10. 10.
    J.C.P. Woodcock & B. Dickinson, “Using VDM with Rely and Guarantee-Conditions: Experiences from a Real Project”, full version, Programming Research Group, Oxford University, 1988.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1988

Authors and Affiliations

  • J. C. P. Woodcock
    • 1
  • B. Dickinson
    • 2
  1. 1.Oxford University Computing Laboratory, Programming Research GroupOxford
  2. 2.GEC Telecommunications LtdTelephone WorksCoventry

Personalised recommendations