Skip to main content

A programming logic for formal concurrent systems

  • Selected Presentations
  • Conference paper
  • First Online:

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

Abstract

A simple but general framework for formal design of concurrent systems is presented. The programming notation, called FCS, extends UNITY by introducing notions of process and control flow. This gives rise to a more structured representation of concurrent programs and to a more powerful programming methodology. A relational semantics for FCS is given, that leads to a UNITY-like programming logic and a programming calculus. Special attention is given to the logic itself, but some points of methodology are also briefly discussed.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. B. ALPERN and F.B. SCHNEIDER, “Recognizing safety and liveness”, Distributed Computing, 2, pp. 117–126, 1987.

    Google Scholar 

  2. K.R. APT, “Ten Years of Hoare's Logic: A Survey — Part I”, ACM Trans. on Programming Languages and Systems, 3, pp. 431–483, 1980.

    Google Scholar 

  3. R.J.R. BACK, “Proving Total Correctness of Nondeterministic Programs in Infinitary Logic” Acta Informatica, 15, pp. 233–249, 1981.

    Google Scholar 

  4. R.J.R. BACK and R. KURKI-SUONIO, “Distributed Cooperation with Action Systems”, ACM Trans. on Programming Languages and Systems, 10, pp. 513–554, 1988.

    Google Scholar 

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

    Google Scholar 

  6. E.M. CLARKE, “Synthesis of Resource Invariants for Concurrent Programs”, ACM Trans. on Programming Languages and Systems, 2, pp. 338–358, 1980.

    Google Scholar 

  7. P. COUSOT and R. COUSOT, “Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints”, Proc. 4th ACM Symp. on Principles of Programming Languages, pp. 238–252, 1977.

    Google Scholar 

  8. P. COUSOT and R. COUSOT, “A Language Independent Proof of The Soundness and Completeness of Generalized Hoare Logic”, Information and Computation, 80, pp. 165–191, 1989.

    Google Scholar 

  9. J.W. de BAKKER, “Mathematical Theory of Program Correctness”, Prentice Hall, 1980.

    Google Scholar 

  10. E.W. DIJKSTRA, “A discipline of programming”, Prentice Hall, 1976.

    Google Scholar 

  11. L. FLON, and N. SUZUKI, “The Total Correctness of Parallel Programs”, SIAM J. on Computing, 10, pp. 227–246, 1981.

    Google Scholar 

  12. N. FRANCEZ, “Fairness”, Springer Verlag, 1986.

    Google Scholar 

  13. R. GERTH, “Transition Logic”, Proc. 16th ACM Symp. on Theory of Computing, pp. 39–50, 1984.

    Google Scholar 

  14. R. GERTH and A. PNUELI, “Rooting UNITY”, Proc. 5th IEEE Workshop on Software Specification and Design, 1989.

    Google Scholar 

  15. E.P. GRIBOMONT, “Design and proof of communicating sequential processes”, Lecture Notes on Computer Science, vol. 259, pp. 261–276, Springer-Verlag, 1987.

    Google Scholar 

  16. E.P. GRIBOMONT, “Development of concurrent systems by incremental transformation”, Lecture Notes on Computer Science, vol. 432, pp. 161–176, Springer-Verlag, 1990.

    Google Scholar 

  17. E.P. GRIBOMONT, “Development of concurrent systems by incremental transformation”, Report M346, 30p., Philips Research Laboratory Belgium, May 1990.

    Google Scholar 

  18. D. GRIES, “The Science of Programming”, Springer-Verlag, 1981.

    Google Scholar 

  19. C.A.R. HOARE, “An axiomatic basis for computer programming”, CACM, 12, pp. 576–583, 1969.

    Google Scholar 

  20. C.A.R. HOARE, “Communicating Sequential Processes”, CACM, 21, pp. 666–677, 1978.

    Google Scholar 

  21. C.A.R. HOARE, “Communicating Sequential Processes”, Prentice Hall, 1985.

    Google Scholar 

  22. R.M. KELLER, “Formal Verification of Parallel Programs”, Comm. ACM, 19, pp. 371–384, 1976.

    Google Scholar 

  23. L. LAMPORT, “The ‘Hoare Logic’ of Concurrent Programs”, Acta Informatica, 14, pp. 21–37, 1980.

    Google Scholar 

  24. L. LAMPORT, “An Assertional Correctness Proof of a Distributed Algorithm”, Science of Computer Programming, 2, pp. 175–206, 1983.

    Google Scholar 

  25. L. LAMPORT, “win and sin: Predicate Transformers for Concurrency”, Technical Report 17, Digital Systems Research Center, Palo Alto, 1987.

    Google Scholar 

  26. L. LAMPORT and F.B. SCHNEIDER, “The ‘Hoare Logic’ of CSP, and All That”, ACM Trans. on Programming Languages and Systems, 6, pp. 281–296, 1984.

    Google Scholar 

  27. Z. MANNA and A. PNUELI, “How to cook a temporal proof system for your pet language”, Proc. 10th ACM Symp. on Principles of Programming Languages, pp. 141–154, 1983.

    Google Scholar 

  28. J. SIFAKIS, “A unified approach for studying the properties of transition systems”, Theoretical Computer Science, 18, pp. 227–259, 1982.

    Google Scholar 

  29. F.A. STOMP, W.P. de ROEVER and R.T. GERTH, “The μ-Calculus as an Assertion-Language for Fairness Arguments”, Information and Computation, 82, pp. 278–322, 1989.

    Google Scholar 

  30. A. van LAMSWEERDE and M. SINTZOFF, “Formal derivation of strongly correct concurrent programs”, Acta Informatica, 12, pp. 1–31, 1979.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

J. C. M. Baeten J. W. Klop

Rights and permissions

Reprints and permissions

Copyright information

© 1990 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Gribomont, E.P. (1990). A programming logic for formal concurrent systems. In: Baeten, J.C.M., Klop, J.W. (eds) CONCUR '90 Theories of Concurrency: Unification and Extension. CONCUR 1990. Lecture Notes in Computer Science, vol 458. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0039067

Download citation

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

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-46395-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics