This paper presents a new approach to the design of an easy-to-use and flexible user-interface management system (UIMS). We identify two major problems for UIMSs. The first problem is to find a way to make the UIMS easier to use without sacrificing important functionality. A new design concept, behaviour abstraction, is described which allows important gains in ease-of-use, while retaining the kind of flexibility needed by user-interface designers. The second problem is to provide a user-interface design tool that allows easy and flexible runtime configuration. A traditional notation, the data-flow diagram, proves to be an adequate and appropriate organising principle for the design of the runtime connection between a user-interface module and application modules. An implementation, called the graphical specification system (GSS), provides an integrated environment for designing the user-interface component of interactive embedded system software. GSS provides two tools; an application display generator (ADG) for designing screen objects and a data-flow editor (DFE) for specifying runtime connections. The ADG uses behaviour abstraction in a what-you-see-is-what-you-get (WYSIWYG) drawing environment. The designer can easily create arbitrary graphical presentations and assign behavioural roles for these presentations to build functional user-interface objects. In the DFE, the designer can specify sources, transformations and destinations of data by selecting user-interface objects designed in ADG, attaching functions to internal nodes or using special intermodule connection icons called ports. The DFE allows a limited programming capability through the diagrams to accommodate the needs of an evolving user interface. GSS demonstrates the smooth integration of a drawing environment for display design and a data-flow editor for runtime specification. The specifications can be executed for testing during the design process and saved for stand-alone execution. Our results provide a platform for future work in extending the behaviour abstraction concept and for building in usability engineering tools.
Read full abstract