An incremental constraint solver
Communications of the ACM
Constraint imperative programming
Constraint imperative programming
Using constraints for user interface construction
Using constraints for user interface construction
Multi-way versus one-way constraints in user interfaces: experience with the DeltaBlue algorithm
Software—Practice & Experience
Lisp and Symbolic Computation
VB2: an architecture for interaction in synthetic worlds
UIST '93 Proceedings of the 6th annual ACM symposium on User interface software and technology
Converting an existing user interface to use constraints
UIST '93 Proceedings of the 6th annual ACM symposium on User interface software and technology
The Rendezvous architecture and language for constructing multiuser applications
ACM Transactions on Computer-Human Interaction (TOCHI)
TBAG: a high level framework for interactive, animated 3D graphics applications
SIGGRAPH '94 Proceedings of the 21st annual conference on Computer graphics and interactive techniques
Constraint satisfaction and debugging for interactive user interfaces
Constraint satisfaction and debugging for interactive user interfaces
Analyzing and Debugging Hierarchies of Multi-way Local Propagation Constraints
PPCP '94 Proceedings of the Second International Workshop on Principles and Practice of Constraint Programming
An integrated environment to visually construct 3D animations
SIGGRAPH '95 Proceedings of the 22nd annual conference on Computer graphics and interactive techniques
Virtual slots: increasing power and reusability for user interface development languages
CHI '95 Conference Companion on Human Factors in Computing Systems
An incremental algorithm for satisfying hierarchies of multiway dataflow constraints
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Component- and Message-Based Architectural Style for GUI Software
IEEE Transactions on Software Engineering - Special issue: best papers of the 17th International Conference on Software Engineering (ICSE-17)
Indigo: a local propagation algorithm for inequality constraints
Proceedings of the 9th annual ACM symposium on User interface software and technology
Proceedings of the 9th annual ACM symposium on User interface software and technology
Using object-oriented typing to support architectural design in the C2 style
SIGSOFT '96 Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering
Reuse of off-the-shelf components in C2-style architectures
ICSE '97 Proceedings of the 19th international conference on Software engineering
Reuse of off-the-shelf components in C2-style architectures
Proceedings of the 1997 symposium on Software reusability
The Amulet Environment: New Models for Effective User Interface Software Development
IEEE Transactions on Software Engineering
Interactive constraint system for solid modeling objects
SMA '97 Proceedings of the fourth ACM symposium on Solid modeling and applications
A modular geometric constraint solver for user interface applications
Proceedings of the 14th annual ACM symposium on User interface software and technology
Using model dataflow graphs to reduce the storage requirements of constraints
ACM Transactions on Computer-Human Interaction (TOCHI)
The Cassowary linear arithmetic constraint solving algorithm
ACM Transactions on Computer-Human Interaction (TOCHI)
A geometric constraint library for 3D graphical applications
Proceedings of the 2nd international symposium on Smart graphics
MORE for less: model recovery from visual interfaces for multi-device application design
Proceedings of the 8th international conference on Intelligent user interfaces
A Scalable Linear Constraint Solver for User Interface Construction
CP '02 Proceedings of the 6th International Conference on Principles and Practice of Constraint Programming
TclProp: a data-propagation formula manager for Tcl and Tk
TCLTK '98 Proceedings of the 3rd Annual USENIX Workshop on Tcl/Tk - Volume 3
Property models: from incidental algorithms to reusable components
GPCE '08 Proceedings of the 7th international conference on Generative programming and component engineering
Algorithms for user interfaces
GPCE '09 Proceedings of the eighth international conference on Generative programming and component engineering
On complementary principles of object-oriented constraint programming
Programming and Computing Software
A dynamic-priority based approach to fixing inconsistent feature models
MODELS'10 Proceedings of the 13th international conference on Model driven engineering languages and systems: Part I
HotDrink: a library for web user interfaces
Proceedings of the 11th International Conference on Generative Programming and Component Engineering
ConstraintJS: programming interactive behaviors for the web by integrating constraints and states
Proceedings of the 25th annual ACM symposium on User interface software and technology
SmartFixer: fixing software configurations based on dynamic priorities
Proceedings of the 17th International Software Product Line Conference
Hi-index | 0.00 |
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 multi-way 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 multi-output methods. These features make SkyBlue more useful for constructing user interfaces, since cycles of constraints can occur frequently in user interface applications and multi-output methods are necessary to represent some useful constraints. This paper discusses some of applications that use SkyBlue, presents times for some user interface benchmarks and describes the SkyBlue algorithm in detail.