An Observational Semantics for Linda

Linda has just four primitives, all of which are devoted to coordinating the interactions among programs by sharing information maintained in a common data space. To write programs manipulating data, it is necessary to embed Linda in a (functional, imperative, logic, etc.) programming language; this leads to a family of languages based on Linda. We define syntax and semantics for a member of the Linda family, L, that is obtained by embedding Linda in a “simple” sequential language. The semantics of this concurrent programming language is formalized by applying techniques developed within the framework of process algebras. A two-level semantics for L is provided: an operational one in Plotkin’s style, based on a transition system, and an observational one, based on three behavioural preorders, obtained by applying the testing framework to L.

[1]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[2]  Kees G. W. Goossens Reasoning about VHDL using operational and observational semantics , 1995, CHARME.

[3]  Nicholas Carriero,et al.  Parallel Programming in Linda , 1985, ICPP.

[4]  Nicholas Carriero,et al.  Distributed data structures in Linda , 1986, POPL '86.

[5]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[6]  Paul Butcher A behavioural semantics for Linda-2 , 1991, Softw. Eng. J..

[7]  David Gelernter,et al.  Generative communication in Linda , 1985, TOPL.

[8]  E. K. Gannett,et al.  THE INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS , 1965 .

[9]  Jan A. Bergstra,et al.  Process Algebra for Synchronous Communication , 1984, Inf. Control..

[10]  K. Mani Chandy Parallel program design , 1989 .

[11]  Matthew Hennessy,et al.  Algebraic theory of processes , 1988, MIT Press series in the foundations of computing.

[12]  Rocco De Nicola,et al.  Testing Equivalences for Processes , 1984, Theor. Comput. Sci..

[13]  Rocco De Nicola,et al.  Testing Equivalence for Processes , 1983, ICALP.

[14]  Ehud Shapiro,et al.  Concurrent PROLOG: Collected Papers , 1987 .

[15]  Nicholas Carriero,et al.  Linda in context , 1989, CACM.

[16]  Frank S. de Boer,et al.  The Failure of Failures in a Paradigm for Asynchronous Communication , 1991, CONCUR.

[17]  Antonio Brogi,et al.  The concurrent language, Shared Prolog , 1991, TOPL.

[18]  K. Mani Chandy,et al.  Parallel program design - a foundation , 1988 .