A Scalable Linear Constraint Solver for User Interface Construction

This paper proposes an algorithm for satisfying systems of linear equality and inequality constraints with hierarchical strengths or preferences. Basically, it is a numerical method that incrementally obtains the LU decompositions of linear constraint systems. To realize this, it introduces a novel technique for analyzing hierarchical systems of linear constraints. In addition, it improves performance by adopting techniques that utilize the sparsity and disjointness of constraint systems. Based on this algorithm, the HiRise constraint solver has been designed and implemented for the use of constructing interactive graphical user interfaces. This paper shows that HiRise is scalable up to thousands of simultaneous constraints in real-time execution.

[1]  Bjørn N. Freeman-Benson,et al.  An incremental constraint solver , 1990, CACM.

[2]  Bradley T. Vander Zanden,et al.  An incremental algorithm for satisfying hierarchies of multiway dataflow constraints , 1996, TOPL.

[3]  Satoshi Matsuoka,et al.  Locally Simultaneous Constraint Satisfaction , 1994, PPCP.

[4]  Alan Borning,et al.  Constraint hierarchies , 1992 .

[5]  F. A. Seiler,et al.  Numerical Recipes in C: The Art of Scientific Computing , 1989 .

[6]  W. Press,et al.  Numerical Recipes: The Art of Scientific Computing , 1987 .

[7]  Greg J. Badros,et al.  The Cassowary Linear Arithmetic Constraint Solving Algorithm: Interface and Implementation , 1999 .

[8]  Bjørn N. Freeman-Benson,et al.  Indigo: a local propagation algorithm for inequality constraints , 1996, UIST '96.

[9]  William H. Press,et al.  Numerical Recipes in FORTRAN - The Art of Scientific Computing, 2nd Edition , 1987 .

[10]  細部博史 Theoretical Properties and Efficient Satisfaction of Hierarchical Constraint Systems(階層制約系の理論的性質と効率的解消法) , 1998 .

[11]  Pascal Van Hentenryck,et al.  CLP(Rlin) Revised , 1996, JICSLP.

[12]  Michael Sannella Skyblue: a multi-way local propagation constraint solver for user interface construction , 1994, UIST '94.

[13]  Peter J. Stuckey,et al.  Compiling Constraint Solving using Projection , 1997, CP.

[14]  Kim Marriott,et al.  A Tableau Based Constraint Solving Toolkit for Interactive Graphical Applications , 1998, CP.

[15]  Peter J. Stuckey,et al.  Solving linear arithmetic constraints for user interface applications , 1997, UIST '97.