×

Cassowary

swMATH ID: 36189
Software Authors: Greg J. Badros, Alan Borning, Peter J. Stuckey
Description: The Cassowary linear arithmetic constraint solving algorithm. Linear equality and inequality constraints arise naturally in specifying many aspects of user interfaces, such as requiring that one window be to the left of another, requiring that a pane occupy the leftmost third of a window, or preferring that an object be contained within a rectangle if possible. Previous constraint solvers designed for user interface applications cannot handle simultaneous linear equations and inequalities efficiently. This is a major limitation, as such systems of constraints arise often in natural declarative specifications. We describe Cassowary—an incremental algorithm based on the dual simplex method, which can solve such systems of constraints efficiently. We have implemented the algorithm as part of a constraint-solving toolkit. We discuss the implementation of the toolkit, its application programming interface, and its performance.
Homepage: https://dl.acm.org/doi/10.1145/504704.504705
Related Software: QOCA; HiRise; Skyblue; Matlab; linprog; MathSAT; MiniSat; CVC Lite; Chaff; Python; SUPPLE; Gild; Ibuild; Rockit; Druid; Bramble; FormsVBT; Peridot; Amulet; Lapidary
Cited in: 9 Documents

Citations by Year