Abstract
We present an approach to the top-down derivation of communicating, concurrent programs from their specification. As a programming language we use a blend of Milner’s CCS, Hoare’s CSP and Lauer’s COSY, and as a specification language we use a version of Zwiers’ trace logic. The link between communicating programs and trace specifications is given by a notion of program correctness which deals with both safety and liveness properties. The top-down derivation proceeds by application of compositional transformation rules which refine the given trace specification stepwise into a communicating program satisfying the safety and liveness requirements of the specification.
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
F. André, D. Herman, J.-P. Verjus, Synchronization of Parallel Programs (MIT Press, Cambridge, Mass., 1985).
B. Alpern, F.B. Schneider, Defining liveness, Inform. Proc. Letters 21 (1985) 181–185.
J.W. de Bakker, Mathematical Theory of Program Correctness (Prentice-Hall, London, 1989).
F.L. Bauer et al, The Munich Project CIP, Vol. I: The Wide Spectrum Language CIP-L, Lecture Notes in Comput. Sci. 183 (Springer-Verlag, 1985).
F.L. Bauer et al., The Munich Project CIP, Vol. II: The Program Transformation System CIP-S, Lecture Notes in Comput. Sci. 292 (Springer-Verlag, 1987).
E. Best, COSY: its relation to nets and CSP, in: W. Brauer, W. Reisig, G. Ro-zenberg (Eds.), Petri Nets: Applications and Relationships to Other Models of Concurrency, Lecture Notes in Comput. Sci. 255 ( Springer-Verlag, 1987) 416–440.
S.D. Brookes, C.A.R. Hoare, A.W. Roscoe, A theory of communicating sequen tial processes, J. ACM 31 (1984) 560–599.
Z. Chaochen, C.A.R. Hoare, Partial correctness of communicating processes, in: Proc. 2nd Intern. Conf. on Distributed Comput. Systems, Paris, 1981.
R. DeNicola, M. Hennessy, Testing equivalences for processes, Theoret. Comput. Sci. 34 (1984) 83–134.
E.W. Dijkstra, A Discipline of Programming ( Prentice-Hall, Englewood Cliffs, NJ, 1976).
N. Francez, D. Lehmann, A. Pnueli, A linear history semantics for languages for distributed programmming, Theoret. Comput. Sci. 32 (1984) 25–46.
U. Goltz, Über die Darstellung von CCS-Programmen durch Petrinetze, Doctoral Diss., RWTH Aachen, 1988.
C.A.R. Hoare, Some properties of predicate transformers, J. ACM 25 (1978) 461–480.
C.A.R. Hoare, A calculus of total correctness for communicating processes, Sci. Comput. Progr. 1 (1981) 44–72.
C.A.R. Hoare, Communicating Sequential Processes (Prentice-Hall, London, 1985).
B. Jonsson, Compositional Verification of Distributed Systems, Ph.D. Thesis, Dept. Comput. Sci., Uppsala Univ., 1987.
P.E. Lauer, P.R. Torrigiani, M.W. Shields, COSY - A system specification language based on paths and processes, Acta Inform. 12 (1979) 109–158.
A. Mazurkiewicz, Concurrent program schemes and their interpretations, Tech. Report DAIMI PB-78, Aarhus Univ., 1977.
R. Milner, A Calculus of Communicating Systems, Lecture Notes in Comput. Sci. 92 (Springer-Verlag, 1980).
R. Milner, Communication and Concurrency (Prentice-Hall, London, 1989).
J. Misra, K.M. Chandy, Proofs of networks of processes, IEEE Trans. Software Eng. 7 (1981) 417–426.
E.-R. Olderog, Nets, Terms and Formulas: Three Views of Concurrent Processes and Their Relationship, Habilitationsschrift, Univ. Kiel, 1988/89.
E.-R. Olderog, Strong bisimilarity on nets: a new concept for comparing net semantics, in: J.W. de Bakker, W.P. de Roever, G. Rozenberg (Eds.), Linear Time, Branching Time and Partial Order in Logics and Models of Concurrency, Lecture Notes in Comput. Sci. 354 ( Springer-Verlag, 1989) 549–573.
E.-R. Olderog, Correctness of concurrent processes, invited paper, in: A. Kreczmar, G. Mirkowska (Eds.), Math. Found. of Comput. Sci. 1989, Lecture Notes in Comput. Sci. 379 (Springer-Verlag, 1989) 107–132.
E.-R. Olderog, C.A.R. Hoare, Specification-oriented semantics for communicating processes, Acta Inform. 23 (1986) 9–66.
S. Owicki, L. Lamport, Proving liveness properties of concurrent programs, ACM TOPLAS 4 (1982) 199–223.
W. Reisig, Petri Nets, An Introduction, EATCS Monographs on Theoret. Comput. Sci. ( Springer-Verlag, 1985).
M. Rem, Trace theory and systolic computation, in: J.W. de Bakker, A.J. Nij-man, P.C. Treleaven (Eds.), Proc. PARLE Conf., Eindhoven, Vol. I, Lecture Notes in Comput. Sci. 258, ( Springer-Verlag, 1987) 14–33.
D.S. Scott, Outline of a mathematical theory of computation, Tech. Monograph PRG-2, Progr. Research Group, Oxford Univ., 1970.
J.E. Stoy, Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory (MIT Press, Cambridge, Mass., 1977).
J.L.A. van de Snepscheut, Trace Theory and VLSI Design, Lecture Notes in Comput. Sci. 200 ( Springer-Verlag, 1985).
J. Widom, D. Gries, F.B. Schneider, Completeness and incompleteness of trace-baced network proof systems, in: Proc. 14th ACM Symp. on Principles of Progr. Languages, München, 1987, 27–38.
N. Wirth, Program development by stepwise refinement, Comm. ACM 14 (1971) 221–227.
J. Zwiers, Compositionality, Concurrency and Partial Correctness, Lecture Notes in Comput. Sci. 321 ( Springer-Verlag, 1989).
J. Zwiers, W.P. de Roever, P. van Emde-Boas, Compositionality and concurrent networks, in: W. Brauer (Ed.), Proc. 12th Coll. Automata, Languages and Programming, Lecture Notes in Comput. Sci. 194 ( Springer-Verlag, 1985) 509–519.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1992 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Olderog, ER. (1992). Systematic Derivation of Communicating Programs. In: Broy, M. (eds) Programming and Mathematical Method. NATO ASI Series, vol 88. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-77572-7_15
Download citation
DOI: https://doi.org/10.1007/978-3-642-77572-7_15
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-77574-1
Online ISBN: 978-3-642-77572-7
eBook Packages: Springer Book Archive