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 interface management system. Contributions of UltraBlue include a value consistency mechanism for maintaining arbitrary assertions (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 efficiently solved, while preferring constraints of greater importance.
KEYWORDS: constraints, constraint hierarchies, cycle avoidance, incremental constraint satisfaction, interactive techniques, multi-way constraints, user interface management system
Technical report version is available as postscript (.ps) or compressed postscript (.ps.Z).
Washington University Department of Computer Science WUCS-95-22, October 1995.
C++ source code for the UltraBlue algorithm v1.0 is available: uncompressed, compressed.