next up previous
Next: B. Project Description Up: No Title Previous: Section III. Detailed

A. Statement of Work

In this project, we will address the problem of composing new collaborative systems from existing single-user and collaborative systems. We propose to develop a new software abstraction, called the collaboration bus, that makes it easy to compose collaborative systems. The collaboration bus will be an extensible infrastructure that provides general definitions of collaboration services, default implementations of these services, rules for interconnecting these services, and mechanisms for extending the set of supported services.

We will perform the following specific tasks to meet this goal. Many of these tasks will be carried out in parallel by different members of our team.

Choose Data Model: While we do not propose to develop new techniques for allowing interoperating agents to share a common data format, our bus must be based on a data model. We currently propose to use the Java data model. While Java does not currently address interoperability, there is work underway to make it compliant to the CORBA object-based interoperability framework. Moreover, we expect the techniques we develop to be easily implemented into any interoperable object-based model. This task will be complete once we have a data model powerful enough to define all of the collaboration types we design.

Develop User-Interface Model: The Java programming environment provides a model for attaching user-interface abstractions such as scrollbars, buttons, forms, text editors, and sliders to Java objects. We will extend this model to attach audio, video, and VE-based user interfaces to semantic objects, and allow interoperability between different user interfaces to the same semantic object. This work will be complete when we can accommodate and interoperate the user interfaces of our demonstrational multimedia and VE applications.

Develop Coupling Model: The coupling model will allow different users to participate in sessions and share semantic and data objects in a secure and consistent fashion. This task will be complete when we can perform all of the couplings required by the demonstration experiments given below.

Develop Real-Time Model: The model will perform network and OS scheduling to ensure the real-time coupling requirements of multimedia and VE environments are met. This work will be complete when we can meet the real-time needs of our demonstrational applications.

Develop Replication/Migration Model: This model will dynamically replicate/migrate portions of the bus and clients near the sites of users accessing them. This work will be complete when we can establish that the bus is not a central bottleneck and does not have a significant effect on the response times of the users.

Study and Adapt CORBA Access Control Model: This model will protect operations on the bus (as opposed to operations on the applications interfaced by the bus). Recently, an access control model has been developed for protecting operations on CORBA objects. We will study this model and adapt it to the collaboration types provided by the collaboration bus. This work will be complete when we have built a mechanism for protecting operations on all of the new collaboration types defined by the bus.

Interfacing techniques: We will identify techniques for interfacing existing software to the bus. In general, we will need to change interfacing software to invoke bus functions. However, when it is not possible to do so, special interfacing agents may be needed to connect the input/output channels of the software to the bus.

Interconnection Experiments: We will conduct several experiments (given in the next section) to demonstrate and evaluate the interconnection capabilities of the bus. This work will be complete when we can demonstrate inter-service interoperability among the data, user-interface, coupling, real-time, and replication/migration models and intra-service coupling interoperability for three different coupling systems: XTV, Suite, Shared X.

Evaluation: We will evaluate the collaboration bus by determining the range of tools it can interoperate, the amount of effort required to connect a tool to the bus, and performance overhead of using the bus.

Videos and Reports: These will document our design, implementation, and evaluation.



next up previous
Next: B. Project Description Up: No Title Previous: Section III. Detailed



Prasun Dewan
Thu Sep 12 19:30:03 EDT 1996