Skip to main content

A method for the development of totally correct shared-state parallel programs

  • Selected Presentations
  • Conference paper
  • First Online:
CONCUR '91 (CONCUR 1991)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 527))

Included in the following conference series:

Abstract

A syntax-directed formal system for the development of totally correct programs with respect to an (unfair) shared-state parallel programming language is proposed. The programming language is basically a while-language extended with parallel- and await-constructs. The system is called LSP (Logic of Specified Programs) and can be seen of as an extension of Jones' rely/guarantee method. His method is strengthened in two respects:

  • •Specifications are extended with a wait-condition to allow for the development of programs whose correctness depends upon synchronisation. The wait-condition is supposed to characterise the states in which the implementation may become blocked. The implementation is not allowed to become blocked inside the body of an await-statement.

  • •Auxiliary variables are introduced to increase expressiveness. They are either used as a specification tool to eliminate undesirable implementations or as a verification tool to prove that a certain program satisfies a particular specification. Although it is possible to define history variables in LSP, the auxiliary variables may be of any type, and it is up to the user to define the auxiliary structure he prefers. Moreover, the auxiliary structure is only a part of the logic. This means that auxiliary variables do not have to be implemented as if they were ordinary programming variables.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. P. Aczel. On an inference rule for parallel composition. Unpublished Paper, February 1983.

    Google Scholar 

  2. K. R. Apt, F. S. de Boer, and E. R. Olderog. Proving termination of parallel programs. In W. H. J. Feijen, A. J. M. van Gasteren, D. Gries, and J. Misra, editors, Beauty Is Our Business, A Birthday Salute to Edsger W. Dijkstra. Springer-Verlag, 1990.

    Google Scholar 

  3. H. Barringer, R. Kuiper, and A. Pnueli. Now you may compose temporal logic specifications. In Proc. Sixteenth ACM Symposium on Theory of Computing, pages 51–63, 1984.

    Google Scholar 

  4. N. Francez and A. Pnueli. A proof method for cyclic programs. Acta Informatica, 9:133–157, 1978.

    Google Scholar 

  5. C. B. Jones. Development Methods for Computer Programs Including a Notion of Interference. PhD thesis, Oxford University, 1981.

    Google Scholar 

  6. C. B. Jones. Specification and design of (parallel) programs. In Mason R.E.A., editor, Proc. Information Processing 83, pages 321–331, 1983.

    Google Scholar 

  7. C. B. Jones. Systematic Software Development Using VDM, Second Edition. Prentice-Hall International, 1990.

    Google Scholar 

  8. S. Owicki and D. Gries. An axiomatic proof technique for parallel programs. Acta Informatica, 6:319–340, 1976.

    Google Scholar 

  9. N. Soundararajan. A proof technique for parallel programs. Theoretical Computer Science, 31:13–29, 1984.

    Google Scholar 

  10. C. Stirling. A generalization of Owicki-Gries's Hoare logic for a concurrent while language. Theoretical Computer Science, 58:347–359, 1988.

    Google Scholar 

  11. K. Stølen. Development of Parallel Programs on Shared Data-Structures. PhD thesis, University of Manchester, 1990.

    Google Scholar 

  12. K. Stølen. Proving total correctness with respect to fair (shared-state) parallel languages. In preparation, 1991.

    Google Scholar 

  13. J. C. P. Woodcock and B. Dickinson. Using VDM with rely and guarantee-conditions. Experiences from a real project. In: R. Bloomfield, L. Marshall, and R. Jones, editors, Proc. 2nd VDM-Europe Symposium, Lecture Notes in Computer Science 328, pages 434–458, 1988.

    Google Scholar 

  14. Q. Xu and J. He. A theory of state-based parallel programming by refinement:part 1. In J. Morris, editor, Proc. 4th BCS-FACS Refinement Workshop, 1991.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jos C. M. Baeten Jan Frisco Groote

Rights and permissions

Reprints and permissions

Copyright information

© 1991 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Stølen, K. (1991). A method for the development of totally correct shared-state parallel programs. In: Baeten, J.C.M., Groote, J.F. (eds) CONCUR '91. CONCUR 1991. Lecture Notes in Computer Science, vol 527. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-54430-5_110

Download citation

  • DOI: https://doi.org/10.1007/3-540-54430-5_110

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-54430-2

  • Online ISBN: 978-3-540-38357-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics