Generative Communication in Linda

Generative Communication in Linda

January 1985 | DAVID GELERNTER
The paper introduces generative communication, a new model of interprocess communication in distributed programming languages, specifically in the context of the Linda language. Generative communication differs from traditional models by specifying that messages are added to a tuple space (TS) in tuple-structured form, where they exist as named, independent entities until a process chooses to receive them. This results in several distinguishing properties of Linda, including full spatial and temporal distribution, distributed sharing, continuation passing, and structured naming. The authors discuss the implications of these properties and provide examples to illustrate their use. They also address the implementation challenges, particularly the dynamic global name space required by generative communication. The paper compares Linda with other distributed languages, highlighting its unique features and advantages in terms of simplicity, expressiveness, and flexibility. Key aspects of Linda's design include: - **Tuple Space**: A central environment where tuples are added and withdrawn. - **Communication Operations**: `out()`, `in()`, and `read()`, which allow processes to send, receive, and read tuples. - **Structured Naming**: Tuples can be identified by structured names, enabling more flexible communication patterns. - **Distributed Properties**: Space uncoupling, time uncoupling, and distributed sharing. - **Continuation Passing**: Processes can be continued by other processes, facilitating complex communication patterns. - **Examples**: The paper provides examples of using simple and structured names, including remote procedure calls, semaphores, resource servers, and time-based communication. The authors conclude by discussing the implementation challenges and the potential for incorporating file systems into Linda to support more advanced distributed computing tasks.The paper introduces generative communication, a new model of interprocess communication in distributed programming languages, specifically in the context of the Linda language. Generative communication differs from traditional models by specifying that messages are added to a tuple space (TS) in tuple-structured form, where they exist as named, independent entities until a process chooses to receive them. This results in several distinguishing properties of Linda, including full spatial and temporal distribution, distributed sharing, continuation passing, and structured naming. The authors discuss the implications of these properties and provide examples to illustrate their use. They also address the implementation challenges, particularly the dynamic global name space required by generative communication. The paper compares Linda with other distributed languages, highlighting its unique features and advantages in terms of simplicity, expressiveness, and flexibility. Key aspects of Linda's design include: - **Tuple Space**: A central environment where tuples are added and withdrawn. - **Communication Operations**: `out()`, `in()`, and `read()`, which allow processes to send, receive, and read tuples. - **Structured Naming**: Tuples can be identified by structured names, enabling more flexible communication patterns. - **Distributed Properties**: Space uncoupling, time uncoupling, and distributed sharing. - **Continuation Passing**: Processes can be continued by other processes, facilitating complex communication patterns. - **Examples**: The paper provides examples of using simple and structured names, including remote procedure calls, semaphores, resource servers, and time-based communication. The authors conclude by discussing the implementation challenges and the potential for incorporating file systems into Linda to support more advanced distributed computing tasks.
Reach us at info@study.space