Skip to main content

Design, verification and documentation of concurrent systems

  • Conference paper
4th Refinement Workshop

Part of the book series: Workshops in Computing ((WORKSHOPS COMP.))

Abstract

The concept of invariant is the basis of most formal methods for the design and verification of concurrent systems. It can be noticed that invariants can also be used to give clear and concise descriptions of correct programs. As invariants are concerned only with the safety properties of systems, other formal objects have to be used to deal with liveness properties. Unfortunately, the formal objects generally used for liveness properties are somewhat inadequate, especially from the documentation point of view, A new family of formal objects, called proof graphs, is introduced. These graphs can be designed together with the corresponding program by stepwise refinement. They turn to be useful for specification, verification and documentation, but only the last point is emphasized in this paper and illustrated by an elementary example.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. K.M. CHANDY and J. MISRA, “Parallel Program Design: A Foundation”, Addison-Wesley, 1988.

    Google Scholar 

  2. E.W. DIJKSTRA, “A discipline of programming”, Prentice Hall, New Jersey, 1976

    MATH  Google Scholar 

  3. E.P. GRIBOMONT, “Development of concurrent systems by incremental transformation”, Internal report, 30 p.; short version in LNCS, 432, pp. 161–176, Springer, 1990.

    Google Scholar 

  4. E.P. GRIBOMONT, “A programming logic for formal concurrent systems”, LNCS, 458, pp. 298–313, Springer, 1990.

    Google Scholar 

  5. L. LAMPORT, “Proving the correctness of a multiprocess program”, IEEE Trans. on Soft. Eng., SE-3, pp. 125–143, 1977.

    Google Scholar 

  6. B.D. LUBACHEVSKY, “Automating the verification of compact parallel coordination of programs I”, Acta Informatics, 12, pp. 125–169, 1984.

    Article  MathSciNet  Google Scholar 

  7. Z. MANNA and A. PNUELI, “Adequate proof principles for invariance and liveness properties of concurrent programs”, SCP, 4, pp. 257–289, 1984.

    MathSciNet  MATH  Google Scholar 

  8. S. OWICKI and D. GRIES, “An axiomatic proof technique for parallel programs”, Acta Informatica, 8, pp. 319–340, 1976.

    Article  MathSciNet  Google Scholar 

  9. S. OWICKI and L. LAMPORT, “Proving liveness properties of concurrent programs”, ACM Trans. on Prog. Lang. and Syst., 3, 1982.

    Google Scholar 

  10. N.V. STENNING, “A data transfer protocol”, Computer Networks, 1, pp. 99–110, 1976.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1991 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Gribomont, E.P. (1991). Design, verification and documentation of concurrent systems. In: Morris, J.M., Shaw, R.C. (eds) 4th Refinement Workshop. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3756-6_16

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-3756-6_16

  • Publisher Name: Springer, London

  • Print ISBN: 978-3-540-19657-0

  • Online ISBN: 978-1-4471-3756-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics