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.
References
B. ALPERN and F.B. SCHNEIDER, “Recognizing safety and liveness”, Distributed Computing, 2, pp. 117–126, 1987.
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.
R.J.R. BACK, “Proving Total Correctness of Nondeterministic Programs in Infinitary Logic” Acta Informatica, 15, pp. 233–249, 1981.
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.
K.M. CHANDY and J. MISRA, “Parallel Program Design: A Foundation”, Addison-Wesley, 1988.
E.M. CLARKE, “Synthesis of Resource Invariants for Concurrent Programs”, ACM Trans. on Programming Languages and Systems, 2, pp. 338–358, 1980.
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.
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.
J.W. de BAKKER, “Mathematical Theory of Program Correctness”, Prentice Hall, 1980.
E.W. DIJKSTRA, “A discipline of programming”, Prentice Hall, 1976.
L. FLON, and N. SUZUKI, “The Total Correctness of Parallel Programs”, SIAM J. on Computing, 10, pp. 227–246, 1981.
N. FRANCEZ, “Fairness”, Springer Verlag, 1986.
R. GERTH, “Transition Logic”, Proc. 16th ACM Symp. on Theory of Computing, pp. 39–50, 1984.
R. GERTH and A. PNUELI, “Rooting UNITY”, Proc. 5th IEEE Workshop on Software Specification and Design, 1989.
E.P. GRIBOMONT, “Design and proof of communicating sequential processes”, Lecture Notes on Computer Science, vol. 259, pp. 261–276, Springer-Verlag, 1987.
E.P. GRIBOMONT, “Development of concurrent systems by incremental transformation”, Lecture Notes on Computer Science, vol. 432, pp. 161–176, Springer-Verlag, 1990.
E.P. GRIBOMONT, “Development of concurrent systems by incremental transformation”, Report M346, 30p., Philips Research Laboratory Belgium, May 1990.
D. GRIES, “The Science of Programming”, Springer-Verlag, 1981.
C.A.R. HOARE, “An axiomatic basis for computer programming”, CACM, 12, pp. 576–583, 1969.
C.A.R. HOARE, “Communicating Sequential Processes”, CACM, 21, pp. 666–677, 1978.
C.A.R. HOARE, “Communicating Sequential Processes”, Prentice Hall, 1985.
R.M. KELLER, “Formal Verification of Parallel Programs”, Comm. ACM, 19, pp. 371–384, 1976.
L. LAMPORT, “The ‘Hoare Logic’ of Concurrent Programs”, Acta Informatica, 14, pp. 21–37, 1980.
L. LAMPORT, “An Assertional Correctness Proof of a Distributed Algorithm”, Science of Computer Programming, 2, pp. 175–206, 1983.
L. LAMPORT, “win and sin: Predicate Transformers for Concurrency”, Technical Report 17, Digital Systems Research Center, Palo Alto, 1987.
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.
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.
J. SIFAKIS, “A unified approach for studying the properties of transition systems”, Theoretical Computer Science, 18, pp. 227–259, 1982.
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.
A. van LAMSWEERDE and M. SINTZOFF, “Formal derivation of strongly correct concurrent programs”, Acta Informatica, 12, pp. 1–31, 1979.
Author information
Authors and Affiliations
Editor information
Rights 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