The University of Sheffield
Department of Computer Science

Stephen McCurry Undergraduate Dissertation 2000/01

"Java Spaces: A Critical Analysis of Concepts & Techniques"

Supervised by G.Manson

Abstract

The future of computing is highly distributed and increasingly mobile. At the same time the number of heterogeneous computer platforms is growing, due to the increasing prevalence of PDAs and mobile computing. These facts combine to cause increasing difficulties in designing and implementing distributed applications. Software tools and frameworks are required that abstract way the complexities of distributed computing, even in the most heterogeneous computing environments.

Javaspaces have been created with this aim in mind. They transparently overcome the major problems of distributed computing, including latency, synchronization and partial failure, by providing asynchronous communication between remote processes. Furthermore, Javaspaces can be implemented across the plethora of platforms on which the Java programming language can run.

The usage of tools such as Javaspaces will grow because of their suitability to modern day computing applications. It is of interest to know exactly how the Javaspace works and what limitations it has. In order to answer these questions a research project was undertaken to examine the functionality provided by Javaspaces and to investigate the limitations of the technology and the computing model it promotes.

The projects approach was to create a series of software tools which attempted to investigate different aspects of Javaspace functionality, or which examined potential improvements.