Logical composition of object-oriented interfaces
Conference proceedings on Object-oriented programming systems, languages and applications - OOPSLA '87
This paper describes an approach to object-oriented interface design that goes beyond mere object decomposition. In our user interface management systern we use logic and filters to declaratively specify and control a space of ways that objects may be composed to create interfaces. A filter is a package of constraints and associated typed objects that express the relationship of data and representation objects. Conceptually our system is completely based on constraints. Filters provide the high
... rs provide the high bandwidth constraints to maintain the components of the directmanipulation interface while the logic forms the low bandwidth constraints to combine and provide communication between these components. The use of Horn-clause logic to compose separate interface objects facilitates both the distribution of computation onto multiple processors and the generation of multiple views of data. Intelligent backtracking implemented in the logic allows for user-and system-initiated undo operations to correct errors and/or try alternative approaches to a problem. We illustrate the power and flexibility of this approach by describing a floor layout and design system.