Results 1  10
of
23
Constraint Hierarchies
 LISP AND SYMBOLIC COMPUTATION
, 1992
"... Constraints allow programmers and users to state declaratively a relation that should be maintained, rather than requiring them to write procedures to maintain the relation themselves. They are thus useful in such applications as programming languages, user interface toolkits, and simulation package ..."
Abstract

Cited by 148 (14 self)
 Add to MetaCart
Constraints allow programmers and users to state declaratively a relation that should be maintained, rather than requiring them to write procedures to maintain the relation themselves. They are thus useful in such applications as programming languages, user interface toolkits, and simulation packages. In many situations, it is desirable to be able to state both required and preferential constraints. The required constraints must hold. Since the other constraints are merely preferences, the system should try to satisfy them if possible, but no error condition arises if it cannot. A constraint hierarchy consists of a set of constraints, each labeled as either required or preferred at some strength. An arbitrary number of different strengths is allowed. In the discussion of a theory of constraint hierarchies, we present alternate ways of selecting among competing possible solutions, and prove a number of propositions about the relations among these alternatives. We then outline algorit...
Multiway versus Oneway Constraints in User Interfaces: Experience with the DeltaBlue Algorithm
, 1993
"... this paper we argue that many user interface construction problems are handled more naturally and elegantly by multiway constraints than by oneway constraints. We present pseudocode for an incremental multiway constraint satisfaction algorithm, DeltaBlue, and describe experience in using the algo ..."
Abstract

Cited by 86 (17 self)
 Add to MetaCart
this paper we argue that many user interface construction problems are handled more naturally and elegantly by multiway constraints than by oneway constraints. We present pseudocode for an incremental multiway constraint satisfaction algorithm, DeltaBlue, and describe experience in using the algorithm in two user interface toolkits. Finally, we provide performance figures demonstrating that multiway constraint solvers can be entirely competitive in performance with oneway constraint solvers
Hierarchical Constraint Logic Programming
, 1993
"... A constraint describes a relation to be maintained ..."
Abstract

Cited by 69 (3 self)
 Add to MetaCart
(Show Context)
A constraint describes a relation to be maintained
An Incremental Algorithm for Satisfying Hierarchies of Multiway, Dataflow Constraints
 ACM Transactions on Programming Languages and Systems
, 1995
"... Oneway dataflow constraints have gained popularity in many types of interactive systems because of their simplicity, efficiency, and manageability. Although it is widely acknowledged that multiway dataflow constraints could make it easier to specify certain relationships in these applications, con ..."
Abstract

Cited by 49 (1 self)
 Add to MetaCart
(Show Context)
Oneway dataflow constraints have gained popularity in many types of interactive systems because of their simplicity, efficiency, and manageability. Although it is widely acknowledged that multiway dataflow constraints could make it easier to specify certain relationships in these applications, concerns about their predictability and efficiency have impeded their acceptance. Constraint hierarchies have been developed to address the predictability problem and incremental algorithms have been developed to address the efficiency problem. However, existing incremental algorithms for satisfying constraint hierarchies encounter two difficulties: (1) they are incapable of guaranteeing an acyclic solution if a constraint hierarchy has one or more cyclic solutions, and (2) they require worstcase exponential time to satisfy systems of multioutput constraints. This paper surmounts these difficulties by presenting an 2 incremental algorithm called QuickPlan that satisfies in worst case O(N ) ...
SkyBlue: A MultiWay Local Propagation Constraint Solver for User Interface Construction
, 1994
"... Many user interface toolkits use constraint solvers to maintain geometric relationships between graphic objects, or to connect the graphics to the application data structures. One efficient and flexible technique for maintaining constraints is multiway local propagation, where constraints are repre ..."
Abstract

Cited by 45 (0 self)
 Add to MetaCart
(Show Context)
Many user interface toolkits use constraint solvers to maintain geometric relationships between graphic objects, or to connect the graphics to the application data structures. One efficient and flexible technique for maintaining constraints is multiway local propagation, where constraints are represented by sets of method procedures. To satisfy a set of constraints, a local propagation solver executes one method from each constraint. SkyBlue is an incremental constraint solver that uses local propagation to maintain a set of constraints as individual constraints are added and removed. If all of the constraints cannot be satisfied, SkyBlue leaves weaker constraints unsatisfied in order to satisfy stronger constraints (maintaining a constraint hierarchy). SkyBlue is a more general successor to the DeltaBlue algorithm that satisfies cycles of methods by calling external cycle solvers and supports multioutput methods. These features make SkyBlue more useful for constructing user interfa...
The SkyBlue Constraint Solver
, 1992
"... A constraint describes a relationship that should be maintained, for example that the equality A + B = C holds between three variables, that a set of displayed objects are aligned, or that the elements in a data structure are consistent with a graphic display of this structure. Constraint solvers h ..."
Abstract

Cited by 41 (3 self)
 Add to MetaCart
(Show Context)
A constraint describes a relationship that should be maintained, for example that the equality A + B = C holds between three variables, that a set of displayed objects are aligned, or that the elements in a data structure are consistent with a graphic display of this structure. Constraint solvers have been successfully applied to problems in computer graphics including geometric design and user interface construction. This paper presents the SkyBlue constraint solver, an efficient incremental algorithm that uses local propagation to maintain sets of required and preferential constraints. SkyBlue is a successor to the DeltaBlue algorithm, which was used as the constraint solver in the ThingLab II user interface development environment. DeltaBlue has two limitations: cycles of constraints are prohibited, and the procedures used to satisfy a constraint can only have a single output. SkyBlue relaxes these restrictions, allowing cycles of constraints to be constructed (although SkyBlue may...
Integrating pointer variables into oneway constraint models
 ACM Trans. Comput. Hum. Interaction
, 1994
"... Pointer variables have long been considered useful for constructing and manipulating data structures in traditional programming languages. This article discusses how pointer variables can be integrated into oneway constraint models and indicates how these constraints can be usefully employed in use ..."
Abstract

Cited by 31 (5 self)
 Add to MetaCart
Pointer variables have long been considered useful for constructing and manipulating data structures in traditional programming languages. This article discusses how pointer variables can be integrated into oneway constraint models and indicates how these constraints can be usefully employed in user interfaces. Pointer variables allow constraints to model a wide array of dynamic application behavior, simplify the implementation of structured objects and demonstrational systems, and improve the storage and effkiency of constraintbased applications. This article presents two incremental algorithmsâ€”one lazy and one eagerâ€”for solving constraints with pointer variables. Both algorithms arecapable ofhandling (l)arbitrary systems ofoneway constraints, including constraints that involve cycles, and(2) editing models that allow multiple changes between calls to the constraint solver. These algorithms are fault tolerant in that they can handle and recover gracefully from formulas that crash due to programmer error. Constraints that use pointer variables have been implemented in a comprehensive user interface toolkit, Garnet, and our experience with applications written in Garnet have proven the usefulness of pointer variable constraints. Many largescale applications have been implemented
The SkyBlue Constraint Solver and Its Applications
 Proceedings of the 1993 Workshop on Principles and Practice of Constraint Programming
, 1993
"... The SkyBlue constraint solver is an efficient incremental algorithm that uses local propagation to maintain sets of required and preferential constraints. SkyBlue is a successor to the DeltaBlue algorithm, which was used as the constraint solver in the ThingLab II user interface development environm ..."
Abstract

Cited by 27 (2 self)
 Add to MetaCart
(Show Context)
The SkyBlue constraint solver is an efficient incremental algorithm that uses local propagation to maintain sets of required and preferential constraints. SkyBlue is a successor to the DeltaBlue algorithm, which was used as the constraint solver in the ThingLab II user interface development environment. Like DeltaBlue, SkyBlue represents constraints between variables by sets of short procedures (methods) and incrementally resatisfies the set of constraints as individual constraints are added and removed. DeltaBlue has two significant limitations: cycles of constraints are prohibited, and constraint methods can only have a single output variable. SkyBlue relaxes these restrictions, allowing cycles of constraints to be constructed (although SkyBlue may not be able to satisfy all of the constraints in a cycle) and supporting multioutput methods. This paper presents the SkyBlue algorithm and discusses several applications that have been built using SkyBlue. 1 Introduction The DeltaBlue a...
DLoVe  A Specification Paradigm for Designing Distributed VR Applications for Single or Multiple Users
, 2000
"... Most of today's Graphical User Interfaces (GUI) and toolkits are based on serial, discrete, token based, paradigms that seem to acceptably implement traditional WIMP (Window, Icon, Menu, Pointer) interfaces. These tools however, are not suited for "next generation" interaction techniq ..."
Abstract

Cited by 8 (3 self)
 Add to MetaCart
Most of today's Graphical User Interfaces (GUI) and toolkits are based on serial, discrete, token based, paradigms that seem to acceptably implement traditional WIMP (Window, Icon, Menu, Pointer) interfaces. These tools however, are not suited for "next generation" interaction techniques such as Virtual Reality (VR). These interaction techniques rely upon asynchronous, parallel, and continuous user/computer interaction. This work proposes a specification paradigm, DLoVe, which provides a framework of techniques and abstractions that directly addresses these issues. In addition, DLoVe also provides a mechanism for executing programs designed for a single machine to be executed in a distributed environment, where updates on DLoVe variables are processed in parallel. DLoVe's framework also provides the abstractions for writing multiuser VR programs or transforming existing singleuser programs into multiuser ones. Moreover, DLoVe addresses issues of performance and maintainability, providing mechanisms, drivers, and utilities that allow run time tuning and network management to be specified in a simple manner. This thesis describes in detail the proposed system, evaluates it, and provides examples and analysis of several applications developed within DLoVe's paradigm, and provides a guide on how applications can be implemented in this framework.
Analyzing and Debugging Hierarchies of MultiWay Local Propagation Constraints
 Principles and Practice of Constraint Programming
, 1994
"... Multiway local propagation constraints are a powerful and flexible tool for implementing applications such as graphical user interfaces. We have built constraint solvers that maintain sets of preferential multiway constraints, and integrated them into user interface development environments. These ..."
Abstract

Cited by 6 (1 self)
 Add to MetaCart
(Show Context)
Multiway local propagation constraints are a powerful and flexible tool for implementing applications such as graphical user interfaces. We have built constraint solvers that maintain sets of preferential multiway constraints, and integrated them into user interface development environments. These solvers are based on the formal theory of constraint hierarchies, leaving weaker constraints unsatisfied in order to solve stronger constraints if all of the constraints cannot be satisfied. Our experience has indicated that large constraint networks can be difficult to construct and understand. To investigate this problem, we have developed a system for interactively constructing constraintbased user interfaces, integrated with tools for displaying and analyzing constraint networks. This paper describes the debugging facilities of this system, and presents a new algorithm for enumerating all of the ways that the solver could maintain a set of constraints. 1 Introduction A multiway local ...