A simple implementation of a Linda-like Tuple Space.

See:
          Description

Packages
net.sf.tuplespace Abstract specification of a TupleSpace.
net.sf.tuplespace.simple  
net.sf.tuplespace.utils Various utilities facilitating work with TupleSpace.

 

A simple implementation of a Linda-like Tuple Space.

This implementation has the same goals as LighTS: lightweight, extensible, fast. The problem with LighTS is that is seems to be dead, has no source code, and certainly doesn't have any tests. So, another implementation that is properly licensed, includes source code and tests has a better chance at being the TupleSpace of choice for the Open-Source Community.

Implementation

LighTS decided to use java serialization to make deep copies of objects stored in the space. This implementation does not use object serialization. Objects stored in the space are simple references. This means that objects added to the space do not need to implement Serializable or Externalizable.

This also means that objects put in the space are not protected. Since they are live references, users of TupleSpace can keep references to Tuple that they have already put in the space.

This issue is real, but careful coding and code auditing should prevent problems from occuring.