Abstract
Dijkstra introduced an enticing development strategy in a paper addressing the readers/ writers problem. This strategy is as follows: one starts with some “stupid” (in the sense that it allows undesirable computations) first try and then tries in subsequent steps to “refine” this stupid try into a better one by eliminating (some) undesirable computations. In a number of steps one strives to get a good (in the sense that it no longer contains undesirable computations) implementation for the problem. Unfortunately this strategy is not very formal. In this paper we try to make it more formal by using Stark’s temporal logic based rely/guarantee formalism. We use this formalism in a special way in order to describe Dijkstra’s development strategy: the part intended to describe the liveness condition is used for the more general purpose of disallowing the undesirable sequences.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
M. Abadi and L. Lamport. The existence of refinement mappings. In Third annual symposium on Logic in Computer Science, pages 165–175, July 1988.
E.W. Dijkstra. A tutorial on the split binary semaphore, 1979. EWD 703.
E. Diepstraten and R. Kuiper. Abadi & Lamport and Stark: towards a proof theory for stuttering, dense domains and refinements mappings. In LNCS 430:Proc. of the REX Workshop on Stepwise Refinement of Distributed Systems, Models, Formalisms, Correctness, pages 208–238. Springer-Verlag, 1990.
C.B. Jones. Development methods for computer programs including a notion of interference. PhD thesis, Oxford University Computing Laboratory, 1981.
L. Lamport. What good is temporal logic. In R.E.A. Manson, editor, Information Processing 83: Proc. of the IFIP 9th World Congress, pages 657–668. Elsevier Science Publishers, North Holland, 1983.
L. Lamport. An axiomatic semantics of concurrent programming languages. In K.R. Apt, editor, NATO ASI SERIES, vol. F13: Logics and Models of Concurrent Systems, pages 77–122. Springer-Verlag, January 1985.
L. Lamport. A simple approach to specifying concurrent systems. Communications of the ACM, 32 (1): 32–45, January 1989.
S. Lee, S. Gerhart, and W.-P. de Roever. The evolution of list-copying algorithms and the need for structured program verification. In Proc. of 6th POPL, 1979.
J. Misra, and M. Chandy. Proofs of Networks of Processes. IEEE SE 7 (4), pp. 417–426, 1981.
R. Milner. A calculus of Communicating Systems. LNCS 92, Springer-Verlag 1980.
P.R.H. Place, W.G. Wood, and M. Tudball. Survey of formal specification techniques for reactive systems. Technical Report, 1990.
E.W. Stark. Foundations of a Theory of Specification for Distributed Systems. PhD thesis, Massachusetts Inst. of Technology, 1984. Available as Report No. MIT/LCS/TR-342.
E.W. Stark. A Proof Technique for Rely/Guarantee Properties. In LNCS 206: Fifth Conference on Foundations of Software Technology and Theoretical Computer Science, pages 369–391. Springer-Verlag, 1985.
E.W. Stark. Proving entailment between conceptual state specifications. Theoretical Computer Science, 56: 135–154, 1988.
J. Zwiers, A. de Bruin, and W.-P. de Roever. A proof system for partial correctness of Dynamic Networks of Processes. In proc. of the conference on logics of programs 1983, LNCS 164, Springer Verlag 1984.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1992 Springer-Verlag London
About this paper
Cite this paper
Cau, A., Kuiper, R., de Roever, WP. (1992). Formalising Dijkstra’s Development Strategy within Stark’s Formalism. In: Jones, C.B., Shaw, R.C., Denvir, T. (eds) 5th Refinement Workshop. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3550-0_3
Download citation
DOI: https://doi.org/10.1007/978-1-4471-3550-0_3
Publisher Name: Springer, London
Print ISBN: 978-3-540-19752-2
Online ISBN: 978-1-4471-3550-0
eBook Packages: Springer Book Archive