[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
article
Open access

Generative communication in Linda

Published: 02 January 1985 Publication History

Abstract

Generative communication is the basis of a new distributed programming langauge that is intended for systems programming in distributed settings generally and on integrated network computers in particular. It differs from previous interprocess communication models in specifying that messages be added in tuple-structured form to the computation environment, where they exist as named, independent entities until some process chooses to receive them. Generative communication results in a number of distinguishing properties in the new language, Linda, that is built around it. Linda is fully distributed in space and distributed in time; it allows distributed sharing, continuation passing, and structured naming. We discuss these properties and their implications, then give a series of examples. Linda presents novel implementation problems that we discuss in Part II. We are particularly concerned with implementation of the dynamic global name space that the generative communication model requires.

References

[1]
ANDREWS, G. Synchronizing resources. ACM Trans. Program. Lang. Syst. 3, 4 (Oct. 1982), 405.
[2]
BRINCH-HANSEN, P. The programming language Concurrent Pascal. IEEE Trans. Softw. Eng. SE-1, 2 (June 1975), 199-207.
[3]
BRINCH-HANSEN, P. Distributed processes: A concurrent programming concept. Commun. ACM 21, 11 (Nov. 1978), 934.
[4]
COOK, R. Mod--a language for distributed programming. In Proceedings 1st International Conference on Distributed Computing Systems, (Oct. 1979), 233-241.
[5]
DEMINET, J. Experience with multiprocessor algorithms. IEEE Trans. Comput. C-31, 4 (Apr. 1982), 278-287.
[6]
U.S. Dept. of Defense. Reference Manual for the Ada Programming Language. July 1982.
[7]
ESWARAN, K., GRAY, J., LORIE, R., AND TRA1GER, L. The notions of consistency and predicate locks in a database system. Commun. ACM 19, 11 (Nov. 1976), 624.
[8]
FEHLING, M., AND ERMAN, L. Report on the 3rd Annual Workshop on Distributed Artificial Intelligence. ACM SIGART Newsl. 84 (Apr. 1983), 3-12.
[9]
FELDMAN, J. High-level programming for distributed computing. Commun. ACM 22, 6 (June 1979), 353.
[10]
FINKEL, R., AND SOLOMON, M. The Arachne distributed operating system. Tech. Rep. 439, Univ. of Wisconsin at Madison, Computer Science Dept., July 1981.
[11]
GELERNTER, D., AND BERNSTEIN, A. Distributed communication via global buffer. In Proceedings ACM Symposium on Principles of Distributed Computing, (Aug. 1982), 10-18.
[12]
GELERNTER, D. An integrated microcomputer network for experiments in distributed programming. Ph.D. dissertation, SUNY at Stony Brook, Dept. of Computer Science, Oct. 1982.
[13]
GELERNTER, D. Three reorthogonalizations in a distributed programming language. Tech. Rep., Yale Univ., Dept. Computer Science, Aug. 1983.
[14]
GELERNTER, D. A note on systems programming in Concurrent Prolog. In Proceedings 1984 International Symposium on Logic Programming, (Feb. 1984).
[15]
GELERNTER, D. Symmetric programming languages. Tech. Rep., Yale Univ., Dept. Computer Science, July 1984.
[16]
GEL ERNTER, n. Global name spaces on network computers. In Proceedings 1984 International{ Conference on Parallel Processing, (Aug. 1984).
[17]
HOARE, C.A.R. Communicating sequential processes. Commun. ACM 21 (Aug. 1978), 666-677.
[18]
ICI~BIAR, J.D., et al. Rationale for the design of the Ada programming language. SIGPLAN Not. 14, 6, Part B (June 1979).
[19]
KAHN, G. The semantics of a simple language for parallel processing. In Proceedings IFIP Congress 1974. p. 471.
[20]
KERNIGHAN, B., AND RITCHIE, D. The C Programming Language. Prentice-Hall, Englewood Cliffs, N.J., 1978.
[21]
KIEBURTZ, R., AND SILBERSHATZ, A. Comments on communicating sequential processes. ACM Trans. Program. Lang. Syst. 1, 2 (Oct. 1979), 218-225.
[22]
KOHLER, W. Overview of synchronization and recovery problems in distributed databases. In Proceedings Fall COMPCON 1980. 433-441.
[23]
LISKOV, B. Primitives for distributed computing. In Proceedings 7th Symposium on Operating System Principles, (Dec. 1979), 353.
[24]
SCHNEIDER, F. Synchronization in distributed programs. ACM Trans. Program. Lang. Syst. 4, 2 (Apr. 1982), 125-148.
[25]
SHOCH, J., AND HUPP, J. The "worm" program--early experience with a distributed computation. Commun. ACM 25, 3 (Mar. 1982), 172-180.
[26]
WARREN, D., AND PEREIRA, k. Prolog: The language and its implementation compared with Lisp. In Proceedings ACM Symposium on Artificial Intelligence and Programming Languages, (Aug. 1977), 109.
[27]
WIRTH, N. Modula: A language for modular multiprogramming. Softw. Pract. Exper. 7 (1977), 3-35.

Cited By

View all
  • (2025)A comprehensive review of usage control frameworksComputer Science Review10.1016/j.cosrev.2024.10069856(100698)Online publication date: May-2025
  • (2024)Deterministic Coordination across Multiple TimelinesACM Transactions on Embedded Computing Systems10.1145/361535723:5(1-29)Online publication date: 14-Aug-2024
  • (2024)Model-Driven Development of Multi-Robot Systems: From BPMN Models to X-Klaim CodeLeveraging Applications of Formal Methods, Verification and Validation. Rigorous Engineering of Collective Adaptive Systems10.1007/978-3-031-75107-3_14(224-242)Online publication date: 27-Oct-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Transactions on Programming Languages and Systems
ACM Transactions on Programming Languages and Systems  Volume 7, Issue 1
Jan. 1985
181 pages
ISSN:0164-0925
EISSN:1558-4593
DOI:10.1145/2363
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 02 January 1985
Published in TOPLAS Volume 7, Issue 1

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)325
  • Downloads (Last 6 weeks)51
Reflects downloads up to 08 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2025)A comprehensive review of usage control frameworksComputer Science Review10.1016/j.cosrev.2024.10069856(100698)Online publication date: May-2025
  • (2024)Deterministic Coordination across Multiple TimelinesACM Transactions on Embedded Computing Systems10.1145/361535723:5(1-29)Online publication date: 14-Aug-2024
  • (2024)Model-Driven Development of Multi-Robot Systems: From BPMN Models to X-Klaim CodeLeveraging Applications of Formal Methods, Verification and Validation. Rigorous Engineering of Collective Adaptive Systems10.1007/978-3-031-75107-3_14(224-242)Online publication date: 27-Oct-2024
  • (2024)Klaim in the MakingLeveraging Applications of Formal Methods, Verification and Validation. REoCAS Colloquium in Honor of Rocco De Nicola10.1007/978-3-031-73709-1_3(27-49)Online publication date: 27-Oct-2024
  • (2024)Riding the Data Storms: Specifying and Analysing IoT Security Requirements with SURFINGLeveraging Applications of Formal Methods, Verification and Validation. REoCAS Colloquium in Honor of Rocco De Nicola10.1007/978-3-031-73709-1_24(392-408)Online publication date: 27-Oct-2024
  • (2023)SwarmL: A Language for Programming Fully Distributed Intelligent Building SystemsBuildings10.3390/buildings1302049913:2(499)Online publication date: 12-Feb-2023
  • (2023)Fault-tolerance at your Finger Tips with the TeamPlay Coordination LanguageProceedings of the 35th Symposium on Implementation and Application of Functional Languages10.1145/3652561.3652571(1-13)Online publication date: 29-Aug-2023
  • (2023)MSCCLang: Microsoft Collective Communication LanguageProceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 210.1145/3575693.3575724(502-514)Online publication date: 27-Jan-2023
  • (2023)Coordinating and programming multiple ROS-based robots with X-KLAIMInternational Journal on Software Tools for Technology Transfer (STTT)10.1007/s10009-023-00727-w25:5-6(747-764)Online publication date: 1-Dec-2023
  • (2023)A Fault‐tolerant model for tuple space coordination in distributed environmentsConcurrency and Computation: Practice and Experience10.1002/cpe.788436:1Online publication date: 7-Aug-2023
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Full Access

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media