Nothing Special   »   [go: up one dir, main page]

skip to main content
article
Free access

Asynchronous communication on Occam

Published: 01 December 1988 Publication History

Abstract

In this paper primitives for asynchronous process communication are defined and added to the programming language Occam. Most of the existing concurrent programming concepts have synchronization mechanisms built-in the communication primitives degrading process independency and restricting the parallelism they are trying to provide. Asynchronous process communication provides more freedom in programming concurrent systems allowing non-blocking semantics for both send and receive primitives. Messages are buffered and a number of operations over buffered but not yet received messages are defined, allowing programmer to set or dynamically change the communication discipline needed for the particular application. The goal of the work presented is to relax strict process communication discipline and to make Occam more convenient for expressing concurrency needed for real-time applications. Although Occam is based on the synchronous communication model, its low level facilities provide a possibility to create the semantics of concurrency completely different from the one initially offered.

References

[1]
[Andrews 83] G.R. Andrews and F.B. Schneider. Concepts and Notations for Concurrent Programming. Computing Surveys, Vol. 15, No. 1, pp. 3-43, 1983.
[2]
[Brinch-Hansen 75] P. Brinch Hansen. The Programming Language Concurrent Pascal. IEEE Trans. Softw. Eng., Vol. SE-1, No. 2, pp. 199-207, June 1975.
[3]
[Brinch-Hansen 78] P. Brinch Hansen. Distributed Processes: A Concurrent Programming Concept. Commun. ACM, Vol. 21, No. 11, pp. 934-941, 1978.
[4]
[Brinch-Hansen 87] P. Brinch Hansen. JOYCE- A Programming Language for Distributed Systems. Softw.-Pract. and Exp., Vol. 17, No. 1, pp. 29-50, 1987.
[5]
[Hoare 74] C.A.R. Hoare. Monitors: An Operating System Structuring Concept. Commun. ACM, Vol. 17, pp. 549-557, October 1974.
[6]
[Hoare 78] C.A.R. Hoare. Communicating Sequential Processes. Commun. ACM, Vol. 21, No. 8, pp. 666-677, 1978.
[7]
[Hoare 85] C.A.R. Hoaxe. Communicating Sequential Processes. Prentice-Hall International, 1985.
[8]
[Inmos 84] Inmos. Occam Programming Manual. Prentice-Hall, Englewood Cliffs, N.J., 1984.
[9]
[Inmos 86] Inmos. Occam Programming System. INMOS Ltd., April 1986.
[10]
[Jähnichen 86] S. Jähnichen and C. Kordecki. Object-oriented Synchronization in Distributed Multiprocessor Systems. Proc. of NTG Tagung, Stuttgart, 1986.
[11]
[Logica 87] Logica. Transputer Development System for Sun Workstations. Installation and User Guide, Logics Cambridge Limited, May 1987.
[12]
[Liskov 84] B. Liskov. Refinement - from Specification to Implementation - The Argus Language and System. Lecture Notes for Advanced Course on Distributed Systems, Techichen Universität Munich, April 1984.
[13]
[Liskov 86] B. Liskov, M. Kerlihy and L. Gilbart. Limitations of Synchronous Communication with Static Process Structure in Languages for Distributed Computing. Thirteenth Annual ACM POPL Symposium, pp. 150-159, 1986.
[14]
[Liskov 88] B. Liskov, L. Shrira. Promises: Linguistic Support for Efficient Asynchronous Procedure Calls in distributed Systems. Proc. SIGPLAN'88 Conference on Programming Language Design and Implementation, pp. 260-267, June 1988.
[15]
[Roberts 81] E.S. Roberts, A. Evans and R. Morgan. Task Management in Ads - A Critical Evaluation for Real Time Multiprocessors. Softw.-Pract. and Exp., Vol. 11, pp. 1019-1051, 1981.
[16]
[Sloman 84] M. Sloman, J. Kramer and J. Magee. A Flexible Communication Structure for Distributed Embedded Systems. Research Report, DOC 83/11, Imperial College of Science and Technology, London, 1984.
[17]
[Strom 83] R.E. Strom and S. Yemini. NIL: An Integrated Language and System for Distributed Programming. Proc. SIGPLAN '83, San Francisco, June 1983.
[18]
[¿erbed¿ija 85] N.B. ¿erbed¿ija. Real-Time Simulation of Water Distribution System. Proc. of IFAC Symposium on System Analysis Applied to Water and Related Land Resources, Lisbon, Oct. 1985.

Cited By

View all

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 23, Issue 12
Dec. 1988
134 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/57669
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 December 1988
Published in SIGPLAN Volume 23, Issue 12

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)69
  • Downloads (Last 6 weeks)18
Reflects downloads up to 26 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2005)Modeling synchronization and communication abstractions for dynamical parallelizationHigh-Performance Computing and Networking10.1007/BFb0031646(752-761)Online publication date: 25-Jun-2005
  • (1995)Dynamic models of parallel computations for macropipelined programsCybernetics and Systems Analysis10.1007/BF0236661931:6(818-834)Online publication date: Nov-1995
  • (1992)RT-MODULA2ACM SIGPLAN Notices10.1145/130973.13097427:2(26-36)Online publication date: 1-Feb-1992
  • (1990)Distributed message passing operating systemsACM SIGOPS Operating Systems Review10.1145/90994.9099924:1(7-17)Online publication date: 3-Jan-1990
  • (1990)High-level programming of real-time systems with asynchronous communicationInformation and Software Technology10.1016/0950-5849(90)90165-N32:7(497-505)Online publication date: 1-Sep-1990

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media