Work at York on distributed tuple spaces has been focused in two areas: theory and applications. Our theoretical studies have shown up significant semantic problems in some of the derivative Linda primitives (the so-called 'predicate' or non-blocking versions of in and rd). We developed a new primitive to replace the predicated versions which appears to encapsulate just sufficient global information (the reason for the perceived need for the predicate operations) without the previous semantic problems. The application of this primitive, collect, is being studied as part of an EPSRC project, and has a straightforward implementation model for both local and distributed tuple spaces. The current Linda application studies at York are in Security in Linda (introduction of access permissions to tuple spaces), Garbage Collection of tuple-spaces, Distributed I/O via tuple spaces, and Transactions in Linda, but previous work has investigated Image Processing, tuple space in Neural Networks, and declarative language implementation (parallel graph reduction), with new work about to start in the area of Coordination on the Web.
A long-term goal in our research is the development of novel architectures to support the tuple-space model. The associative nature of tuple spaces gives some insight into the style of machine architecture likely to be of interest ... optical or neural network components are both possibilities. However, in the short to medium term we are concentrating on developing a better understanding of the properties of the model in order to guide the longer term studies. To achieve this we are applying distributed tuple-spaces in several areas in order to investigate the primitive architectural functions that would be required in practice.