| Borning, A. Defining constraints graphically. In Proc. CHI 86, pp. 137--143. |
....of these visual spatial query languages lack a method to cope with the fact that an acceptable answer even the best fit may actually differ from the geometry in the query configuration. 2.3. Sketching Sketching was used in the past primarily in CAD for design. Sketchpad [51] and ThingLab [2] were initial approaches to formulate constraints graphically. Pizano et al. 46] used spatial constraints for describing consistency in spatial databases; however, unlike describing situations that should match the configuration of interest, they focused on constructing those situations that ....
A. Borning, "Defining Constraints Graphically," Human Factors in Computing Systems, CHI 86, Boston, MA, 1986, pp. 137-143.
....spatial query languages lack a method to cope with the fact that an acceptable answer even the best fit may actually differ from the geometry in the query configuration. 2.3. Sketching Sketching was used in the past primarily in CAD for design. Sutherland s [26] Sketchpad and Borning s [2] ThingLab were initial approaches to formulate constraints graphically. Pizano et al. 25] used spatial constraints for describing consistency in spatial databases; however, unlike describing situations that should match the configuration of interest, they focused on constructing those situations ....
A. Borning "Defining Constraints Graphically," Human Factors in Computing Systems, CHI 86, Boston, MA, 1986, pp. 137-143.
....be placed over the spreadsheet to reveal dependencies between cells. Other examples of relevant user interface techniques include Pad [12, 11] which can be used to organize several spreadsheets at different depths. Spreadsheets are also related to the area of constraint languages and systems [68, 20, 19, 18, 71, 110]. Constraints are relationships that are declared once and then maintained by the system. Constraints are relevant to spreadsheets since values of cells are constrained by equations. Spreadsheets use single direction data propagation, thus can be viewed as one way constraint systems. Although not ....
Alan Borning. Defining constraints graphically. In Proceedings of ACM CHI'86 Conference on Human Factors in Computing Systems, pages 137--143, 1986.
....between tokens and variables in Jacob s UIMS as well as constraint systems such as those embedded in Garnet and Serpent are interesting illustrations of the notion of direction. One way constraint systems implement one way correspondences whereas two way constraint systems such as ThingLab [12] implement twoway correspondences. Connectivity Connectivity refers to the cardinality of associations between exported objects and presentation objects. Experience reveals two useful configurations: connectivity 1 to n as shown in Figure 1 and connectivity n to 1 as illustrated in Figure 3. ....
Borning, A.H. Defining Constraints Graphically. In Proceedings of CHI'86 (Boston, April 13-17). ACM, New York,1986, pp. 137-143.
....are applied. In contrast, Lapidary allows constraints to be demonstrated on example objects. Arbitrary numbers of these objects may then be created at run time, and the constraints that were demonstrated on the example objects will be used to lay them out automatically. Graphical ThingLab [1] allows constraints that define the dynamic behavior of objects to be defined in a dataflow manner by pictorially hooking together operands and operators. Lapidary also allows constraints to define the dynamic behavior of objects, but does not provide a pictorial programming mechanism for creating ....
Alan Borning. Defining Constraints Graphically. Human Factors in Computing Systems, Proceedings SIGCHI'86, Boston, MA, April, 1986, pp. 137-143.
....the exception of bumping into the bird, the rest of the graphical objects can ignore the bird s movements. Animators use actors to decompose the animation task into smaller separate processes. Constraint based systems allow the specification of the movement based on relationships between objects [11, 12, 43]. A simple example of this is a swinging pendulum under the influence of gravity. The constraint of this system is that the pendulum and the pivot point must always remain the same distance apart. Taking into account the constraints and forces, a constraint solver is used to determine the next ....
Alan Borning. Defining constraints graphically. In Proceedings of ACM CHI'86 Conference on Human Factors in Computing Systems, Drawing and Animation Systems, pages 137--143, 1986.
....Programming. 12 Figure 2.1: ThingLab: Screen snapshot of ThingLab showing the definition of MidPointLine graphically. Given the definition of Software Visualization, the representation of a program in a VP system is a form of SV. 2.2. 2 VP Example: Graphical ThingLab ThingLab [Borning, 1981, Borning, 1986] is a simulation environment that allows users to create and simulate experiments in physics and geometry by specifying the sets of constraints in a system. ThingLab has a graphical interface to program the constraints and data flow of a system (See Figure 2.1) The next section explains Program ....
Borning, A. (1986). Defining Constraints Graphically. In ACM Conference on Human Factors in Computing Systems (CHI'86), pages 137--143.
....is fixed. In other words, the representation can not be specialized toward the problem to be solved. The same holds true for other visual programming languages that use distinct but nonetheless fixed metaphors. For instance, Fabrik [58] makes use of a data flow metaphor, and ThingLab [8] uses constraints. Figure 3 29: BLOX Pascal The experience with Agentsheets indicates that the ability of spatial representations to evolve is crucial. The first version of the Voice Dialog Environment was created in Spring 1991 (Figure 3 30) A simple graph model consisting of nodes and arcs ....
Borning, A., "Defining Constraints Graphically," CHI86, 1986, pp. 137-143.
....biggest difference is that, in contrast to a macro, a command not only provides raw functionality but wraps up functionality as language accessible through a direct manipulation user interface suitable for end users. Comparable trap door mechanism in systems such as Rehearsal World [4] or ThingLab [3] also provide access to the underlying programming language Smalltalk in both case but do not include end user interface generators to wrap up new language pieces. LabView [8] and Prograph [6] provide interactors for individual data types (e.g. a push button switch for a boolean type) but ....
Borning, A., "Defining Constraints Graphically," CHI86, ACM, 1986, pp. 137-143.
....application made feasible by our constraint methods. 3.4. Displaying and Editing Constraints A difficult issue in constraint systems is how to make the constraints visible to the user. Some alternatives that have been used are textual languages such as [Nel85] schematic representations such as [Bor86] or visual representations such as [Sut63] which superimpose constraints on the images of the objects they connect. Augmented Snap Dragging provides a basis for visually representing constraints as well as specifying them. The two simple snapping constraints combined with other drawing tools ....
Alan Borning. Defining constraints graphically. In Proceedings CHI 86, pages 137--143, April 1986.
....are constrained by equations. Because the system only allows one equation to be attached to each cell and because it only propagates values from parameters of an equation to a cell and not in the other direction, it can be thought of as a one way constraint system. A number of systems such as [Born81, Nels85, Born86a, Born86b, Duis86, Vand89, Hill92] have employed more general multi way constraints [Lele88] in the user 21 interface or graphical presentation domain. Multi way constraints are more expressive and support a larger class of computations. However, with this additional power comes some drawbacks. In particular, these techniques ....
Borning, A., "Defining Constraints Graphically", Proceedings of CHI '86, Boston, (April 1986), pp. 137-143.
....1 for constraint satisfaction and the constraints themselves. Once an algorithm for constraint evaluation is developed, the programmer can reduce his task 2 to specifying only the constraints and run the algorithm as an abstract machine with the specification as input. Alan Bornings ThingLab [12, 13] is a very impressive graphical constraint system. ThingLab allows to define the constraints graphically and the results of the constraint evaluation are displayed immediately on the screen. Example applications show geometric dependencies by experimenting directly 1 for instance dependency ....
A. Borning, "Defining Constraints Graphically", Proc. CHI 86, Conf. Human Factors in Computing Systems, Apr. 86, ACM, pp. 137-143.
.... Users do not need to continually answer questions [Myers 88] produce multiple snapshots [Kurlander 91] or specify constructor objects [Bier 86, Gleicher 91, Maulsby 89, Maulsby Witten 89] In addition, the user does not need to specify the constraints explicitly as in many previous systems [Borning 86, Kalra 90, Nelson 85] Another unique feature of our system is that it allows developers to dynamically change the rule conditions and rule ordering that determine which constraints are most likely, and thus make applications behave differently depending on end user runtime actions. For instance, ....
....by an underlying system known as a constraint solver. Traditionally constraints have been represented as a combination of a predicate, used to test whether the constraint currently holds, and some methods that can be executed to satisfy the constraint [Borning Duisberg 86] In Rockit, as in [Borning 86] the methods to satisfy a given constraint are deduced automatically from the predicate. Two different types of graphical feedback are given by Rockit. The first kind is given when the system guesses a possible constraint, while interaction is in progress. The second is given when the user ....
Alan H. Borning. Defining Constraints Graphically. In Human Factors In Computing Systems: Proceedings ACM SIGCHI'86, pages 137--143, Boston, MA, April 1986. Addison and Wesley.
....languages, it does not support some attractive facilities offered by alternate approaches. For instance, unlike ThingLab [3] the Synthesizer Generator [23] and Pan [2] it does not support declarative specification of the semantics user interfaces; unlike the recent extension to ThingLab [4] and Perdiot [21] it does not offer interactive specification of the semantics of user interfaces; unlike UIDE [13] it does not support evaluation of the user interface or automatic help generation; unlike Chiron [29] GELO [20] and StarLite [5] it does not support programmer defined display ....
Alan H. Borning, "Defining Constraints Graphically," CHI '86 Proceedings, April 1986, pp. 137-143.
....functional paradigm. In a functional language, there is no notion of control flow or global variables. Thus, the limitations imposed by the use of pictures in imperative languages are totally eliminated. Meanwhile, a visual language fits well with the functional paradigm. 2.2. 2 ThingLab ThingLab [1] is another example of purely visual programming environment. It introduces the idea of graphically specified constraints. In most constraint based systems, constraints are typically defined using an underlying implementation language. Therefore, in order to specify a new constraint, the user must ....
....of the values of the two endpoints of the line. digital circuits composed of logical gates. Variables of the involved objects are denoted as small labeled boxes. Such labeled boxes are connected to the inputs and outputs of certain operators to specify the relationships among them. Figure 3 [1] shows a graphical specification of a MidPointLine in ThingLab. ThingLab presents an intuitive way to graphically specify constraints. It demonstrates that, in a visual programming environment, graphical constructs are easier and more intuitive to use than textual constructs in the specifying of ....
[Article contains additional citation context not shown here]
Alan Borning. Defining constraints graphically. In Human Factors in Computing Systems, CHI 1986 Proceedings, pages 137--143, 1986.
....programming A new quality of the multiple view approach is achieved with constraint based Systems. Views are in a constraint relation with the model; basically constraints can hold on any object in the system. One of the most impressive systems that experiments with constraints is the ThingLab [6]. Giving a set of dependencies between values in form of special expressions, a solution is generated which satisfy all of this (if it exists) The number of solutions are small if the number of constraints is sufficient. ThingLab is a constraint based simulation environment, that allows direct ....
A. Borning, "Defining Constraints Graphically", Proc. CHI 86, Conf. Human Factors in Computing Systems, Apr. 86, ACM, pp. 137-143.
....using gravity fields to filter out unlikely possibilities. Users do not need to continually answer questions [20] produce multiple snapshots [16] or specify constructor objects [3, 10, 18, 19] In addition, the user does not need to specify the constraints explicitly as in many previous systems [5, 13, 22]. Another unique feature of our system is that it allows developers to dynamically change the rule conditions and rule ordering that determine which constraints are most likely, and thus make applications behave differently depending on end user runtime actions. For instance, this would allow ....
....are generally maintained by an underlying system known as a constraint solver. Traditionally constraints have been represented as a combination of a predicate, used to test whether the constraint currently holds, and some methods that can be executed to satisfy the constraint [4] In Rockit, as in [5], the methods to satisfy a given constraint are deduced automatically from the predicate. Two different types of graphical feedback are given by Rockit. The first kind is given when the system guesses a possible constraint, while interaction is in progress. The second is given when the user ....
Alan H. Borning. Defining Constraints Graphically. In Human Factors In Computing Systems: Proceedings ACM SIGCHI'86, pages 137--143, Boston, MA (April 1986). Addison and Wesley.
....textual Smalltalk. Demonstrational systems are a natural application for visual object orientation. Borning s ThingLab [2] is probably the most famous such system. ThingLab employs a constraint model rather than an imperative model, however, and while the constraints may be represented graphically [3], the methods for resolving the constraints are displayed textually. A number of other visual languages provide object oriented features. Prograph [8, 9] for example, provides a class system where the hierarchy is presented graphically. Inheritance, instance variables, dynamic dispatch, and ....
A. Borning. Defining constraints graphically. In Proceedings of CHI'86---Human Factors in Computing, pages 137--143. ACM Press, 1986.
No context found.
Borning, A. Defining constraints graphically. In Proc. CHI 86, pp. 137--143.
No context found.
Borning, A. Defining Constraints Graphically. Proceedings CHI '86, ACM, New York, 1986, pp. 137-143.
No context found.
A. Borning, Defining Constraints Graphically, Proc. CHI'86, Association for Computing Machinery (1986), 137-143.
No context found.
Borning, A. (1986). Defining Constraints Graphically. In ACM Conference on Human Factors in Computing Systems (CHI'86), pages 137--143.
No context found.
Borning, A. (1986). Defining Constraints Graphically. In ACM Conference on Human Factors in Computing Systems (CHI'86), pages 137--143.
No context found.
Borning, Alan. Defining Constraints Graphically. In Proceedings of ACM Transactions on Computer-Human Interaction, pages 137-143, April 1986.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC