Advanced Constraint Techniques for User Interface Implementation

Funded by the National Science Foundation under grant IRI-9500942

Scott Hudson, Principal Investigator


PROJECT SUMMARY
This project seeks to develop and explore the use of advanced constraint-based techniques in the production of user interface software. Constraints as a general computational technique allow the declaration of a set of relationships that are to hold between entities. A constraint satisfaction system is employed to automatically ensure that these relationships hold under changing conditions. This allows the programmer (or user interface implementor) to specify, at a relatively high level, what is to happen, while relying on the system to automatically determine how these requirements are to be carried out.

A subset of constraint techniques (primarily propagation-based techniques often called one-way and multi-way constraints) have been employed in user interfaces for some time. These techniques have been recognized as extremely useful in implementing several aspects of a typical advanced user interface including: This project seeks to produce two kinds of advances in constraint techniques for user interface software. First, it seeks to make existing constraint technology more accessible and practical for real interface implementations by developing several important practical tools. Second it seeks to create new advances in constraint systems themselves by extending them to new domains and considering new user interface tasks that can be supported by them.

Specifically, this project seeks:
PROJECT RELATED PUBLICATIONS
Scott E. Hudson, Ian Smith, "Automatic Generation of Starfield Displays Using Constraints", CHI '95 Conference Companion, pp. 202-203 May 1995.

Krishna Bharat, Scott E. Hudson, "Supporting Distributed, Concurrent, One-Way Constraints in User Interface Applications", Proceedings of the ACM Symposium on User Interface Software and Technology, pp. 121-132, Nov. 1995.

Scott E. Hudson, Ian Smith , "A Practical System for Compiling One-Way Constraints into C++ Objects", submitted to ACM Transactions on Computer Human Interaction..

Last updated 3/2/96