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.