Results 1  10
of
40
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 84 (9 self)
 Add to MetaCart
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 64 (17 self)
 Add to MetaCart
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 42 (7 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 34 (3 self)
 Add to MetaCart
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 present ..."
Abstract

Cited by 28 (6 self)
 Add to MetaCart
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 ...
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 26 (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...
Using Graph Decomposition for Solving Continuous CSPs
 in "Principles and Practice of Constraint Programming, CP’98", 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 18 (7 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 17 (2 self)
 Add to MetaCart
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.
Amulet’s dynamic and flexible prototypeinstance object and constraint system in C
, 1995
"... In order to support rapid prototyping and efficient construction of user interface software, the Amulet user interface development environment uses a prototypeinstance object model integrated with a constraint solver. The important innovations in the Amulet object and constraint systems are the aut ..."
Abstract

Cited by 14 (1 self)
 Add to MetaCart
In order to support rapid prototyping and efficient construction of user interface software, the Amulet user interface development environment uses a prototypeinstance object model integrated with a constraint solver. The important innovations in the Amulet object and constraint systems are the automatic management of a partowner hierarchy in addition to the prototype instance hierarchy, the support for multiple constraint solvers at the same time, control over slot inheritance, flexible demons, and a convenient integration of the models with C++ without requiring a preprocessor. This research was sponsored by NCCOSC under Contract No. N6600194C6037, ARPA Order No. B326. The views and conclusions contained in this document are those of the authors and should not be interpreted as representing the official policies, either expressed or implied, of NCCOSC or the U.S. Government.
Scene Modeling Based on Constraint System Decomposition Techniques
 IN PROCEEDINGS OF THE 9TH INTERNATIONAL CONFERENCE ON COMPUTER VISION
, 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 13 (3 self)
 Add to MetaCart
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