|Document Type:||Master's Thesis|
|Name:||Philip L. Isenhour|
|Title:||Sieve: A Java-Based Framework for Collaborative Component Composition|
|Degree:||Master of Science|
|Committee Chair:||Clifford A. Shaffer|
|Committee Members:||Marc Abrams|
|Keywords:||Computer-Supported Cooperative Work, Java|
|Date of defense:||February 11, 1998|
|Availability:||Release the entire work immediately worldwide.|
This thesis investigates the design objectives for a collaborative workspace based on Sun Microsystems' Java programming language and JavaBeans component architecture. The feasibility of a collaborative component workspace based on these objectives is demonstrated by Sieve, a Java-based framework for collaborative applications. Sieve allows multiple users to collaboratively add, edit, and connect components on a shared two-dimensional workspace.
Sieve introduces a technique that leverages standard JavaBeans mechanisms to support use of ``collaboration-unaware'' software components. With this technique, components need only conform to basic JavaBeans conventions in order to be shared across collaborating sessions -- they need not be programmed specifically for collaboration. Sieve also allows component developers to provide custom mechanisms for sharing components. Sieve is extensible in other ways, allowing developers to introduce new mechanisms for creating, displaying, editing, and connecting components.
Three collaborative applications built on this framework are presented: a visualization environment, a circuit simulation, and a set of tools for composing arbitrary software components. The visualization environment allows construction of dataflow networks from an extensible set of modules. Modules may read data from a variety of sources, filter and transform the data in various ways, and generate visualizations. The circuit simulation allows users to collaboratively construct and analyze simple direct-current circuits. Finally, the ``BeanBox Emulation'' application reproduces the basic component-linking functionality of Sun's BeanBox builder tool. With this application, users may collaboratively edit and link objects that conform to standard JavaBeans conventions.
List of Attached Files