An object-oriented approach to graphical interfaces
ACM Transactions on Graphics (TOG)
Constraint-based tools for building user interfaces
ACM Transactions on Graphics (TOG) - Special issue on user interface software
Incremental graph evaluation (attribute grammar)
Incremental graph evaluation (attribute grammar)
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
A user interface toolkit based on graphical objects and constraints
OOPSLA '88 Conference proceedings on Object-oriented programming systems, languages and applications
UIST '88 Proceedings of the 1st annual ACM SIGGRAPH symposium on User Interface Software
An incremental constraint solver
Communications of the ACM
Creating user interfaces using programming by example, visual programming, and constraints
ACM Transactions on Programming Languages and Systems (TOPLAS)
Constraint logic programming languages
Communications of the ACM
I3D '90 Proceedings of the 1990 symposium on Interactive 3D graphics
Kaleidoscope: mixing objects, constraints, and imperative programming
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Incremental attribute evaluation: a flexible algorithm for lazy update
ACM Transactions on Programming Languages and Systems (TOPLAS)
The CLP( R ) language and system
ACM Transactions on Programming Languages and Systems (TOPLAS)
A canonical form for generalized linear constraints
Journal of Symbolic Computation
Through-the-lens camera control
SIGGRAPH '92 Proceedings of the 19th annual conference on Computer graphics and interactive techniques
Alphonse: incremental computation as a programming abstraction
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
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
A linear constraint technology for interactive graphic systems
Proceedings of the conference on Graphics interface '92
Lisp and Symbolic Computation
The Rendezvous constraint maintenance system
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)
Integrating pointer variables into one-way constraint models
ACM Transactions on Computer-Human Interaction (TOCHI)
Skyblue: a multi-way local propagation constraint solver for user interface construction
UIST '94 Proceedings of the 7th annual ACM symposium on User interface software and technology
User interface specification using an enhanced spreadsheet model
ACM Transactions on Graphics (TOG)
Integrating multi-way and structural constraints into spreadsheet programming
Integrating multi-way and structural constraints into spreadsheet programming
Constraint satisfaction and debugging for interactive user interfaces
Constraint satisfaction and debugging for interactive user interfaces
Matrix computations (3rd ed.)
Incremental evaluation of computational circuits
SODA '90 Proceedings of the first annual ACM-SIAM symposium on Discrete algorithms
The Programming Language Aspects of ThingLab, a Constraint-Oriented Simulation Laboratory
ACM Transactions on Programming Languages and Systems (TOPLAS)
Incremental Context-Dependent Analysis for Language-Based Editors
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Domain-Independent Algorithm for Incrementally Satisfying Multi-Way Constraints
A Domain-Independent Algorithm for Incrementally Satisfying Multi-Way Constraints
An Incremental Algorithm for Satisfying Hierarchies of Multi-way, Dataflow Constraints
An Incremental Algorithm for Satisfying Hierarchies of Multi-way, Dataflow Constraints
Constraint-based animation: temporal constraints in the animus system
Constraint-based animation: temporal constraints in the animus system
Incremental constraint satisfaction and its application to graphical interfaces
Incremental constraint satisfaction and its application to graphical interfaces
Concurrent constraint programming languages
Concurrent constraint programming languages
Numerical Methods for Unconstrained Optimization and Nonlinear Equations (Classics in Applied Mathematics, 16)
Efficient distributed implementation of semi-replicated synchronous groupware
Proceedings of the 9th annual ACM symposium on User interface software and technology
Indigo: a local propagation algorithm for inequality constraints
Proceedings of the 9th annual ACM symposium on User interface software and technology
An empirical study of constraint usage in graphical applications
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
Strategic directions in constraint programming
ACM Computing Surveys (CSUR) - Special ACM 50th-anniversary issue: strategic directions in computing research
The Amulet Environment: New Models for Effective User Interface Software Development
IEEE Transactions on Software Engineering
Solving linear arithmetic constraints for user interface applications
Proceedings of the 10th annual ACM symposium on User interface software and technology
MULTIMEDIA '97 Proceedings of the fifth ACM international conference on Multimedia
Interactive constraint system for solid modeling objects
SMA '97 Proceedings of the fourth ACM symposium on Solid modeling and applications
MidiSpace: a temporal constraint-based music spatializer
MULTIMEDIA '98 Proceedings of the sixth ACM international conference on Multimedia
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)
Dynamic approximation of complex graphical constraints by linear constraints
Proceedings of the 15th annual ACM symposium on User interface software and technology
Constraint Programming: Strategic Directions
Constraints
Using Graph Decomposition for Solving Continuous CSPs
CP '98 Proceedings of the 4th International Conference on Principles and Practice of Constraint Programming
A Polynomial Time Local Propagation Algorithm for General Dataflow Constraint Problems
CP '98 Proceedings of the 4th International Conference on Principles and Practice of Constraint Programming
A Scalable Linear Constraint Solver for User Interface Construction
CP '02 Proceedings of the 6th International Conference on Principles and Practice of Constraint Programming
Solving Disjunctive Constraints for Interactive Graphical Applications
CP '01 Proceedings of the 7th International Conference on Principles and Practice of Constraint Programming
Constraint-based document layout for the Web
Multimedia Systems - Special issue: Multimedia authoring and presentation techniques
GADGET: a toolkit for optimization-based approaches to interface and display generation
Proceedings of the 16th annual ACM symposium on User interface software and technology
Comparing usability of one-way and multi-way constraints for diagram editing
ACM Transactions on Computer-Human Interaction (TOCHI)
Proceedings of the eighth ACM symposium on Document engineering
Smooth Linear Approximation of Non-overlap Constraints
Diagrams '08 Proceedings of the 5th international conference on Diagrammatic Representation and Inference
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
Computational complexity of multi-way, dataflow constraint problems
IJCAI'97 Proceedings of the 15th international joint conference on Artifical intelligence - Volume 1
Leveraging single-user microsoft visio for multi-user real-time collaboration
CDVE'07 Proceedings of the 4th international conference on Cooperative design, visualization, and engineering
Helping programmers help users
Proceedings of the 10th ACM international conference on Generative programming and component engineering
A constraint maintenance strategy and applications in real-time collaborative environments
CDVE'05 Proceedings of the Second international conference on Cooperative Design, Visualization, and Engineering
Towards flexible graphical communication using adaptive diagrams
ASIAN'04 Proceedings of the 9th Asian Computing Science conference on Advances in Computer Science: dedicated to Jean-Louis Lassez on the Occasion of His 5th Cycle Birthday
Proceedings of the 8th ACM SIGPLAN workshop on Generic programming
Hi-index | 0.00 |
One-way 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 constraint 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 alogrithms for satisfying constraint hierarchies encounter two difficulties : (1) they are incapable of guaranteeing an acylic solution if a constraint hierarchy has one or more cyclic solutions and (2) they require worst-case exponential time to satisfy systems of multioutput constriants. This article surmounts these difficulties by presenting an incremental algorithm called QuickPlan that satisfies in worst-case O(N2) time any hierarchy of multiway, multiout-put dataflow constraint that has at least one acyclic solution, where N is the number of constraints. With benchmarks and real problems that can be solved efficiently using exisitng algorithms, its performance is competitive or superior. With benchmarks and real problems that cannot be solved using exisitng algorithms or that cannot be solved efficiently, QuickPlan finds solutions and does so efficiently, typically in O(N) time or less. QuickPlan is based on the strategy of propagation of degrees of freedom. The only restriction it imposes is that every constraint method must use all of the variables in the constraint as either an input or an output variable. This requirement is met in every constraint-based, interactive application that we have developed or seen.