home *** CD-ROM | disk | FTP | other *** search
- 394 vn/179 vn/179.a
- 1c1
- < From std-unix-request@uunet.uu.net Thu Oct 4 07:46:00 1990
- ---
- > From jsq@cs.utexas.edu Thu Oct 4 10:44:57 1990
- 3,4c3,4
- < id AA15203; Thu, 4 Oct 90 07:46:00 -0400
- < Posted-Date: 4 Oct 90 11:35:31 GMT
- ---
- > id AA28247; Thu, 4 Oct 90 10:44:57 -0400
- > Posted-Date: 3 Oct 90 16:45:24 GMT
- 6,14c6,16
- < From: root@cass (cass System Administrator)
- < Newsgroups: world
- < Subject: cancel <1990Sep29.121015.27562@cass>
- < Message-Id: <1990Oct4.113531.7949@cass>
- < References: <1990Sep29.121015.27562@cass>
- < Control: cancel <1990Sep29.121015.27562@cass>
- < Organization: Bull HN, USIS/ISPT - Advanced Technologies for Business Systems.
- < Date: 4 Oct 90 11:35:31 GMT
- < Apparently-To: std-unix-archive@uunet.uu.net
- ---
- > From: rcs@sei.cmu.edu (Robert Seacord)
- > Newsgroups: comp.std.unix
- > Subject: User Interface Management Systems and Application Portability
- > Keywords: UIMS, P1201
- > Message-Id: <13180@cs.utexas.edu>
- > Sender: jsq@cs.utexas.edu
- > Reply-To: rcs@sei.cmu.edu (Robert Seacord)
- > Organization: The Software Engineering Institute
- > X-Submissions: std-unix@uunet.uu.net
- > Date: 3 Oct 90 16:45:24 GMT
- > To: std-unix@uunet.uu.net
- 16c18,314
- < This article was probably generated by a buggy news reader.
- ---
- > Submitted-by: rcs@sei.cmu.edu (Robert Seacord)
- >
- > the following article appears in the standards column of the october issue
- > of ieee computer. i am posting it to this newsgroup with permission from
- > the ieee.
- >
- > rCs
- > ______________________________________________________________
- > User Interface Management Systems and Application Portability
- >
- > by
- >
- > Robert C. Seacord
- > Member of the Technical Staff
- > Software Engineering Institute
- >
- > Higher level programming languages and standard operating systems now
- > provide greater portability of application software than previously possible.
- > Software developed in C for Unix, for example, can be easily ported to a
- > variety of different architectures and machines. Developing language and
- > operating system standards such as ANSI C and IEEE POSIX will further
- > application portability. At a quick glance it appears as though open systems
- > are finally becoming a reality, but are they really?
- >
- > As porting software to different architectures becomes more and more a
- > matter of simply recompiling the software for that architecture, it is
- > apparent that a serious problem in portability is with the user interface of
- > these systems. Now, more than ever, when a customer buys a computer platform
- > they are also buying a "look and feel" associated with that system. When
- > using an Apple Macintosh, for example, the user expects to be able to perform
- > a variety of actions using a single button mouse. When working with an MS DOS
- > application, the user expects to be able to perform the same actions using the
- > keyboard. When running OpenLook, Motif, or NeXTStep the user expects the
- > application to provide a defined look and feel. Porting an application to
- > simply run on a different platform is insufficient; there is a requirement for
- > the application interface to behave in a similar fashion to other applications
- > developed for that environment.
- >
- > Software designs are usually not extensible enough to allow the integration
- > of different user interface toolkits, particularly if these toolkits employ
- > significantly different models in their application interfaces. Changing
- > toolkits or integrating new toolkits usually requires major modification to
- > the application, which then requires extensive re-testing of the application.
- >
- > Current standards activities are just beginning to address these problems.
- > To date, standards bodies have attempted to define an abstract user interface
- > toolkit that can be implemented in different ways. Where this approach
- > provides some degree of device independence it does not allow for the removal
- > of stylistic concerns from the application. For example, where one user
- > interface style guide may call for a pull-down menu, another may call for a
- > command line interface.
- >
- > One approach for addressing the problem of application portability across
- > multiple look and feel platforms is the definition and implementation of a
- > method for separating the application from the user interface. This
- > separation makes changing the user interface of the system practical. It also
- > makes it possible to change user interface toolkits without modifying the
- > application software.
- >
- > User Interface Management Systems
- >
- > The term user interface management system (UIMS) was first coined at a 1982
- > Workshop on Graphical Input Interaction Technique (GIIT) [17]. UIMSs are,
- > among other things, intended to encourage the separation of a software system
- > into an application portion and a user interface portion. The application
- > portion of a system implements the core functionality, while the user
- > interface portion implements the user interface dialogue.
- >
- > UIMSs provide facilities for defining both presentation and the
- > computer-human dialogue components of a user interface. A UIMS also may
- > provide facilities to support prototyping, encourage a design that allows for
- > easy modification of the user interface, support implementation and
- > maintenance of the user interface, and allow for the evolutionary
- > incorporation of new user interface technologies.
- >
- > Most UIMSs are based on the Seeheim architecture [7] (see Figure 1). This
- > architecture uses a layered approach similar to the one used in International
- > Standards Organization (ISO) Open Systems Interconnection (OSI) standard. The
- > architecture is intended to encourage the separation of functionality between
- > the application and the user interface portions of a software system. The
- > three different layers of the architecture provide differing levels of control
- > over user input and system output.
- >
- > Application Layer
- >
- > Dialogue Layer
- >
- > Presentation Layer
- >
- > Figure 1: UIMS Architecture
- >
- > The application layer consists of the core functionality of the application
- > that can be described in a presentation independent manner. For example, in a
- > calculator program this would include the underlying math subroutines library.
- >
- > The dialogue layer specifies the presentation dependent portion of an
- > application system including the dynamic behavior of the user interface. The
- > dialogue should allow the display and removal of interaction objects without
- > application involvement and support cascading menus, direct manipulation, and
- > other user interface sytles and techniques. The dialogue provides the mapping
- > between the presentation and application layers. The user interface dialogue
- > may be specified using a user interface definition language (UIDL) or by an
- > interactive technique.
- >
- > The presentation layer controls the end-user interactions and generates
- > low-level feedback. The presentation layer consists of a collection of
- > interaction objects defined for a given user interface technology.
- >
- > Existing Approaches
- >
- > Since the 1982 GIIT Workshop, there have been a number of efforts to build
- > UIMSs that achieve the goal of separation of concerns, while remaining a
- > practical approach to software development. These systems have been
- > classified by the model used in dialogue specification. Some of the more
- > successful approaches have been: event-driven, declarative, object-oriented,
- > data-driven, and interactive layout systems.
- >
- > In the event-driven approach, inputs are considered as events which are
- > immediately handled by event handlers. Event handlers can cause output
- > events, change the internal state of the system, and call application
- > routines. Examples of event-driven systems include the University of Alberta
- > UIMS [6], ALGAE [5], Sassafras [9], and the TeleUSE UIMS [16].
- >
- > Another approach is the use of declarative languages in which constraints
- > are defined in order to specify what the system should do rather than specify
- > how it should be done. An example of a system that takes this approach is
- > Cousin [8]. In this category, there is a class of systems which automatically
- > generate the user interface based on a definition of the semantic commands
- > supported by the application. Examples are the UofA* UIMS [12] and MIKE [10].
- >
- > An object-oriented approach uses objects for defining user interactions,
- > transforming data and interacting with the application. A good example of a
- > commercially available system that uses an object-oriented approach is Open
- > Dialogue [1] developed by Apollo Computer.
- >
- > In the data-driven approach, the application communicates with the UIMS in
- > terms of shared data elements. The UIMS behaves like an active database in
- > that it provides a mapping between application data and user interface toolkit
- > objects, and notifies the application of changes to application data resulting
- > from user interactions. This approach was implemented in the Serpent UIMS
- > [2] developed at the Software Engineering Institute at Carnegie Mellon
- > University and the George Washington UIMS [11].
- >
- > Interactive layout systems allow the user to build user interface by direct
- > manipulation. Examples are Menulay [3], DialogEditor [4], vu [13], and TAE+
- > [15].
- >
- > UIMS Study Group
- >
- > The IEEE P1201 working group was formed in January of 1989 and chartered to
- > develop standards that would further application and user portability in the X
- > Windows Environment [14]. Since P1201 was formed, Open Software Foundation
- > (OSF), Sun and AT&T have independently developed toolkits for X Windows. Much
- > of the P1201 effort has been spent trying to decide if any of these toolkits
- > can serve as a basis for a standard or if a "virtual" toolkit approach can be
- > used.
- >
- > In August of 1989, a UIMS study group was begun in P1201 to determine if
- > UIMS technology was sufficiently advanced to solve the problem of application
- > portability across multiple look and feel platforms and to define the scope of
- > a UIMS standard.
- >
- > The group identified two components where standardization would be
- > beneficial to the industry. The first of these is an application programmers
- > interface (API) that would:
- >
- > 1. Provide a standard application programmers interface across changes
- > in the underlying toolkit.
- >
- > 2. Support the separation of an application into presentation
- > independent and presentation dependent layers corresponding to the
- > application, dialogue, and presentation layers of the Seeheim
- > architecture.
- >
- > 3. Allow the development of applications that are presentation
- > independent (i.e., the underlying windowing system or user
- > interface toolkit).
- >
- > The second component is a UIMS interchange format (UIF). The purpose of a
- > standard UIF is:
- >
- > 1. To enable a wide variety of UIMSs to use a single format to store
- > and exchange their data.
- >
- > 2. To allow vendors to develop compilers or interpreters that could
- > "execute" the UIF on their platforms in a manner analogous to
- > postscript printers.
- >
- > The P1201 UIMS study group has evaluated a number of user interface
- > management systems including Serpent, TeleUSE, and TAE+. The concensus of the
- > group is that the state of the practice is sufficiently advanced to warrant a
- > standards effort. It is believed that a UIMS standard would enhance both
- > application portability and the state of the practice in user interface
- > development.
- >
- > REFERENCES
- >
- >
- > [1] Apollo Inc.
- > Open Dialogue: Designing Portable, Extensible User Interfaces.
- > 1987
- >
- >
- > [2] Bass, L.J., et al.
- > Serpent: A User Interface Environment.
- > In Proceedings, Winter 1990 USENIX Technical Conference. Washington,
- > D.C., January, 1990.
- >
- >
- > [3] Buxton, W., Lamb, M.R., Sherman D., Smith, K.C.
- > Towards a Comprehensive User Interface Management System.
- > In Computer Graphics: SIGGRAPH'83 Conference Proceedings, pages 35-42.
- > Detroit, MI., July, 1987.
- >
- >
- > [4] Cardelli, L.
- > Building User Interfaces By Direct Manipulation.
- > In Proceedings, ACM SIGGRAPH Symposium on User Interface Software, pages
- > 152-166. ACM, New York, NY, 1988.
- >
- >
- > [5] Flecchia, M.A. and Bergeron, R.D.
- > Specifying Complex Dialogs in ALGAE.
- > In Proceedings SIGCHI+GI'87: Human Factors in Computing Systems, pages
- > 229-234. Toronto, Ont., Canada, April, 1987.
- >
- >
- > [6] Green, M.
- > A Survey of Three Dialogue Models.
- > ACM Transactions on Graphics 5(3):244-275, July, 1986.
- >
- >
- > [7] Green, M.
- > Report on Dialogue Specification Tools.
- > User Interface Management Systems :9-20, 1985.
- >
- >
- > [8] Hayes, P.J., Szekely, P.A., Lerner, R.A.
- > Design Alternatives for User Interface Management Systems Based on
- > Experience with COUSIN.
- > In Proceedings SIGCHI'85: Human Factors in Computing Systems, pages
- > 169-175. San Francisco, CA, April, 1985.
- >
- >
- > [9] Hill, R.D.
- > Event-Response Systems -- A Technique for Specifying Multi-Threaded
- > Dialogues.
- > In Proceedings SIGCHI+GI'87: Human Factors in Computing Systems, pages
- > 241-248. Toronto, Ont., Canada, April, 1987.
- >
- >
- > [10] Olsen, D.R.
- > The Menu Interaction Kontrol Environment.
- > ACM Transactions on Graphics 5(3):318-344, 1986.
- >
- >
- > [11] Sibert, J.L.
- > An Object-Oriented User Interface Management System.
- > In Computer Graphics: SIGGRAPH'86 Conference Proceedings, pages 259-268.
- > Dallas, Texas, August, 1986.
- >
- >
- > [12] Singh, G. and Green. M.
- > A High Level User Interface Management System.
- > In Proceedings SIGCHI'89: Human Factors in Computing Systems, pages
- > 133-138. ACM, New York, NY, 1989.
- >
- >
- > [13] Singh, G. and Green. M.
- > Designing the Interface Designer's Interface.
- > In Proceedings, ACM SIGGRAPH Symposium on User Interface Software, pages
- > 109-116. ACM, New York, NY, 1988.
- >
- >
- > [14] Mehta, S.
- > User Interfaces and the IEEE P1201 Committee.
- > Unix Review 8(1):14-20, January, 1990.
- >
- >
- > [15] Szczur, L. and Miller, P.
- > Transportable Applications Enviroment (TAE)+: Experiences in
- > Objectively Modernizing a User Interface Environment.
- > In OOPSLA'88 Conference Proceedings, pages 58-70. San Diego, CA,
- > November, 1988.
- >
- >
- > [16] TeleLOGIC.
- > TeleUSE Reference Manual.
- > 1989
- >
- >
- > [17] Thomas, J.J. and Hamlin, G.
- > Graphical Input Interaction Technique (GIIT) Workshop Summary.
- > Computer Graphics 17(1):5-30, January, 1983.
- >
- >
- > Volume-Number: Volume 21, Number 179
-