A specification paradigm for design and implementation of non-wimp human-computer interactions
Robert J.K Jacob, Stephen A. Morrison · 1998
Most current user interface specification languages and toolkits are based on serial, discrete, token exchange paradigms which, in general, perform an acceptable job of implementing traditional WIMP (Window, Icon, Menu, Pointer) interfaces. These tools, however, are ill suited to address the needs of emerging interaction styles such as virtual environments. These interaction styles commonly rely upon: full duplex, asynchronous, interrelated dialogues; a blend of continuous and discrete inputs and responses, and, implicit commands and probabilistic input events. Some forms of non-WIMP interactions must also contend with real time processing constraints and deadline-based computations. This work proposes a specification paradigm, the SHADOW System, which provides a framework of techniques and abstractions which directly addresses these issues. This system has been demonstrated to allow both the semantic meaning and behavior of all interface elements to be clearly defined in a reusable fashion while providing support for software engineering practices such as modular design, complexity management, extensibility and traceability. Additionally, the system addresses issues of performance, portability, and maintainability, providing mechanisms which allow run time performance criteria and deadline contingency plans to be specified in a manner which is easily discernible and platform independent. The SHADOW System provides a graphical specification language consisting of data flow graphs and augmented transition networks. This language is highly declarative in nature, supports loosely coupled, modular design and relies upon a run time engine to resolve constraints and to manage conceptually parallel tasks within uni-processing environments. The run time engine provides the infrastructure which allows the interface designer to address conceptual and semantic issues of design without becoming entangled in the details of the implementation. Additionally, the engine provides facilities which automatically adjust processing loads to meet designer specified performance criteria should CPU processing time consumption become a problem. This work details the proposed system as well as providing examples and analysis of several applications developed within the specification paradigm, providing a guide to the workings, features and limitations of the SHADOW System and its ability to meet the emerging needs of interface designers.