It is well known that there is no single optimal, universal user interface (UI) paradigm that can accommodate all the tasks a computer generated forces (CGF) user might be expected to perform. Plan view displays and buttons on two dimensional graphical user interfaces are common UIs for many CGF systems. However, other CGF users may require more diverse UIs such as three dimensional views, text message sending and receipt capabilities, and verbal interactions with the system. An abstract UI model can be used to provide flexible multi-modal support for various UI paradigms. It also isolates the interaction mode from the remainder of the system and thus contributes to system modularity and composability. Both of these abstract UI features are needed for future CGF systems that must satisfy multiple user needs.
The authors have investigated the usefulness of the abstract UI concept by developing an entity-based CGF system that uses an abstract UI to support a combination of graphical, textual and voice/speech synthesis UIs concurrently. Through the abstract UI, the most appropriate of the three UI paradigms for any given task can be selected. The abstraction was achieved by the use of a UI framework that supports all the user interactions within the CGF infrastructure. Specific UI classes were derived from the base abstract UI class using inheritance. Methods of the appropriate derived UI classes were invoked through polymorphism. Through the use of inheritance and polymorphism, the CGF infrastructure has a consistent view of the abstract UI component.
To further abstract the UI component, all user interface communications were carried out via a series of messages. Using this implementation of the Command Pattern, we were able to extend the functionality of one of the interface paradigms without affecting the implementation of the others. This allows for added flexibility of the user interactions and the construction of paradigm specific interactions.
This paper covers the development of the abstract UI. It discusses the base and derived UI classes and describes the use of messages. The benefits and limitations of this approach are presented as a foundation for future work.