Collaboration Bus Topics

Here is a first-cut decomposition of the bus project. The first set of topics corresponds to the set of services we wish to intereoperate through the bus, while the second set specifically with the nature of the bus software. For each of these services, we need a ``reference'' model of that service to which an actual implementation that wishes to interoperate can be mapped; and translations among heterogenous implementations of that service. We will not be able to do in-depth work on all services - the ones we focus on depend on what we promised, the kind of applications we interoperate, and the interests of the project researchers. The promised services have * next to them.

First-Level Services

These is the top-level, service-based decomposition of interoperable systems.

  • Single-User Computing (Data/UI)*

    What are the components of single-user application, that is, what are the components responsible for gathering input, computing results, and displaying results to a particular user? How are the semantics (data model) and user-interfaces (UI model) defined?

  • Coupling/Merging*

    How are the single-user components replicated in a collaborative session, what is the coupling among these replicas/versions, and how are divergent replicas merged?

  • Awareness

    How are users made aware of the (possibly uncoupled) actions of others? Even though this was not promised, we can expect most of the applications we decide to interoperate to have some support for awareness. In particular, if we interoperate with MUDs.

  • Undo

    How do users undo and redo previous actions?

  • Concurrency Control*

    How are concurrent users prevented from taking inconsistent actions?

  • Access Control

    How are users prevented from taking unauthorized actions?

  • Process Control

    What kind of support is provided to follow legal processes and prevent illegal ones? Related to coupling, concurrency control, and access control. Examples: Software processes systems and workflow systems.

  • Session Management*

    How do users gather in a collaborative session?

    Second-Level Services

  • Window Management*

    Subclass of single-user computations that use a window system to interact with the user. We will probably focus only on the X window system.

  • Widget Management*

    Subclass of single-user computations that use a user-interface toolkit to interact with the user. We will probably focus only on the Java toolkit.

  • Document Management*

    Subclass of single-user computations that are document managers.

  • HTML Documents

    Subclass of document managers that support html documents.

  • HTML Browsers

    Subclass of HTML managers that qualify as HTML browsers. We will probably focus only on Netscape browsers.

  • Virtual Reality*

    Subclass of single-user computations that support virtual reality.

  • Adaptive Real-Time Services*

    Subclass of coupling services that support real-time coupling by possibly adapting the coupling semantics to the network load.

    Bus Software

  • Bus Interfaces*

    How do interoperating systems interface with the bus?

  • Bus Security*

    How do we prevent unauthorized interoperations through the bus?

  • Bus Architecture*

    Replication and migration of the bus components.