An object-oriented approach to graphical interfaces
ACM Transactions on Graphics (TOG)
Incremental graph evaluation (attribute grammar)
Incremental graph evaluation (attribute grammar)
An Semantic Feedback in the Higgens UIMS
IEEE Transactions on Software Engineering
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
Incremental computation via function caching
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Creating user interfaces using programming by example, visual programming, and constraints
ACM Transactions on Programming Languages and Systems (TOPLAS)
A new model for handling input
ACM Transactions on Information Systems (TOIS)
A theory of incremental computation and its application
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Building incremental programs using partial evaluation
PEPM '91 Proceedings of the 1991 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Incremental attribute evaluation: a flexible algorithm for lazy update
ACM Transactions on Programming Languages and Systems (TOPLAS)
The importance of pointer variables in constraint models
UIST '91 Proceedings of the 4th annual ACM symposium on User interface software and technology
Alphonse: incremental computation as a programming abstraction
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
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)
User interface specification using an enhanced spreadsheet model
ACM Transactions on Graphics (TOG)
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
The Amulet Environment: New Models for Effective User Interface Software Development
IEEE Transactions on Software Engineering
Static caching for incremental computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
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)
Remote attribute updating for language-based editors
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Incremental evaluation for attribute grammars with application to syntax-directed editors
POPL '81 Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Using Model Dataflow Graphs to Reduce the Storage Requirements ofConstraints
Using Model Dataflow Graphs to Reduce the Storage Requirements ofConstraints
Using model dataflow graphs to reduce the storage requirements of constraints
ACM Transactions on Computer-Human Interaction (TOCHI)
iOpt: A Software Toolkit for Heuristic Search Methods
CP '01 Proceedings of the 7th International Conference on Principles and Practice of Constraint Programming
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
Proceedings of the 13th international World Wide Web conference on Alternate track papers & posters
An explanation-based, visual debugger for one-way constraints
Proceedings of the 17th 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
Graphic Rendering Considered as a Compilation Chain
Interactive Systems. Design, Specification, and Verification
Proceedings of the 21st International Conference on Association Francophone d'Interaction Homme-Machine
Proceedings of the 3rd ACM SIGCHI symposium on Engineering interactive computing systems
Probabilistic document model for automated document composition
Proceedings of the 11th ACM symposium on Document engineering
Reactive imperative programming with dataflow constraints
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
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
Asynchronous active values for client-side interactive service coordination
Proceedings of the International Working Conference on Advanced Visual Interfaces
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
Hi-index | 0.00 |
One-way, dataflow constraints are commonly used in graphical interface toolkits, programming environments, and circuit applications. Previous papers on dataflow constraints have focused on the design and implementation of individual algorithms. In contrast, this article focuses on the lessons we have learned from a decade of implementing competing algorithms in the Garnet and Amulet graphical interface toolkits. These lessons reveal the design and implementation tradeoffs for different one-way, constraint satisfaction algorithms. The most important lessons we have learned are that (1) mark-sweep algorithms are more efficient than topological ordering algorithms; (2) lazy and eager evaluators deliver roughly comparable performance for most applications; and (3) constraint satisfaction algorithms have more than adequate speed, except that the storage required by these algorithms can be problematic.