Abstract
This paper presents the first part of a theory for developing totally correct parallel programs. The emphasis of both specification and program is on the states, rather than actions, of the system. We stress the constructive approach in the development, by means of refinement and decomposition. A compositional proof system is investigated to support decomposition. It is shown to be sound in a computational model. Two examples are included to illustrate the compositionality of the proof system and the use of the methods in constructing an implementation.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
M. Abadi and L. Lamport. The existence of refinement mappings. Research report 29, Digital System Research Center 1988.
M. Abadi and L. Lamport. Composing specifications Research report, Digital System Research Center 1989.
K.R. Apt. Ten years of Hoare’s logic: a survey-part II: nondeterminism. Theoretical Computer Science 28 83–109 1984.
K.R. Apt and G.D. Plotkin. countable nondeterminism and random assignment. Journal of the ACM 33 4 724–767 1986.
B. Alpern and F. Schneider. Defining liveness. Info. Proc. Lett. 21 181–185.
R.J.R. Back. A calculus of refinement for program derivations. Acta Informatica 25 593–624, Springer-Verlag 1988.
P. Cousot and R. Cousot. A language independent proof of the soundness and completeness of generalized Hoare logic. Inform. and Comput. 80165–191 1989.
W.P. de Roever. The guest for compositionality. in Proc:IFIP Working Conf The Role of Abstract Models in Computer Science North-Holland, 1985.
D. Grosvenor and A. Robinson. An evaluation of Rely-Guarantee. draft 1989.
E.C.R. Hehner. Predicative programming parts 1 and 2. Commun. ACM 27, 2 134–151 1984.
He, Jifeng. A simulation approach to verification of compiling specification of ProCoS level 0 programming language. ESPRIT 3104 ProCoS 1990.
C.A.R. Hoare et al. Laws of programming. Commun. ACM 30, 8 672–686 1987.
C.B. Jones. Development methods for computer programs including a notion of interference. DPhil. Thesis, Oxford University Computing Laboratory, 1981.
C.B. Jones. Tentative steps towards a development method for interfering programs. ACM Trans. Program. Lang. Syst. 5, 4, 596–619 1983.
R.M. Keller. Formal verification of parallel programs Commun. ACM 19 371–384 1976.
L. Lamport. Proving the correctness of multiprocess programs. IEEE Trans. on Software Engineering 1 1977.
L. Lamport. The Hoare logic of concurrent programming. Acta Inform. 14 21–37 1980.
C. Morgan, P.H.B. Gardiner and K. Robinson. On the Refinement Calculus. Oxford University Computing Laboratory, Technical Monograph PRG-70, 1988.
S. Owicki and D. Gries. An axiomatic proof technique for parallel programs. Acta Inform. 6 319–340 Springer-Verlag 1976.
E.-R. Olderog and C.A.R. Hoare. Specification-oriented semantics for communicating processes. Acta Informatica 23 9–66 Springer-Verlag 1986.
S. Owicki. A consistent and complete deductive system for the verification of parallel programs. Proceedings of 8th Annual ACM Symposium on Theory of Computing. Hershey, Pennsylvania, USA 1976.
G.D. Plotkin. A structural approach to operational semantics. Computer Science Department, Aarhus University, Technical Report, DAIMI FN-19,1981.
F.B. Schneider and G.R. Andrews. Concepts for Concurrent Pro-gramming. LNCS, Springer-Verlag
C. Stirling. A generalization of Owicki-Gries’s Hoare logic for a concurrent while language. Theoretical Computer Science 58 347–359 1988.
K. Stolen. Development of Parallel Programs on Shared Data-structures. Ph.D Thesis, Computer Science Department, Manchester University, 1990.
J.C.P. Woodcock and B. Dickinson. Using VDM with Rely and Guarantee-conditions, experiences from a real project. 2nd VDMEurope Symposium, Dublin, Ireland, LNCS 328, Springer-Verlag, 1988.
Xu Qiwen and He Jifeng. Towards a theory of interfering programs. Draft, Oxford University Computing Laboratory, 1990.
J. Zwiers. Compositionality, Concurrency and Partial Correctness. LNCS 321 1989.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Qiwen, X., Jifeng, H. (1991). A Theory of State-based Parallel Programming: Part 1. In: Morris, J.M., Shaw, R.C. (eds) 4th Refinement Workshop. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3756-6_15
Download citation
DOI: https://doi.org/10.1007/978-1-4471-3756-6_15
Publisher Name: Springer, London
Print ISBN: 978-3-540-19657-0
Online ISBN: 978-1-4471-3756-6
eBook Packages: Springer Book Archive