Part of the book series:NATO ASI Series ((NATO ASI F,volume 118))
194Accesses
Abstract
We show how to apply the refinement calculus to stepwise refinement of parallel and reactive programs. We use action systems as our basic program model. Action systems are sequential programs which can be implemented in a parallel fashion. Hence refinement calculus methods, originally developed for sequential programs, carry over to the derivation of parallel programs. Refinement of reactive programs is handled by data refinement techniques originally developed for the sequential refinement calculus. We exemplify the approach by a derivation of a mutual exclusion algorithm.
This is a preview of subscription content,log in via an institution to check access.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
M. Abadi and L. Lamport. The existence of refinement mappings. InProc. $ni IEEE Symp. on LICS, Edinburgh, 1988.
R. J. R. Back.Correctness Preserving Program Refinements: Proof Theory and Applications, volume 131 ofMathematical Center Thacts. Mathematical Centre, Amsterdam, 1980.
R. J. R. Back. Changing data representation in the refinement calculus. In21st Hawaii International Conference on System Sciences. IEEE, January 1989.
R. J. R. Back. Refining atomicity in parallel algorithms. InPARLE 89 Parallel Architectures and Languages Europe, volume 366 of LectureNotes in Computer Science, Eindhoven, the Netherlands, June 1989. Springer Verlag, 1989.
R. J. R. Back. Refinement calculus II: Parallel and reactive programs. In J. W. deBakker, W. P. deRoever, and G. Rozenberg, editors,Stepwise Refinement of Distributed Systems, volume 430 ofLecture Notes in Computer Science, pages 6793. Springer Verlag, 1990.
R.J.R. Back. Refinement calculus, lattices, and higher order logic. This volume, p. 53.
R. J. R. Back and R. Kurki-Suonio. Decentralization of process nets with centralized control. In2nd ACM SIGACT-SIGOPS Symp. on Principles of Distributed Computing, pages 131–142. ACM, 1983.
R. J. R. Back and R. Kurki-Suonio. Distributed co-operation with action systems.ACM Transactions on Programming Languages and Systems, 10: 513–554, October 1988.
R. J. R. Back and R. Kurki-Suonio. Superposition and fairness in reactive system refinement. InJerusalem conference on Information Technology, Jerusalem, Israel, October 1990.
R. J. R. Back and K. Sere. Refinement of action systems. In Mathematics of Program Construction, volume 375 ofLecture Notes in Computer Science, Groningen, The Netherlands, June 1989. Springer-Verlag.
R.J.R. Back and K. Sere. Deriving an occam implementation of action systems. In C. Morgan, J.C.P. Woodcock (eds.),Third BCS Refinement Workshop, pp. 9–30, Workshops in Computing, Springer-Verlag 1990.
R. J. R. Back and K. Sere. Superposition refinement of parallel algorithms. In K. R. Parker and G. A. Rose, editors,Formal Description Techniques IV, IFIP Transaction C-2. North-Holland, 1992.
R.J.R. Back and J. von Wright. Refinement calculus I: Sequential nondeterministic programs. In J. W. deBakker, W.P. deRoever, and G. Rozenberg (eds.),Stepwise Refinement of Distributed Systems, Lecture Notes in Computer Science 430, pp. 42–66, Springer-Verlag, 1990.
R. Bagrodia.An environment for the design and performance analysis of distributed systems. PhD thesis, The University of Texas at Austin, Austin, Texas, 1987.
J. H. C.A.R. Hoare and J. Sanders. Prespecification in data refinement.Information Processing Letters, 25: 71–76, 1987.
K. M. Chandy and J. Misra.Parallel Program Design: A Foundation. Addison-Wesley, 1988.
W. Chen and J. T. Udding. Towards a calculus of data refinement. In Mathematics of Program Construction, volume 375 ofLecture Notes in Computer Science, Groningen, The Netherlands, June 1989. Springer-Verlag.
P. Gardiner and C. Morgan. Data refinement of predicate transformers.Theoretical Comput. Sci., 87 (1): 143–162, 1991.
D. Cries and J. Prins. A new notion of encapsulation. InProc. SIGPLAN Symp. Language Issues in Programming Environments, June 1985.
C. A. R. Hoare. Proofs of correctness of data representation.Acta Informatica, 1 (4): 271–281, 1972.
C. A. R. Hoare. Communicating sequential processes.Communications of the ACM, 21 (8): 666–677, August 1978.
C. A. R. Hoare.Communicating Sequential Processes. Prentice-Hall, 1985.
C. Jones.Software Development: A Rigorous Approach. Prentice-Hall International, 1980.
B. Jonsson.Compositional Verification of Distributed Systems. PhD thesis, Dept. of Computer Systems, Uppsala University, Uppsala, 1987. Available as report DoCS 87/09.
B. Jonsson. On decomposing and refining specifications of distributed systems. InREX Workshop for Refinement of Distributed Systems,volume 430 ofLecture Notes inComputer Science,Nijmegen, The Netherlands, 1989. Springer-Verlag.
S. S. Lam and A. U. Shankar. A relational notation for state transition systems. Technical Report TR-88–21, Dept. of Computer Sciences, University of Texas at Austin, 1988.
L. Lamport. Reasoning about nonatomic operations. InProc. 10th ACM Conference on Principles of Programming Languages, pages 28–37, 1983.
L. Lamport. A Temporal Logic of Actions. Src report 57, Digital SRC, 1990.
N. A. Lynch and M. R. Tuttle. Hierarchical correctness proofs for distributed algorithms. InProc. 6th ACM Symp. on Principles of Distributed Computing, pages 137–151, 1987.
Z. Manna and A. Pnueli. How to cook a temporal proof system for your pet language. InProc. 10thACM Symp. on Principles of Programming Languages, pages 141–154, 1983.
R. Milner.A Calculus of Communicating Systems, volume 92 ofLecture Notes of Computer Science. Springer Verlag, 1980.
C. Morgan and J. Woodcock. Of wp and CSP. InProceedings of VDM-91, 1991.
C. C. Morgan. Data refinement by miracles.Information Processing Letters, 26: 243–246, January 1988.
J. M. Morris. Laws of data refinement.Acta Informatica, 26: 287–308, 1989.
S. Owicki and D. Cries. An axiomatic proof technique for parallel programs iActa Informatica, 6: 319–340, 1976.
E. W. Stark. Proving entailment between conceptual state specifications.Theoretical Comput. Sci., 56: 135–154, 1988.
J. von Wright. Data refinement and the simulation method. Reports on computer science and mathematics 138, Abo Akademi, 1992.
J. von Wright. Data refinement with stuttering. Reports on computer science and mathematics 137, Abo Akademi, 1992.
Author information
Authors and Affiliations
Department of Computer Science, Åbo Akademi University, Lemminkäinengatan 14, SF-20520, Turku, Finland
R. J. R. Back
- R. J. R. Back
You can also search for this author inPubMed Google Scholar
Editor information
Editors and Affiliations
Institut für Informatik, Technische Universität München, Arcisstr. 21, D-80333, München, Germany
Manfred Broy
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Back, R.J.R. (1993). Refinement of Parallel and Reactive Programs. In: Broy, M. (eds) Program Design Calculi. NATO ASI Series, vol 118. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-02880-3_3
Download citation
Publisher Name:Springer, Berlin, Heidelberg
Print ISBN:978-3-642-08164-4
Online ISBN:978-3-662-02880-3
eBook Packages:Springer Book Archive
Share this paper
Anyone you share the following link with will be able to read this content:
Sorry, a shareable link is not currently available for this article.
Provided by the Springer Nature SharedIt content-sharing initiative