A single-layer implementation tends to be monolithic and restricted. Therefore, the goal of this project is to investigate how collaboration functionality may be partitioned among the various layers of a programming environment - in particular the Java programming environment, which is well suited for wide-area collaboration. This project will extend the Java object layer with the abstraction of distributed shared, migratory, & replicated objects, the window layer with shared windows, and the toolkit layer with shared widgets. Java currently does not have a UIMS layer, which plays an important role in collaboration support. Therefore, this project will also develop such a layer for Java based on the Suite UIMS, and implement a collaborative UIMS layer on top of the shared widget layer. Each layer will be designed to provide mechanisms that are used by policies defined in higher-level layers.
This project will give you experience with distributed objects and the Java programming environment. It will build on an initial shared object framework built by Sid Chaterjee, a shared widget layer built by Prof. Abdel Wahab, and other Java-based collaboration projects. For more information, contact Prasun Dewan, Kevin Jeffay, Huessein Abdel-Wahab, or Sid Chatterjee.