Results 1 - 10
of
15
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 packa ..."
Abstract
-
Cited by 137 (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...
Multi-way versus One-way 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 multi-way constraints than by one-way constraints. We present pseudocode for an incremental multi-way constraint satisfaction algorithm, DeltaBlue, and describe experience in using the algo ..."
Abstract
-
Cited by 82 (17 self)
- Add to MetaCart
this paper we argue that many user interface construction problems are handled more naturally and elegantly by multi-way constraints than by one-way constraints. We present pseudocode for an incremental multi-way constraint satisfaction algorithm, DeltaBlue, and describe experience in using the algorithm in two user interface toolkits. Finally, we provide performance figures demonstrating that multi-way constraint solvers can be entirely competitive in performance with one-way constraint solvers
Infering Constraints from Multiple Snapshots
, 1993
"... Many graphics tasks, such as the manipulation of graphical objects, and the construction of userinterface widgets, can be facilitated by geometric constraints. However, the difficulty of specifying constraints by traditional methods forms a barrier to their widespread use. In order to make constrain ..."
Abstract
-
Cited by 40 (2 self)
- Add to MetaCart
Many graphics tasks, such as the manipulation of graphical objects, and the construction of userinterface widgets, can be facilitated by geometric constraints. However, the difficulty of specifying constraints by traditional methods forms a barrier to their widespread use. In order to make constraints easier to declare, we have developed a method of specifying constraints implicitly, through multiple examples. Snapshots are taken of an initial scene configuration, and one or more additional snapshots are taken after the scene has been edited into other valid configurations. The constraints that are satisfied in all the snapshots are then applied to the scene objects. We discuss an efficient algorithm for inferring constraints from multiple snapshots. The algorithm has been incorporated into the Chimera editor, and several examples of its use are discussed. 1 Introduction Geometric constraints are used extensively in computer graphics in the specification of relationships between graph...
Inferring Graphical Constraints with Rockit
"... Rockit is a system that identifies the possible graphical constraints between objects in a two-dimensional scene and allows the user to choose and apply the desired constraints quickly and easily. Rockit looks for intersections between the position of a designated object and the gravity fields of o ..."
Abstract
-
Cited by 26 (5 self)
- Add to MetaCart
Rockit is a system that identifies the possible graphical constraints between objects in a two-dimensional scene and allows the user to choose and apply the desired constraints quickly and easily. Rockit looks for intersections between the position of a designated object and the gravity fields of other objects to determine the possible constraints. These candidate constraints are passed to a rule system that encodes some simple knowledge about how graphical objects normally interact and can thus be constrained to one another. The rules are used to determine the most likely constraints to be applied between the designated object and the other objects in the scene. As the user manipulates the object, the object will gravitate towards the most likely constraint scenario. The inferred constraints are indicated by the creation of graphical and sonic feedback objects. Rockit makes it easy to try other likely scenarios by simply pressing a key, causing the system to cycle through the other p...
An Object-Oriented Architecture for Constraint-Based Graphical Editing
- In Third Eurographics Workshop on Object-Oriented Graphics
, 1995
"... Direct-manipulation graphics editors are useful tools for a wide variety of domains such as technical drawing, computer-aided design, application building, and music composition. Constraints can be a powerful mechanism for specifying complex semantics declaratively in these domains. To date, few dom ..."
Abstract
-
Cited by 23 (6 self)
- Add to MetaCart
Direct-manipulation graphics editors are useful tools for a wide variety of domains such as technical drawing, computer-aided design, application building, and music composition. Constraints can be a powerful mechanism for specifying complex semantics declaratively in these domains. To date, few domain-specific graphics editors have provided constraintbased specification and manipulation facilities. Part of the reason is that graphical editors are hard enough to develop without implementing a constraint system as well. Even though graphical editing frameworks can reduce the difficulty of constructing domain specific graphical editors, a fundamental problem remains: there do not exist general constraint solving architectures that are efficient enough to support highly interactive editing, yet suitably flexible and extensible to adapt to different editing domains. Addressing this problem, we present an object-oriented architecture that integrates the graphical editing framework Unidraw w...
Multi-Garnet: Integrating Multi-Way Constraints with Garnet
, 1992
"... Constraints provide a useful mechanism for maintaining relations in user interface toolkits. Garnet is a widely-used user interface toolkit with considerable functionality, based on one-way, required constraints. Multi-Garnet extends Garnet by adding support for multi-way constraints and constraint ..."
Abstract
-
Cited by 20 (8 self)
- Add to MetaCart
Constraints provide a useful mechanism for maintaining relations in user interface toolkits. Garnet is a widely-used user interface toolkit with considerable functionality, based on one-way, required constraints. Multi-Garnet extends Garnet by adding support for multi-way constraints and constraint hierarchies with both required and preferential constraints. This document contains three chapters describing Multi-Garnet: ffl Chapter 1 presents a high-level overview of Multi-Garnet. To motivate the development of Multi-Garnet, we examine the Garnet constraint system, present some realistic user interface problems that are difficult to handle in Garnet, and demonstrate how Multi-Garnet addresses these problems. We provide details on how Multi-Garnet supports some of the features of Garnet, including constraints with pointer variables, and inheritance of constraints. ffl Chapter 2 contains a reference manual for the current version of Multi-Garnet (version 2.1). This includes information ...
Graphic Object Layout with Interactive Genetic Algorithms
- In Proceedings of the 1992 IEEE Workshop on Visual Languages
, 1992
"... Automatic graphic object layout methods have long been studied in many application areas in which graphic objects should be laid out to satisfy the constraints specific to each application. In those areas, carefully designed layout algorithms should be used to satisfy each application's constraints. ..."
Abstract
-
Cited by 16 (2 self)
- Add to MetaCart
Automatic graphic object layout methods have long been studied in many application areas in which graphic objects should be laid out to satisfy the constraints specific to each application. In those areas, carefully designed layout algorithms should be used to satisfy each application's constraints. However, those algorithms tend to be complicated and not reusable for other applications. Moreover, it is difficult to add each user's preferences to the layout scheme of the algorithm. To overcome these difficulties, we developed a general-purpose interactive graphic layout system GALAPAGOS based on genetic algorithms. GALAPAGOS is general-purpose because graphic objects are laid out not by specifying how to lay them out, but just by specifying the preferences for the layout. GALAPAGOS can not only lay out complicated graphs automatically, but also allow users to modify the constraints at run time so that users can tell the system their own preferences.
A Pure Reasoning Engine for Programming by Demonstration
- In Proceedings of the ACM Symposium on User Interface Software and Technology
, 1994
"... We present an inference engine that can be used for creating Programming By Demonstration systems. The class of systems addressed are those which infer a state change description from examples of state [9,11]. The engine can easily be incorporated into an existing design environment that provides an ..."
Abstract
-
Cited by 10 (2 self)
- Add to MetaCart
We present an inference engine that can be used for creating Programming By Demonstration systems. The class of systems addressed are those which infer a state change description from examples of state [9,11]. The engine can easily be incorporated into an existing design environment that provides an interactive object editor. The main design goals of the inference engine are responsiveness and generality. All demonstrational systems must respond quickly because of their interactive use. They should also be general - they should be able to make inferences for any attribute that the user may want to define by demonstration, and they should be able to treat any other attributes as parameters of this definition. The first goal, responsiveness, is best accommodated by limiting the number of attributes that the inference engine takes into consideration. This, however, is in obvious conflict with the second goal, generality. This conflict is intrinsic to the class of demonstrational system de...
Model-Based User Interface Design by Demonstration and by Interview
, 1995
"... Elements and Prototype Elements User interface elements are "real" in the sense that the user can view them and manipulate them. There are several reasons why you may additionally want to introduce abstract elements into an Elements, Events & Transition model. Abstract elements should not be confu ..."
Abstract
-
Cited by 10 (0 self)
- Add to MetaCart
Elements and Prototype Elements User interface elements are "real" in the sense that the user can view them and manipulate them. There are several reasons why you may additionally want to introduce abstract elements into an Elements, Events & Transition model. Abstract elements should not be confused with the concept of "abstract superclasses" found in some object-oriented programming languages. An abstract EET element differs from an ordinary EET element only in not having a visual representation. The most common use of an abstract element is as a placeholder for various variables that have no immediate visual representation. Abstract elements must be specified textually (as they per definition have no visual representation), and appear at the beginning of an EET model, before the transition definitions. A simple example is shown below. 54 Element { <string> name bb; <string> selectedPins ; } In this example, the element is used to keep a list of the names of the currently sel...
Enhancing the Performance and Dependability of Real-Time Systems
- In Proceedings of the IEEE International Computer Performance and Dependabilility Symposium
, 1995
"... The imprecise-computation technique was proposed as a way to handle transient overloads and enhance the dependability of real-time systems. In a system based on this technique, each time-critical task produces an approximate but usable result whenever a failure or overload prevents the system from p ..."
Abstract
-
Cited by 6 (3 self)
- Add to MetaCart
The imprecise-computation technique was proposed as a way to handle transient overloads and enhance the dependability of real-time systems. In a system based on this technique, each time-critical task produces an approximate but usable result whenever a failure or overload prevents the system from producing a precise result. This approach makes meeting deadlines easier, increases the availability of data and services, reduces the need for error-recovery operations, and minimizes the costs in replication. In this paper, we provide an overview of ways to implement and schedule imprecise computations. We then describe the Imprecise Computation Server (ICS) and how it is used to ensure real-time performance of time-critical applications. 1 Introduction A real-time system contains tasks which must produce logically correct results by certain timing deadlines. If a time-critical task fails to deliver its result by its deadline, a timing fault occurs. A real-time system functions properly on...

