Relational views as a model for automatic distributed implementation of multi-user applications

Multi-user applications support multiple users performing a related task in a distributed context. This paper describes Weasel, a system for implementing multi-user applications. Weasel is based on the relational view model, in which user interfaces are specified as relations between program data structures and views on a display. These relations are specified in RVL, a high-level, declarative language. Under this model, an application program and a set of RVL specifications are used to generate a multi-user application in which all issues of network communication, concurrency, synchronization, and view customization are handled automatically. These programs have a scalable distribution property, where adding new participants to a session does not greatly degrade over-all system performance. Weasel has been implemented, and was used to generate all examples in this paper. CR Categories: D.2.2 (Software Tools and Techniques for User Interfaces); D.1.1 (Applicative Programming); D.3.4 (Compilers and Runtime Environments) General Terms: Human Factors, Languages Additional

[1]  Deborah Hix,et al.  Human-computer interface development: concepts and systems for its management , 1989, CSUR.

[2]  Brad A. Myers Ideas from Garnet for future user interface programming languages , 1992 .

[3]  Simon L. Peyton Jones,et al.  High-Performance parallel graph reduction , 1989, PARLE.

[4]  J. C. Lauwers,et al.  Replicated architectures for shared window systems: a critique , 1990, COCS '90.

[5]  T. C. Nicholas Graham,et al.  GVL: Visual specification of graphical output , 1992, J. Vis. Lang. Comput..

[6]  Steven L. Rohall,et al.  Rendezvous: an architecture for synchronous multi-user applications , 1990, CSCW '90.

[7]  Brad A. Myers,et al.  The importance of pointer variables in constraint models , 1991, UIST '91.

[8]  Alain Karsenty,et al.  Transparency and awareness in a real-time groupware system , 1992, UIST '92.

[9]  Ralph D. Hill The abstraction-link-view paradigm: using constraints to connect user interfaces to applications , 1992, CHI '92.

[10]  Daniel G. Bobrow,et al.  Integrating Access-Oriented Programming into a Multiparadigm Environment , 1986, IEEE Software.

[11]  Prasun Dewan,et al.  A high-level and flexible framework for implementing multiuser user interfaces , 1992, TOIS.

[12]  Ronald M. Baecker,et al.  Readings in Groupware and Computer-Supported Cooperative Work: Assisting Human-Human Collaboration , 1992 .

[13]  James R. Cordy,et al.  Conceptual views of data structures as a model of output in programming languages , 1989, [1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume II: Software Track.

[14]  Prasun Dewan,et al.  Primitives for programming multi-user interfaces , 1991, UIST '91.

[15]  Keith A. Lantz,et al.  Collaboration awareness in support of collaboration transparency: requirements for the next generation of shared window systems , 1990, CHI '90.

[16]  John F. Patterson,et al.  Comparing the programming demands of single-user and multi-user applications , 1991, UIST '91.

[17]  Roger B. Dannenberg,et al.  Garnet: comprehensive support for graphical, highly interactive user interfaces , 1990, Computer.

[18]  James Gettys,et al.  The X window system , 1990 .

[19]  Harry C. Forsdick,et al.  MMConf: an infrastructure for building shared multimedia applications , 1990, CSCW '90.

[20]  Hussein M. Abdel-Wahab,et al.  Accommodating latecomers in shared window systems , 1993, Computer.

[21]  Daniel G. Bobrow,et al.  Beyond the chalkboard: computer support for collaboration and problem solving in meetings , 1988, CACM.

[22]  Satoshi Matsuoka,et al.  A general framework for Bi-directional translation between abstract and pictorial data , 1991, UIST '91.

[23]  Richard C. Holt,et al.  The Turing programming language , 1988, CACM.

[24]  Richard N. Taylor,et al.  Separations of concerns in the Chiron-1 user interface development and management system , 1993, INTERCHI.

[25]  Ralph D. Hill Languages for the construction of multi-user multi-media synchronous (MUMMS) applications , 1992 .

[26]  Clarence A. Ellis,et al.  Groupware: some issues and experiences , 1991, CACM.

[27]  Brad A. Myers,et al.  Languages for developing user interfaces , 1992 .