A set of primitives orthogonal to implementation languages (such as
SmalltalkLanguage,
LispLanguage,
CeeLanguage,
JavaLanguage, etc.) that implement operations on a
TupleSpace, for use in parallel and
DistributedProgramming environments. Created by
DavidGelernter and popularized by DG and
NicholasCarriero.
There are four fundamental operations:
- out (tuple): put a tuple into tuple space.
- rd (pattern): read a tuple based on a tuple pattern from a tuple space.
- in (pattern): read and remove a tuple based on a tuple pattern from a tuple space.
- eval (expression):
These operations open up the possibilities of
DataStructures in
TupleSpaces. Sets become more important....
Please add material and correct me if I'm wrong!
--
AllanBaruz
DG and Carriero refer to Linda as a "coordination language": its job is to tie together components which can be written in different languages.
FlowBasedProgramming shares this characteristic, as it is a connection language, rather than a
ProgrammingLanguage in the conventional sense. FBP components also communicate by means of structured data objects which exist in their own space, rather like Linda's
TupleSpace. They differ from Linda's tuples in that they travel across
BoundedBuffer connections between components, rather than being retrieved associatively. --
PaulMorrison
{What is the pattern language? or is that user-defined?}
See also
YaleLindaGroup,
LindaEtymology,
JavaSpaces
CategoryProgrammingLanguage (sort of)