Abstract
This paper presents our current effort to formally derive, using HOL, a sound Hoare logic for the concurrent programming language microSR, a derivative of SR. Our methodology is built on Gordon's work on mechanizing programming logics for a small sequential programming language. The constructs of microSR include those basic to common sequential programming languages, in addition to an asynchronous send statement, a synchronous receive statement, a guarded communication input statement, and a co statement for specifying concurrent execution. This language has the appearance of a high-level system programming language that supports distributed applications. The Hoare logic for microSR with concurrency features presented in this paper has been formally proven to be sound within HOL. The logic we derived allows one to reason and state formal assertions about concurrently executing processes that do not share any data objects, but communicate through shared channels.
This work was sponsored in part by the US Department of Defense.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
G.R. Andrews, R.A. Olsson, M. Coffin, I.J.P. Elshoff, K. Nilsen, T. Purdin, and G. Townsend.: An Overview of the SR Language and Implementation. ACM Transactions on Programming Languages and Systems 10, 1 (January 1988), 51–86.
G.R. Andrews.: Concurrent Programming: Principles and Practice. The Benjamin/Cummings Publishing Company, Inc. Redwood City, CA, 1991.
G.R. Andrews and R.A. Olsson.: The SR Programming Language: Concurrency in Practice. Benjamin/Cummings Publishing Company, Inc. Redwood City, CA, 1993.
W.R. Bevier, W.A. Hunt, J.S. Moore, and W.D. Young.: An approach to systems verification. Journal of Automated Reasoning, 5:411–428, 1989.
M. Chandy and J. Misra.: Parallel Program Design: A Foundation of Programming Logic. Addison-Wesley Publishing Company, Inc. 1988.
M. J. C. Gordon.: Mechanizing Programming Logics in Higher Order Logic. In: Current Trends in Hardware Verification and Automated Theorem Proving. Springer-Verlag, New York, 1989.
W. Harrison, K. Levitt, and M. Archer.: A HOL Mechanization of the Axiomatic Semantics of a Simple Distributed Programming Language. In: Higher Order Logic Theorem Proving and Its Applications. North-Holland, Netherlands, 1993.
C.A.R. Hoare.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs, N.J., 1985.
J.J. Joyce.: A Verified Compiler for a Verified Microprocessor. Technical Report No. 167, Computer Laboratory, University of Cambridge, March 1989.
L. C. Paulson.: Logic and Computation: Interactive Proof with Cambridge LCF. Cambridge; New York: Cambridge University Press, 1987.
W. D. Young.: A Mechanically Verified Code Generator. Journal of Automated Reasoning, Vol. 5: 493–518, 1989.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Zhang, C. et al. (1994). Mechanizing a programming logic for the concurrent programming language microSR in HOL. In: Joyce, J.J., Seger, CJ.H. (eds) Higher Order Logic Theorem Proving and Its Applications. HUG 1993. Lecture Notes in Computer Science, vol 780. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57826-9_123
Download citation
DOI: https://doi.org/10.1007/3-540-57826-9_123
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57826-0
Online ISBN: 978-3-540-48346-5
eBook Packages: Springer Book Archive