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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Lennart Augustsson and Thomas Johnsson. Lazy ML user's manual. Technical report, Department of Computer Science, Chalmers University of Technology, 1993.
Bernard Berthomieu. Programming with behaviours in an ML framework; the syntax and semantics of LCS. Technical report, LAAS-CNRS, Toulouse, 1993.
J.-P. Banâtre and D. Le Metayer, editors. Research Directions in High-Level Parallel Programming Languages. Springer Verlag LNCS 574, 1991.
Dave Berry, Robin Milner, and David Turner. A semantics for ML concurrency primitives. In Symposium on Principles of Programming Languages. ACM, 1992.
F. W. Burton. Nondeterminism with referential transparency in functional languages. The Computer Journal, 31 (3):243–247, 1988.
Richard Bird and Philip Wadler. Introduction to Functional Programming. Prentice-Hall, 1988.
Rance Cleaveland and Matthew Hennessy. Priorities in process algebras. In Symposium on Logic in Computer Science. IEEE, 1988.
Juanito Camilleri and Glynn Winskel. CCS with priority choice. In Symposium on Logic in Computer Science. IEEE, 1991.
Rina Dechter and Leonard Kleinrock. Broadcast communications and distributed algorithms. IEEE Trans, on Computers, 35(3):418, Mar 1986.
Alessandro Giacalone, Prateek Mishra, and Sanjiva Prasad. Facile: A symmetric integration of concurrent and functional programming. International Journal of Parallel Programming, 18(2), 1989.
Sören Holmström. PFL: A functional language for parallel programming. Technical Report 7, Dept. of Computer Sciences, Chalmers Univ. of Tech., 1983.
Tzung-Pei Hong and Shian-Shyong Tseng. Parallel perceptron learning on a singlechannel broadcast communication model. Parallel Computing, 18:133–148, 1992.
Simon Jones. Translating CBS to LML. Technical report, Department of Computer Science, Chalmers University of Technology, 1993.
Konstantin Läufer. Polymorphic Type Inference and Abstract Data Types. PhD thesis, New York University, 1992.
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.
Robin Milner. Communication and Concurrency. Prentice Hall, 1989.
Jenny Petersson. Tools for a calculus of broadcasting systems. Licentiate thesis, Department of Computer Science, Chalmers University of Technology, 1993. In preparation.
K. V. S. Prasad. Combinators and Bisimulation Proofs for Restartable Systems. PhD thesis, University of Edinburgh, December 1987.
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.
K. V. S. Prasad. A calculus of broadcasting systems. In TAPSOFT'91 Volume 1: CAAP, April 1991. Springer Verlag LNCS 493.
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.
K. V. S. Prasad. Broadcasting with priority. Technical report, Department of Computer Science, Chalmers University of Technology, 1993. Extended abstract, submitted to CONCUR'93.
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.
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.
Author information
Authors and Affiliations
Editor information
Rights 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