Abstract
A formal development method for concurrent programs is proposed. It generalizes several variants of the stepwise refinement method often used in concurrency, in that not only atomicity refinements, but also arbitrary transformations, are taken into account. The method is illustrated by simple examples.
Supported in part by the ESPRIT project ATES
Chapter PDF
Similar content being viewed by others
Keywords
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.
References
E.A. ASHCROFT and Z. MANNA, “Formalization of Properties of Parallel Programs”, Machine Intelligence, 6, pp. 17–41, 1970
K.R. APT, “Ten years of Hoare logic”, ACM Toplas, 3, pp. 431–483, 1981
K.R. APT, “Correctness Proofs of Distributed Termination Algorithms”, ACM Toplas, 8, pp. 388–405, 1986
R.J.R. BACK and R. KURKI-SUONIO, “Decentralization of Process Nets with Centralized Control”, Proc. 2nd ACM Symp. on Principles of Distributed Computing, pp. 131–142, 1983
R.J.R. BACK and R. KURKI-SUONIO, “Distributed Cooperation with Action Systems”, ACM Toplas, 10, pp. 513–554, 1988
R.J.R. BACK, “A Calculus of Refinements for Program Derivations”, Acta Informatica, 25, pp. 593–624, 1988
R.J.R. BACK, “A Method for Refining Atomicity in Parallel Algorithms”, LNCS, 366, pp. 199–216, 1989
E. BEST, “A Note on the Proof of a Concurrent Program”, IPL, 9, pp. 103–104, 1979
M. CHANDY and J. MISRA, “An Example of Stepwise Refinement of Distributed Programs: Quiescence Detection”, ACM Toplas, 8, pp. 326–343, 1986
M. CHANDY and J. MISRA, “Parallel Program Design: A Foundation”, Addison-Wesley, 1988
J. de BAKKER, “Mathematical theory of program correctness”, Prentice-Hall, 1980
J.W. de BAKKER and L.G.L.T. MEERTENS, “On the completeness of the inductive assertion method”, JCSS, 11, pp. 323–357, 1975
E.W. DIJKSTRA, “A discipline of programming”, Prentice Hall, New Jersey, 1976
E.W. DIJKSTRA and al., “On-the-Fly Garbage Collection: An Exercise in Cooperation”, CACM, 21, pp. 966–975, 1978
E.W. DIJKSTRA, “An assertional proof of a program by G.L. Peterson”, EWD 779, 1981
R. GERTH, “Transition logic”, Proc. 16th ACM Symp. on Theory of Computing, pp. 39–50, 1984
E.P. GRIBOMONT, “Synthesis of parallel programs invariants”, LNCS, 186, pp. 325–338, 1985
E.P. GRIBOMONT, “Development of concurrent programs: an example” LNCS, 352, pp. 210–224, 1989
E.P. GRIBOMONT, “Stepwise refinement and concurrency: a small exercise” LNCS, 375, pp. 219–238, 1989
E.P. GRIBOMONT, “Stenning's protocol”, in “Formal methods for parallel programming”, Internal report, 1989
D. GRIES, “The Science of Programming”, Springer-Verlag, Berlin, 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”, CACM, 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”, SCP, 2, pp. 175–206, 1983
L. LAMPORT and F.B. SCHNEIDER, “The ‘Hoare Logic’ of CSP, and All That”, ACM Toplas, 6, pp. 281–296, 1984
L. LAMPORT, “win and sin: Predicate Transformers for Concurrency”, DEC SRC Report 17, 1987
L. LAMPORT, “A Theorem on Atomicity in Distributed Algorithms”, DEC SRC Report 28, 1988
R.J. LIPTON, “Reduction: a method of proving properties of parallel programs”, CACM, 18, pp. 717–721, 1975
N.A. LYNCH and M.R. TUTTLE, “Hierarchical Correctness Proofs for Distributed Algorithms”, Proc. 6th ACM Symp. on Principles of Distributed Computing, pp. 137–151, 1987
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
Z. MANNA and A. PNUELI, “Adequate proof principles for invariance and liveness properties of concurrent programs”, SCP, 4, pp. 257–289, 1984
Z. MANNA and A. PNUELI, “Specification and verification of concurrent programs by ∨-automata, Proc. 14th ACM Symp. on Principles of Programming Languages, pp. 1–12, 1987
C. MORGAN, “The Specification Statement”, ACM Toplas, 10, pp. 403–419, 1988
J.M. MORRIS, “A theoretical basis for stepwise refinement and the programming calculus”, SCP, 9, pp. 287–306, 1987
S. OWICKI and D. GRIES, “An Axiomatic Proof Technique for Parallel Programs”, Acta Informatica, 6, pp. 319–340, 1976
G.L. PETERSON, “Myths about the mutual exclusion problem”, IPL, 12, pp. 115–116, 1981
R.D. SCHLICHTING and F.D. SCHNEIDER, “Using Message Passing for Distributed Programming: Proof Rules and Disciplines”, ACM Toplas, 6, pp. 402–431, 1984
J. SIFAKIS, “A unified approach for studying the properties of transition systems”, TCS, 18, pp. 227–259, 1982
N.V. STENNING, “A data transfer protocol”, Computer Networks, 1, pp. 99–110, 1976
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). Development of concurrent systems by incremental transformation. In: Jones, N. (eds) ESOP '90. ESOP 1990. Lecture Notes in Computer Science, vol 432. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-52592-0_62
Download citation
DOI: https://doi.org/10.1007/3-540-52592-0_62
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-52592-9
Online ISBN: 978-3-540-47045-8
eBook Packages: Springer Book Archive