next up previous
Next: F. Previous Accomplishments Up: No Title Previous: Evaluation

E. Comparison with Other Ongoing Research

There has recently been significant research in the area of collaboration systems, which has resulted in two kinds of systems: collaborative applications and collaborative tools. The former are special software systems that allow multiple users to share application-specific state. The latter are general purpose systems providing reusable implementations of various collaboration functions.

The collaborative applications include CES (Collaborative Editing System), [ Greif POPL ] which allows distributed users to edit a document; the RTCAL appointment system, [ Greif Sarin ] which allows users to collaboratively schedule a meeting time; the Colab applications, [ stefik beyond ] which include an electronic chalkboard and a brainstorming tool; IBIS, [ Conklin Issue-Based ] which supports group decision making by explicitly supporting the notions of issues, positions, and arguments; Information Lens, [ Malone Intelligent ] which allows users to filter mail messages; the Coordinator, [ Flores Winograd Organizational ] which is based on the speech-act theory of collaboration; [ Flores Winograd Organizational ] the GROVE group editor, [ Ellis CACM ] which allows collaborative, protected editing of a structured outline; the Mercury program development environment, [ Kaiser Kaplan ] which automatically notifies a user editing a module about inconsistent changes made by other users to related modules; Scrutiny [ Scrutiny Inspection ] and ICICLE, [ ICICLE ] which allow a team of software engineers to synchronously inspect a document; FLECSE (FLexible Environment for Collaborative Software Engineering), [ Dewan Riedl ] which includes a collaborative debugger, testing tool, inspection tool, and program editor; the PREP coauthoring system, [ Morris Neuwirth Issues ] [ Morris Neuwirth Flexible ] which allows users to add text and audio annotations in multiple columns and offers a flexible algorithm for detecting the differences among different versions of a document; GroupSketch [ Greenberg Drawing ] and Tivoli, [ Tivoli ] which allow users to sketch unstructured drawings using conventional workstations and Liveboards, [ Liveboard ] respectively; GroupDraw, [ Greenberg Drawing ] Ensemble [ Wolfe Ensemble ] and GroupDesign, [ Michel Computing Systems ] which allow users to collaboratively compose structured drawings; the Chronicle spreadsheet, [ Greif Spreadsheet ] which allows users to share named ranges; the MUD [ Curtis ] and DIVE systems, [ Shared Synthetic Space ] which provide textual and graphical facilities, respectively, to support casual interaction among users; and Video Walls [ Abel ] and Shared Awareness Space, [ Dourish Bly ] which provide video connections between different rooms/offices.

The collaboartive tools include the XTV, [ Wahab XTV ] Rapport, [ Rapport Overview ] MMConf, [ MMConf Infrastructure ] Dialogo, [ Lantz Awareness ] and ABC [ Jeffay Smith CSCW ] shared window systems, which allow a window to be shared by multiple users; the LIZA, [ Gibbs LIZA ] GroupKit, [ Roseman Greenberg Groupkit ] and WeMet [ Rhyne ] toolkits, which provide a library of sharing classes; the DCS system, [ Wolfe DCS Overview ] which provides support for some generic conferencing features such as discussion windows and access control; the DistEdit system, [ Prakash Computing Systems ] which allows a group editor to be composed of multiple, existing single-user editors; the MATE system, [ Wolfe DCS Overview ] which is a multiuser terminal emulator, the Conversation Builder, [ Kaplan CSCW ] which supports the speech-act theory of collaboration, [ Flores Winograd Organizational ] the Rendezvous, [ Rendezvous Architecture Patterson ] GINA, [ Berlage ] and Suite [ Dewan Framework Transactions ] user interface management systems (UIMS), which allow sharing of user-interface abstractions higher-level than windows; and audio servers such as SuiteSound [ Riedl SuiteSound Knowledge Transactions ] and the system by Angebarnndt et al, [ Angebarnndt ] which provide audio support for multiuser applications.

The main difference betweem our proposed work and these systems is that we propose to address the creation of new collaborative systems by integrating existing systems rather than develop them from scratch. We will use the features in these systems to guide our design of the bus.

The general problem of integrating software systems is not new - this is the classical problem of heterogeneous software systems. Specific instances of this problem have been addressed in programming languages, operating systems, database systems, and software engineering. We are exploring the instance that has arisen from the proliferation of multiuser software systems. By focusing on the characteristics of this specific class of software systems, we expect to identify novel high-level support for integrating members of this class. Nonetheless, we expect to find that existing tools for integrating heterogeneous software are also useful for our target class of systems, primarily because these systems include the properties of other kinds of heterogeneous systems.

Four main kinds of heterogeneity tools have been developed to integrate different kinds of software systems:

a) Heterogeneous hardware tools such as IDL, [ IDL Transactions ] Matchmaker, [ Matchmaker ] Sun XDR, and the Polylith software bus [ Purtilo software bus ] are designed to allow distributed programs, executing on different hardware platforms to communicate with each other.

b) Heterogeneous language tools such as Polygen [ Purtilo Callahan ] support communication between programs written in different programming languages, offering possibly programming paradigms such as the procedural and functional paradigms.

c) Message servers such as Field [ Reiss Field ] and YEAST [ Krishnamurthy Event ] [ Kaplan Flexible Active ] are designed to allow programs to communicate with each other without being aware of each other's identities. Field, in addition, defines a set of events cooperating software development applications would need to communicate among each other.

d) Heterogeneous database tools such as InterBase [ Elmagarmid Computer ] allow an application to access data from multiple databases. They define universal data models including the data models of existing relational systems and address the problem of composing local transactions on these data into global transactions.

We intend to explore how easily these tools can address these heterogeneity problems arising in multiuser systems. In particular, we intend to explore the use of existing (a) heterogeneous hardware tools to integrate multiuser systems that execute on different hardwares, (b) heterogeneous language tools to integrate systems that are based on different programming paradigms, and c) message servers to allow users to easily switch multiuser systems. We do not propose to directly explore the use of heterogeneous database tools,

store their persistent data in databases. However, we do expect to investigate if we can borrow techniques from these systems to address some of the analogous heterogeneity problems arising in multiuser systems. In particular, these systems have explored the problem of composing global concurrency control from autonomous heterogenous concurrency control mechanisms provided by interoperating data systems. We plan to etend this work by studying how global session management, sharing, and access control can be built from autonomous implementations of these functions provided by the interoperating functions.



next up previous
Next: F. Previous Accomplishments Up: No Title Previous: Evaluation



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