How is data published and retrieved?
Interaction with tuplespaces is based on the ideas from a simple coordination language known as Linda [6]. This language has three core primitives: out – for the adding of a tuple to the space; rd – for the reading a copy of a tuple from the space; in – for the reading and removing of a tuple. Retrieval in a Linda-based coordination model is based on associative addressing, as opposed to data addressing. A template is used to construct a request for a type of data (generally following the structure of the tuple in the space with some values replaced by variables which need to be matched to concrete values). A tuple is returned which “matches” the template, where the matching rules can be defined in the tuplespace system, e.g. based on data typing. In Linda, retrieval operations block until a match is found, hence supporting a simple yet powerful form of coordination (the retrieval request can take place before the publication of the requested data, and rather than simply receiving a ‘m