Coupling application design and user interface design

Building an interactive application involves the design of both a data model and a graphical user interface (GUI) to present that model to the user. These two design activities are typically approached as separate tasks and are frequently undertaken by different individuals or groups. Our apporach eliminated redundant specification work by generating an interface directly from the data model itself. An inference engine using style rules for selecting and placing GUI controls (i.e., widgets) is integrated with an interface design tool to generate a user interface definition. This approach allows a single data model to be mapped onto multiple GUI's by substituting the appropriate rule set and thus represents a step toward a GUI-independent run-time layout facility.