home *** CD-ROM | disk | FTP | other *** search
- 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
-
-