Results 1  10
of
58
The Cassowary Linear Arithmetic Constraint Solving Algorithm: Interface and Implementation
 ACM TRANSACTIONS ON COMPUTER HUMAN INTERACTION
, 1998
"... 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 1/3 of a window, or preferring that an object be contained within a rectangle if possibl ..."
Abstract

Cited by 115 (10 self)
 Add to MetaCart
(Show Context)
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 1/3 of a window, or preferring that an object be contained within a rectangle if possible. Current constraint solvers designed for UI applications cannot e#ciently handle simultaneous linear equations and inequalities. This is a major limitation. We describe Cassowaryan incremental algorithm based on the dual simplex method that can solve such systems of constraints e#ciently. This informal technical report describes the latest version of the Cassowary algorithm. It is derived from the paper "Solving Linear Arithmetic Constraints for User Interface Applications" by Alan Borning, Kim Marriott, Peter Stuckey, and Yi Xiao [7], published in the UIST'97 Proceedings. The UIST paper also contains a description of QOCA, a closely related solver that finds leastsquares solut...
Solving linear arithmetic constraints for user interface applications: Algorithm details
, 1997
"... 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 1/3 of a window, or preferring that an object be contained within a rectangle if possible. ..."
Abstract

Cited by 71 (17 self)
 Add to MetaCart
(Show Context)
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 1/3 of a window, or preferring that an object be contained within a rectangle if possible. Current constraint solvers designed for UI applications cannot efficiently handle simultaneous linear equations and inequalities. This is a major limitation. We describe incremental algorithms based on the dual simplex and active set methods that can solve such systems of constraints efficiently.
Efficient Distributed Implementation of SemiReplicated Synchronous Groupware
, 1996
"... The Model View Controller (MVC) architecture has proven to be an effective way of organizing synchronous groupware applications. Distributed implementations of MVC, however, can suffer from poor performance. This paper demonstrates how optimized semireplication of MVC architectures can lead to good ..."
Abstract

Cited by 47 (8 self)
 Add to MetaCart
The Model View Controller (MVC) architecture has proven to be an effective way of organizing synchronous groupware applications. Distributed implementations of MVC, however, can suffer from poor performance. This paper demonstrates how optimized semireplication of MVC architectures can lead to good performance over both local and wide area networks. We present a series of optimizations to network communication based on specific communication properties of groupware. These optimizations have been implemented in the Clock groupware development toolkit, allowing programmers to develop applications directly in the highlevel MVC style, with Clock automatically providing optimized performance. Timings of an application developed in Clock show that usable speed was obtained in a highly interactive groupware application running between Toronto and Calgary, with a typical latency of 190 ms per round trip message. The paper discusses the tradeoffs involved in the algorithms, and presents timings to demonstrate the effectiveness of the different approaches. The timings show that when running over a wide area network, the best optimization can achieve a factor 60 speedup over the naive implementation of distributed MVC.
Constraintbased document layout for the web
 ACM Multimedia Systems Journal 8 (October
, 2000
"... Constraints can be used to specify declaratively the desired layout of a web document. We present a system architecture in which both the author and the viewer can impose page layout constraints, some required and some preferential. The final appearance of the web page is thus the result of negotiat ..."
Abstract

Cited by 42 (6 self)
 Add to MetaCart
(Show Context)
Constraints can be used to specify declaratively the desired layout of a web document. We present a system architecture in which both the author and the viewer can impose page layout constraints, some required and some preferential. The final appearance of the web page is thus the result of negotiation between author and viewer, where this negotiation is carried out by solving the set of required and preferential constraints imposed by both parties. We identify two
Indigo: A Local Propagation Algorithm for Inequality Constraints
 In Proceedings of the 1996 ACM Symposium on User Interface Software and Technology
, 1996
"... Inequality constraints are useful for specifying various aspects of user interfaces, such as constraints that one window is to the left of another, or that an object is contained within a rectangle. However, current local propagation constraint solvers can't handle inequality constraints. We pr ..."
Abstract

Cited by 33 (7 self)
 Add to MetaCart
(Show Context)
Inequality constraints are useful for specifying various aspects of user interfaces, such as constraints that one window is to the left of another, or that an object is contained within a rectangle. However, current local propagation constraint solvers can't handle inequality constraints. We present Indigo, an efficient local propagation algorithm for satisfying acyclic constraint hierarchies, including inequality constraints. KEYWORDS: Constraints, inequality constraints, local propagation INTRODUCTION Constraints are useful for a number of aspects of user interface construction, including layout, modelview consistency, and consistency of multiple views. In selecting the class of constraints to be supported in a UI toolkit, there are various tradeoffs between simplicity and power. Some of these tradeoffs include: ffl oneway or multiway constraints ffl required constraints only, or both required and preferential constraints (constraint hierarchies) ffl functional constraints ...
Strategic directions in constraint programming
 ACM Computing Surveys
, 1996
"... A constraint can be thought of intuitively as a restriction on a space of possibilities. Mathematical constraints are precisely specifiable relations ..."
Abstract

Cited by 30 (2 self)
 Add to MetaCart
A constraint can be thought of intuitively as a restriction on a space of possibilities. Mathematical constraints are precisely specifiable relations
Ultraviolet: A Constraint Satisfaction Algorithm for Interactive Graphics
 Constraints: An International Journal
, 1998
"... . Ultraviolet is a constraint satisfaction algorithm intended for use in interactive graphical applications. It is capable of solving constraints over arbitrary domains using local propagation, and inequality constraints and simultaneous linear equations over the reals. To support this, Ultraviolet ..."
Abstract

Cited by 30 (2 self)
 Add to MetaCart
. Ultraviolet is a constraint satisfaction algorithm intended for use in interactive graphical applications. It is capable of solving constraints over arbitrary domains using local propagation, and inequality constraints and simultaneous linear equations over the reals. To support this, Ultraviolet is a hybrid algorithm that allows different subsolvers to be used for different parts of the constraint graph, depending on graph topology and kind of constraints. In addition, Ultraviolet and its subsolvers support plan compilation, producing efficient compiled code that can be evaluated repeatedly to resatisfy a given collection of constraints for different input values. Keywords: constraints, user interfaces, hybrid constraint satisfaction algorithms 1. Introduction Many key aspects of interactive graphical systems can be conveniently described using constraints, including layout and other kinds of geometric relations, consistency between application data and views, consistency of multi...
Using Graph Decomposition for Solving Continuous CSPs
 in &quot;Principles and Practice of Constraint Programming, CP’98&quot;, LNCS
, 1998
"... In practice, constraint satisfaction problems are often structured. By exploiting this structure, solving algorithms can make important gains in performance. In this paper, we focus on structured continuous CSPs defined by systems of equations. We use graph decomposition techniques to decompose the ..."
Abstract

Cited by 24 (10 self)
 Add to MetaCart
In practice, constraint satisfaction problems are often structured. By exploiting this structure, solving algorithms can make important gains in performance. In this paper, we focus on structured continuous CSPs defined by systems of equations. We use graph decomposition techniques to decompose the constraint graph into a directed acyclic graph of small blocks. We present new algorithms to solve decomposed problems which solve the blocks in partial order and perform intelligent backtracking when a block has no solution. For underconstrained problems, the solution space can be explored by choosing some variables as input parameters. However, in this case, the decomposition is no longer unique and some choices lead to decompositions with smaller blocks than others. We present an algorithm for selecting the input parameters that lead to good decompositions. First experimental results indicate that, even on small problems, significant speedups can be obtained using these algorithms.
GADGET: A Toolkit for OptimizationBased Approaches to Interface and Display Generation
, 2003
"... Recent work is beginning to reveal the potential of numerical optimization as an approach to generating interfaces and displays. Optimizationbased approaches can often allow a mix of independent goals and constraints to be blended in ways that would be difficult to describe algorithmically. While o ..."
Abstract

Cited by 23 (2 self)
 Add to MetaCart
(Show Context)
Recent work is beginning to reveal the potential of numerical optimization as an approach to generating interfaces and displays. Optimizationbased approaches can often allow a mix of independent goals and constraints to be blended in ways that would be difficult to describe algorithmically. While optimizationbased techniques appear to offer several potential advantages, further research in this area is hampered by the lack of appropriate tools. This paper presents GADGET, an experimental toolkit to support optimization for interface and display generation. GADGET provides convenient abstractions of many optimization concepts. GADGET also provides mechanisms to help programmers quickly create optimizations, including an efficient lazy evaluation framework, a powerful and configurable optimization structure, and a library of reusable components. Together these facilities provide an appropriate tool to enable exploration of a new class of interface and display generation techniques.
Scene modelling based on constraint system decomposition techniques
 In Proceedings of the International Conference on Computer Vision, volume II
, 2003
"... We present a new approach to 3D scene modeling based on geometric constraints. Contrary to the existing methods, we can quickly obtain 3D scene models that respect the given constraints exactly. Our system can describe a large variety of linear and nonlinear constraints in a flexible way. To deal w ..."
Abstract

Cited by 21 (7 self)
 Add to MetaCart
(Show Context)
We present a new approach to 3D scene modeling based on geometric constraints. Contrary to the existing methods, we can quickly obtain 3D scene models that respect the given constraints exactly. Our system can describe a large variety of linear and nonlinear constraints in a flexible way. To deal with the constraints, we decided to exploit the properties of the GPDOF algorithm developed in the Constraint Programming community [12]. The approach is based on a dictionary of socalled rmethods, based on theorems of geometry, which can solve a subset of geometric constraints in a very efficient way. GPDOF is used to find, in polynomialtime, a reduced parameterization of a scene, and to decompose the equation system, induced by constraints, into a sequence of rmethods. We have validated our approach in reconstructing, from images, 3D models of buildings based on linear and quadratic geometric constraints. 1.