Results 1  10
of
57
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 110 (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 46 (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 41 (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 29 (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 27 (1 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...
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 21 (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.
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 21 (8 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.
Decomposition of Geometric Constraint Systems: a Survey
 INTERNATIONAL JOURNAL OF COMPUTATIONAL GEOMETRY & APPLICATIONS
, 2006
"... Significant progress has been accomplished during the past decades about geometric constraint solving, in particular thanks to its applications in industrial fields like CAD and robotics. In order to tackle problems of industrial size, many solving methods use, as a preprocessing, decomposition tech ..."
Abstract

Cited by 17 (6 self)
 Add to MetaCart
Significant progress has been accomplished during the past decades about geometric constraint solving, in particular thanks to its applications in industrial fields like CAD and robotics. In order to tackle problems of industrial size, many solving methods use, as a preprocessing, decomposition techniques that transform a large geometric constraint system into a set of smaller ones. In this paper, we propose a survey of the decomposition techniques for geometric constraint problems a. We classify them into four categories according to their modus operandi, establishing some similarities between methods that are traditionally separated. We summarize the advantages and limitations of the different approaches, and point out key issues for meeting industrial requirements such as generality and reliability.