Chiron-1: a software architecture for user interface development, maintenance, and run-time support

The Chiron-1 user interface system demonstrates key techniques that enable a strict separation of an application from its user interface. These techniques include separating the control-flow aspects of the application and user interface: they are concurrent and may contain many threads. Chiron also separates windowing and look-and-feel issues from dialogue and abstract presentation decisions via mechanisms employing a client-server architecture. To separate application code from user interface code, user interface agents called artists are attached to instances of application abstract data types (ADTs). Operations on ADTs within the application implicitly trigger user interface activities within the artists. Multiple artists can be attached to ADTs, providing multiple views and alternative forms of access and manipulation by either a single user or by multiple users. Each artist and the application run in separate threads of control. Artists maintain the user interface by making remote calls to an abstract depiction hierarchy in the Chiron server, insulting the user interface code from the specifics of particular windowing systems and toolkits. The Chiron server and clients execute in separate processes. The client-server architecture also supports multilingual systems: mechanisms are demonstrated that support clients written in programming languages other than that of the server while nevertheless supporting object-oriented server concepts. The system has been used in several universities and research and development projects. It is available by anonymous ftp.

[1]  Ed Anson,et al.  The device model of interaction , 1982, SIGGRAPH.

[2]  Brad A. Myers INCENSE: A system for displaying data structures , 1983, SIGGRAPH.

[3]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[4]  G. E. Pfaff,et al.  User Interface Management Systems , 1985, Eurographic Seminars.

[5]  Kenneth M. Kahn Integrating Access Oriented Programming into a Multiparadigm , 1986 .

[6]  D. C. Luckham ANNA, a language for annotating Ada programs: reference manual , 1987 .

[7]  Richard N. Taylor,et al.  Software Environment Architectures and User Interface Facilities , 1988, IEEE Trans. Software Eng..

[8]  Mark A. Linton,et al.  Interviews: A C++ graphical interface toolkit , 1988 .

[9]  Jack C. Wileden,et al.  Pgraphite: an experiment in persistent typed object management , 1988, SDE 3.

[10]  Paul R. Calder,et al.  Composing user interfaces with InterViews , 1989, Computer.

[11]  Richard N. Taylor,et al.  Integrated concurrency analysis in a software development enviornment , 1989 .

[12]  Lawrence A. Rowe,et al.  The Picasso Application Framework , 1990 .

[13]  J.,et al.  Q : A Multi-lingual Interprocess Communications SystemforSoftware Environment , 1990 .

[14]  Steven P. Reiss,et al.  Connecting tools using message passing in the Field environment , 1990, IEEE Software.

[15]  Prasun Dewan,et al.  A tour of suite user interface software , 1990, UIST '90.

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

[17]  Charles Wiecha,et al.  ITS: a tool for rapidly developing interactive applications , 1990, TOIS.

[18]  Leon J. Osterweil,et al.  Q: A Multi-lingual Interprocess Communications System for Software Environment Implementation , 1990 .

[19]  Lawrence A. Rowe,et al.  The PICASSO applications framework , 1991, UIST '91.

[20]  Scott McKay,et al.  CLIM: the Common Lisp interface manager , 1991, CACM.

[21]  Marc H. Brown,et al.  Zeus: a system for algorithm animation and multi-view editing , 1991, Proceedings 1991 IEEE Workshop on Visual Languages.

[22]  Brad A. Myers Separating application code from toolkits: eliminating the spaghetti of call-backs , 1991, UIST '91.

[23]  Adrian Nye Xlib reference manual (3rd ed.) , 1992 .

[24]  Corporate,et al.  PEXlib reference manual , 1992 .

[25]  Samuel P. Harbison,et al.  Modula-3 , 1992 .

[26]  Martha R. Szczur Transportable Applications Environment (TAE) Plus user interface designer WorkBench , 1992, CHI '92.

[27]  D. Richardson,et al.  Developing and integrating ProDAG in the Arcadia environment , 1992, SDE 5.

[28]  Joseph P. Rotella,et al.  The AT&T display construction set user interface management system (UIMS) , 1992, CHI '92.

[29]  Ethan V. Munson,et al.  The Proteus presentation system , 1992 .

[30]  Lori A. Clarke,et al.  PLEIADES: an object management system for software engineering environments , 1993, SIGSOFT '93.

[31]  Ping Luo,et al.  Beyond interface builders: model-based interface tools , 1993, INTERCHI.

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

[33]  James D. Foley,et al.  A second generation user interface design environment: the model and the runtime architecture , 1993, INTERCHI.

[34]  Steven L. Rohall,et al.  The Rendezvous architecture and language for constructing multiuser applications , 1994, TCHI.

[35]  Debra J. Richardson,et al.  TAOS: Testing with Analysis and Oracle Support , 1994, ISSTA '94.