Welcome to the home page for the Constraints research group at the Department of Computer Science and Engineering, University of Washington.
A constraint is a relation that should be satisfied -- for example, that a line remain horizontal, that a resistor in an electrical circuit simulation obey Ohm's Law, or that one column in a web page table be at least twice as wide as another. Constraints have been used in a variety of languages and systems, particularly in user interface toolkits, in planning and scheduling, and in simulation. UW constraints research has been in several areas, including the design and implementation of constraint solvers, applying constraints to user interface construction and to simulation, and the design and implementation of constraint programming languages.
The group is not currently active -- Alan Borning (the primary faculty member involved) has gotten distracted by simulations of urban development, civic engagement, and other topics -- but who knows; we might start up again sometime. There is certainly more to be done!
News (July 2011): The Cassowary constraint solver is now used as the layout engine in the Macintosh Lion OS. >
We have designed a number of constraint satisfaction algorithms over the years, including DeltaBlue, SkyBlue, Indigo, Ultraviolet (is there a pattern here?), and Cassowary (I guess not). For researchers interested in experimenting with such algorithms, we recommend Cassowary; for certain applications, DeltaBlue may be useful as well.
The code for Cassowary and DeltaBlue is no longer supported, but we would still be pleased to hear about new applications of the solvers.
Four screen snapshots of a constraint-based demonstration of a theorem about quadrilaterals. Applet.