A generative taxonomy of application domains based on interaction semantics
W. David Hurley · 1989
User interface designers need tools that actively encourage good user interface design, provide sophisticated software development support, and are easy to learn and use. Three goals for the next generation of user interface tools are helping designers to separate user interface from application, enhancing software reuse, and generating run-time user interface software from high-level specifications. Achieving these goals requires a better understanding of the interface between user interface and application--the UI-AP interface. This study defines a model of the UI-AP interface and describes a methodology for generating a taxonomy of application domain descriptions based on the model. The UI-AP interface model consists of a set of modeling primitives with more descriptive power than those in traditional object-centered models and serves as a template for describing interaction semantics: interactions between user interface and application and knowledge about the application required by the user interface to process these interactions. The model provides a high-level representation for describing interactive systems and supports specification techniques that enhance opportunities for reusable software components. The model is incorporated into a generative taxonomy system that defines a methodology for generating new application domain descriptions from existing descriptions, starting with descriptions of interaction semantics common across a broad range of applications. The application descriptions provide a framework for resolving trade-offs involving separation, facilitate identifying opportunities for reusable software, and serve as more detailed templates for design and implementation of interactive systems. The model and the generative taxonomy system are implemented as a knowledge-based tool that demonstrates the feasibility of the model and the generative taxonomy system as an architectural base for specifying interactive software and for creating an exploratory research environment.