Skip to main content

Programming with broadcasts

  • Conference paper
  • First Online:
CONCUR'93 (CONCUR 1993)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 715))

Included in the following conference series:

Abstract

[Pra91, Pra92] develop CBS, a CCS-like calculus [Mil89] where processes communicate by broadcasting values along a single channel. These values are hidden or restricted by translation to noise. This paper types CBS and restricts it to processes with a unique response to each input. Nondeterminism arises only if two processes in parallel both wish to transmit. These restrictions do not reduce the programming power of CBS. But strong and weak bisimulation can now be defined exactly as in CCS, yet capture observationally meaningful relations. Weak bisimulation is a congruence.

This paper also shows how to program in CBS in a (lazy) ML framework. A simple CBS simulator is given, and a parallel implementation discussed. The simulator represents data evaluation, recursion and conditionals directly in Lazy ML. It implements an extended CBS with evaluation as well as communication transitions.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Lennart Augustsson and Thomas Johnsson. Lazy ML user's manual. Technical report, Department of Computer Science, Chalmers University of Technology, 1993.

    Google Scholar 

  2. Bernard Berthomieu. Programming with behaviours in an ML framework; the syntax and semantics of LCS. Technical report, LAAS-CNRS, Toulouse, 1993.

    Google Scholar 

  3. J.-P. Banâtre and D. Le Metayer, editors. Research Directions in High-Level Parallel Programming Languages. Springer Verlag LNCS 574, 1991.

    Google Scholar 

  4. Dave Berry, Robin Milner, and David Turner. A semantics for ML concurrency primitives. In Symposium on Principles of Programming Languages. ACM, 1992.

    Google Scholar 

  5. F. W. Burton. Nondeterminism with referential transparency in functional languages. The Computer Journal, 31 (3):243–247, 1988.

    Article  Google Scholar 

  6. Richard Bird and Philip Wadler. Introduction to Functional Programming. Prentice-Hall, 1988.

    Google Scholar 

  7. Rance Cleaveland and Matthew Hennessy. Priorities in process algebras. In Symposium on Logic in Computer Science. IEEE, 1988.

    Google Scholar 

  8. Juanito Camilleri and Glynn Winskel. CCS with priority choice. In Symposium on Logic in Computer Science. IEEE, 1991.

    Google Scholar 

  9. Rina Dechter and Leonard Kleinrock. Broadcast communications and distributed algorithms. IEEE Trans, on Computers, 35(3):418, Mar 1986.

    Google Scholar 

  10. Alessandro Giacalone, Prateek Mishra, and Sanjiva Prasad. Facile: A symmetric integration of concurrent and functional programming. International Journal of Parallel Programming, 18(2), 1989.

    Google Scholar 

  11. Sören Holmström. PFL: A functional language for parallel programming. Technical Report 7, Dept. of Computer Sciences, Chalmers Univ. of Tech., 1983.

    Google Scholar 

  12. Tzung-Pei Hong and Shian-Shyong Tseng. Parallel perceptron learning on a singlechannel broadcast communication model. Parallel Computing, 18:133–148, 1992.

    Article  Google Scholar 

  13. Simon Jones. Translating CBS to LML. Technical report, Department of Computer Science, Chalmers University of Technology, 1993.

    Google Scholar 

  14. Konstantin Läufer. Polymorphic Type Inference and Abstract Data Types. PhD thesis, New York University, 1992.

    Google Scholar 

  15. Nancy Lynch and Mark Tuttle. Hierarchical correctness proofs for distributed algorithms. Technical Report MIT/LCS/TR-387, Laboratory for Computer Science, Massachusetts Institute of Technology, 1987.

    Google Scholar 

  16. Robin Milner. Communication and Concurrency. Prentice Hall, 1989.

    Google Scholar 

  17. Jenny Petersson. Tools for a calculus of broadcasting systems. Licentiate thesis, Department of Computer Science, Chalmers University of Technology, 1993. In preparation.

    Google Scholar 

  18. K. V. S. Prasad. Combinators and Bisimulation Proofs for Restartable Systems. PhD thesis, University of Edinburgh, December 1987.

    Google Scholar 

  19. K. V. S. Prasad. On the non-derivability of operators in CCS. Technical Report 55, Dept. of Computer Sciences, Chalmers Univ. of Tech., Dec 1989.

    Google Scholar 

  20. K. V. S. Prasad. A calculus of broadcasting systems. In TAPSOFT'91 Volume 1: CAAP, April 1991. Springer Verlag LNCS 493.

    Google Scholar 

  21. K. V. S. Prasad. A calculus of value broadcasts. Technical report, Department of Computer Science, Chalmers University of Technology, 1992. To be presented at PARLE'93.

    Google Scholar 

  22. K. V. S. Prasad. Broadcasting with priority. Technical report, Department of Computer Science, Chalmers University of Technology, 1993. Extended abstract, submitted to CONCUR'93.

    Google Scholar 

  23. J. H. Reppy. A higher order concurrent language. SIGPLAN Notices, 26(6):294–305, 1991. ACM SIGPLAN'91 Conference on Programming Language Design and Implementation.

    Google Scholar 

  24. Chang-Biau Yang, R. C. T. Lee, and Wen-Tsuen Chen. Parallel graph algorithms based upon broadcast communications. IEEE Trans. on Computers, 39(12):1468, Dec 1990.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Eike Best

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Prasad, K.V.S. (1993). Programming with broadcasts. In: Best, E. (eds) CONCUR'93. CONCUR 1993. Lecture Notes in Computer Science, vol 715. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57208-2_13

Download citation

  • DOI: https://doi.org/10.1007/3-540-57208-2_13

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57208-4

  • Online ISBN: 978-3-540-47968-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics