Abstract
A new compositional logic for verifying safety properties of shared variable concurrency is presented, in which, in order to characterize infinite computations, a Hoare-style I/pre/post format is used where I expresses the communication interface, enabling the characterization of reactive programs. This logic relates to the Rely/Guarantee paradigm of Jones [11], in that Rely/Guarantee formulae can be expressed within our formalism. As novel feature we characterize prefixes of computations through so-called time-diagrams, a mapping from a discrete total wellfounded ordering to states, and combine these with action predicates (already introduced in old work of, e.g., Lamport) in order to obtain a compositional formalism. The use of time diagrams enables the expression of strongest postconditions and strongest invariants directly within the assertion language, instead of through encoding within the natural numbers. A proof of Dekker's mutual exclusion algorithm is given.
Preview
Unable to display preview. Download preview PDF.
References
P. Aczel. On an inference rule for parallel composition. unpublished note, 1993.
F.S. de Boer, U. Hannemann and W.-P. de Roever. A compositional proof system for shared variable concurrency. to appear at FME '97, LNCS, 1997.
H. Barringer, R. Kuiper, and A. Pnueli. Now you may compose temporal logic specifications. In 16th ACM symposium on Theory of Computation, pages 51–63, 1984.
F.S. de Boer, J.N. Kok, C. Palamidessi, and J.J.M.M. Rutten. The failure of failures: Towards a paradigm for asynchronous communication. In Proceedings of Concur '91, Lecture Notes in Computer Science, Vol. 527, pages 111–126, 1991.
S. Brookes. A fully abstract semantics of a shared variable parallel language. In Proceedings 8th Annual IEEE Symposium on Logic in Computer Science, IEEE Computer Society Press, pages 98–109, 1993.
S.D. Brookes, C.A.R. Hoare and A.W. Roscoe. A Theory of Communicating Sequential Processes. JACM 31(7), pp. 560–599, 1984.
S.A. Cook. Soundness and completeness of an axiom system for program verification. In SIAM J. on Computing 7, pp. 70–90, 1978.
R.W. Floyd. Assigning meaning to Programs. Mathematical Aspects of Computer Science XIX, American Mathematical Society, 1967.
E.C.R. Hehner, C.A.R. Hoare. A more complete model of Communicating Processes. TCS 26, pp. 134–120, 1983.
J. Hooman. Specification and compositional verification of real-time systems. Lecture Notes in Computer Science, Vol. 558, 1992.
C.B. Jones. Development methods for computer programs including a notion of interference. PhD thesis, Oxford University Computing Laboratory, 1981.
L. Lamport. Verification and specification of concurrent programs. In A Decade of Concurrency (eds. J.W de Bakker, W.-P. de Roever and G. Rozenberg), Lecture Notes in Computer Science, Vol. 803, 1993.
J. Misra and K.M. Chandy. Proofs of networks of processes. IEEE Transactions on Software Engeneering, 7(7):417–426, 1981.
P. Pandya: Compositional Verification of Distributed Programs. Ph. D. Thesis, University of Bombay, 1988.
P. Pandya and M. Joseph: P-A logic — a compositional proof system for distributed programs. Distributed Computing, Vol. 5, pp. 37–54, 1991.
W.-P. de Roever, F.S. de Boer, U. Hannemann, J. Hooman, Y. Lakhnech, P. Pandya, M. Poel, H. Schepers, Q. Xu and J. Zwiers. State-Based Proof Theory of Concurrency: from Noncompositional to Compositional Methods. to appear 1998.
K. StØlen. Development of Parallel Programs on Shared Data-structures. PhD thesis, Computer Science Department, Manchester University, 1990.
N. Sounderarajan. Axiomatic semantics of communicating sequential processes. TOPLAS, 6:647–662, 1984.
N. Sounderarajan. A proof technique for parallel programs. Theoretical Computer Science, Vol. 31, pp. 13–29, 1984.
J.V. Tucker and J.I. Zucker. Program correctness over abstract data types, with error-state semantics. In CWI Monograph Series, vol. 6, Centre for Mathematics and Computer Science/North-Holland, 1988.
S. Owicki and D. Gries. An axiomatic proof technique for parallel programs. In Acta Informatika, 6:319–340, 1976.
Q. Xu. A theory of state — based parallel programming. PhD thesis, Oxford University Computing Laboratory, 1992.
Q. Xu, W.-P. de Roever and J. He. Relyguarantee method for verifying shared variable concurrent programs. Formal Aspects of Computing 1997 (To appear).
C.C. Zhou and C.A.R. Hoare. Partial Correctness of CSP. Proc. IEEE Int. Conf. on Distributed Computer Systems, pp. 1–12, 1981.
J. Zwiers, W.-P. de Roever and P. van Emde Boas: Compositionality and concurrent networks: soundness and completeness of a proofsystem. Technical Report 57, University of Nijmegen, The Netherlands, 1984.
J. Zwiers. Compositionality, Concurrency, and Partial Correctness. Lecture Notes in Computer Science, Vol.321, Springer-Verlag, 1989.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
de Boer, F.S., Hannemann, U., de Roever, W.P. (1997). Hoare-Style compositional proof systems for reactive shared variable concurrency. In: Ramesh, S., Sivakumar, G. (eds) Foundations of Software Technology and Theoretical Computer Science. FSTTCS 1997. Lecture Notes in Computer Science, vol 1346. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0058036
Download citation
DOI: https://doi.org/10.1007/BFb0058036
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-63876-6
Online ISBN: 978-3-540-69659-9
eBook Packages: Springer Book Archive