Abstract
An occam program is usually translated into a machine program executed in parallel with a set of system processes such as communication protocol and scheduler, where the target program appears in a form which cannot be adequately modelled in a purely communication-based parallel language since concurrent components share variables. This paper presents a mathematical theory for a hybrid language equipped with a parallel construct, whose sub-processes can communicate with each other via both channels and shared variables. We examine the algebraic laws of the language, and show how they can help in the implementation of concurrency and synchronised communication of occam.
supported by the ESPRIT Basic Research Action ProCoS II
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
M. Abadi and L. Lamport. Composing Specifications LNCS 430, 1–42, (1990).
R.S. Bird. Lectures on Correctness Functional Programming. Technical Monograph PRG-69, Oxford University Computing Laboratory, (1989).
S.D. Brookes, A.W. Roscoe. An Improved Failure Model For Communicating Processes. LNCS 197, 281–305, (1985).
M. Gordan. Proving a computer correct. Technical Report 42, University of Cambridge Computing Laboratory, (1983).
I. Gaessarian. Algebraic Semantics. LNCS 99, (1981).
He Jifeng. Introduction of Hybrid Parallel Programming. ProCoS Technical Report, Oxford University Computing Laboratory, (1992).
C.A.R. Hoare. The Varieties of Programming Languages. TAPSOFT Proceedings, Springer-Verlag, LNCS 351, 1–18, (1989).
INMOS Ltd. The occam programming manual. Prentice-Hall, (1984).
A.J. Martin. Compiling communicating process into delay-insensitive VLSI circuits. Distributed Computing 1 (4), (1986).
D. May. OCCAM and Transputer. In Developments in Concurrency and Communication, 65–87, (1991).
D. May. Compiling OCCAM into Silicon. In Developments in Concurrency and Communication, 88–107, (1991).
D. May and R. Shepherd. Communicating Process Computers. Communicating Process Architecture, 31–44, Prentice-Hall, (1988).
G. Nelson and M. Manasse. The Proof of a Second Step of a Factored Compiler. Lecture Notes for International Summer School on Programming and Mathematical Method, Marktoberdorf, Germany, (1990).
S. Owicki. Axiomatic Proof Techniques for Parallel Programs. PhD thesis, Department of Computer Science, Cornell University, (1975).
A. Pnueli. The temporal semantics of concurrent programs. LNCS 70, 1–20, (1979).
L. Pomello. Refinement of Concurrent System Based on Local State Transformation. LNCS 430, 641–669, (1990).
A.W. Roscoe and C.A.R. Hoare. The Laws of occam Programming. Theoretical Computer Science, (1988).
K. Stolen. Development of Parallel Programs on Shared-Data Structure. Thesis DPhil. Manchester University, (1990).
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Jifeng, H. (1993). Hybrid parallel programming and implementation of synchronised communication. In: Borzyszkowski, A.M., Sokołowski, S. (eds) Mathematical Foundations of Computer Science 1993. MFCS 1993. Lecture Notes in Computer Science, vol 711. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57182-5_45
Download citation
DOI: https://doi.org/10.1007/3-540-57182-5_45
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57182-7
Online ISBN: 978-3-540-47927-7
eBook Packages: Springer Book Archive