Technical Report Number
Constraints are widely recognized as a useful tool for user interface constructino. Through constraints, relationships among user interface components can be defined declaratively, leaving the task of relationship management to a constraint solver. Multi-way constraint solvers supporting constraint hierarchies provide a means to specify preferential constraint relationships with a dynamically changing computation flow, making them especially well suited to interactive user interfaces. However, previous such constraint solvers lack the ability to enforce inequalities or to effectively handle cyclic constraint relationships. These deficiencies limit the problems that could be solved using a constraint-based approach. This paper presents a new algorithm called UltraBlue for solving hierarchies of multi-way constraints and discusses its application to the architecture of the EUPHORIA user interace management system. Contributions of UltraBlue include a value consistency mechanism for maintaining arbitrary assertoins (e.g., inequality relationships) and a cycle avoidance heuristic algorithm for eliminating cyclic constraint relationships. Cycles of constraints are resolved with respect to each constraint's relative strength, making it possible to construct acyclic constraint graphs that can be effectively solved, while preferring constraints of greater importance.
McCartney, T. Paul, "User Interface Applications of a Multi-way Constraint Solver" Report Number: WUCS-95-22 (1995). All Computer Science and Engineering Research.