| B. Freeman-Benson. Converting an existing user interface to use constraints. In Proceedings of the UIST'93 (ACM SIGGRAPH Symp. on User Interface Software and Technology), pages 207--215, Atlanta, GA, 1993. |
.... as DeltaBlue [Freeman Benson et al. 1990] and SkyBlue [Sannella, 1995] have been used in a number of applications, including the user interface toolkit MultiGarnet [Sannella, 1994] the constraint imperative programming language Kaleidoscope [Freeman Benson, 1991] the drawing program CoolDraw [FreemanBenson, 1993], the 3D animation system TBAG [Elliott et al. 1994] and the virtual reality system VB2 [Gobbetti and Balaguer, 1993] 9 . Frequently, constraint solvers and imperative programming languages have been integrated by modifying an object oriented system. For example, Garnet [Myers et al. 1990] ....
B. Freeman-Benson. Converting an existing user interface to use constraints. In Proceedings of the UIST'93 (ACM SIGGRAPH Symp. on User Interface Software and Technology), pages 207--215, Atlanta, GA, 1993.
....CSVG at the appropriate level of abstraction. It is essential that drawing programs permit users to specify constraints interactively, maintain them dynamically throughout editing, and ultimately reflect those constraints in the saved CSVG file. Constraint based graphics editors such as Cooldraw [17], Aldus Intellidraw tm , and Noth s CDA [30] as well as SVG capable editors such as Adobe Illustrator tm or Sketch [19] may provide a useful starting point. Even in the presence of graphical editing tools for CSVG, it may be beneficial to provide some syntactic extensions for CSVG. Future ....
B. Freeman-Benson. Converting an existing user interface to use constraints. In Proceedings of the ACM SIGGRAPH Symposium on User Interface Software and Technology, pages 207--215, Atlanta, Georgia, November 1993.
....synchronization [ACSE99] was largely inspired by a desire to support cleaner synchronization specifications in an efficient way. Global property concerns are closely related to model checking and type system design. Constraints are very useful in specifying flexible graphical user interfaces [B93] and are a good challenge problem for separation of global property concerns. The programmer should be able to declaratively specify linear constraints and inequalities between ordinary floating point program variables: constraint(window.right offset graphic.left) When the value of one ....
Bjorn Freeman-Benson, "Converting an Existing User Interface to Use Constraints", Proc. ACM Symposium on User Interface Software and Technology, Atlanta, Georgia, November 1993.
....the rest of the application uses. The hooks copy the new values assigned to the constrainable variables into the ordinary variables. This technique avoids modifying the vast majority of the code that manipulates and manages windows. Bjorn Freeman Benson discusses these issues in greater detail [11]. To make it easy for developers to express constraints among windows, the constraint variables embedded in each window are available to Scheme code via the accessor primitives window clv xl,xr,yt,yb, width,height , where, for example, xl names the x coordinate of the left side of the window ....
Bjorn Freeman-Benson. Converting an existing user interface to use constraints. In Proceedings of the ACM SIGGRAPH Symposium on User Interface Software and Technology, pages 207--215, Atlanta, Georgia, November 1993. 9
....object system. Multi Garnet al..lows the SkyBlue constraint solver to coexist with the Garnet constraint solver. It is possible to run existing Garnet programs without change and build Multi Garnet applications using Garnet s library of widgets. ffl The CoolDraw constraint based drawing program [5] uses an extended version of SkyBlue to maintain geometric relationships between graphic objects in a twodimensional plane. ffl TBAG is a toolkit for creating interactive 3D graphics [3] that uses SkyBlue to maintain relationships between time varying properties of graphic objects such as their ....
....of which cycle solvers are more successful at solving a given cycle, and use this information to call more promising cycle solvers first. One direction for future work is to extend SkyBlue to support inequalities. The CoolDraw system used an extended version of SkyBlue to support some inequalities [5]. Another area of active research is building debugging tools to help the programmer examine the constraint network, determine why a given solution is produced, and change the network to produce the desired solution. A system has been developed for interactively constructing graphical user ....
Bjorn Freeman-Benson. Converting an Existing User Interface to Use Constraints. In Proceedings of the ACM SIGGRAPH Symposium on User Interface Software and Technology, pages 207--215, Atlanta, Georgia, November 1993.
....CSVG at the appropriate level of abstraction. It is essential that drawing programs permit users to specify constraints interactively, maintain them dynamically throughout editing, and ultimately reflect those constraints in the saved CSVG file. Constraint based graphics editors such as Cooldraw [16], Aldus Intellidraw tm ,andNoth s 14 CDA [30] as well as SVG capable editors such as Adobe Illustrator tm or Sketch [18] may provide a useful starting point. Even in the presence of graphical editing tools for CSVG, it may be beneficial to provide some syntactic sugar for CSVG. Future ....
Bjorn Freeman-Benson. Converting an existing user interface to use constraints. In Proceedings of the ACM SIGGRAPH Symposium on User Interface Software and Technology, pages 207--215, Atlanta, Georgia, November 1993.
....a private object reference from escaping a particular module [NVP98] various security properties, global variables or constants, and synchronization between threads in a multithreaded system. Constraints over program variables are very useful in specifying flexible graphical user interfaces [B93] and enforcing constraints is a good challenge problem for modularizing global property concerns. The programmer should be able to declaratively specify linear constraints and inequalities between ordinary floating point program variables. When the value of one variable changes over the course of ....
Bjorn Freeman-Benson, "Converting an Existing User Interface to Use Constraints", Proc. ACM Symposium on User Interface Software and Technology, Atlanta, Georgia, November 1993.
....6.2 Centralized system A centralized approach for constraints helps solve the problems listed in the previous section. A centralized constraint system knows about all the constraints and is able to satisfy them all at once. HotDraw uses the ColbaltBlue system created by Bjorn Freeman Benson [1]. It has been modified somewhat in order for it to work with HotDraw. Each Drawing has its own constraint system, located in the ConstraintDrawing. This constraint system is responsible for adding and removing constraints as well as solving them. These operations are performed by the methods ....
Bjorn N. Freeman-Benson. Converting an existing user interface to use constraints. In User Interface Software and Technology, 1993.
....statements must be replaced by messages sent to Active Values. Known Uses Active values were first provided as part of the language in LOOPS [22] VisualWorks s ValueModel framework is based on this pattern [18] In particular, the ValueHolder object is a generic Active Value. The Cooldraw [7], Unidraw [23] and QOCA [11] constraint solvers all use Active Values to represent variables explicitly: the last two uses are mentioned in Design Patterns [8] Related Patterns Active Value refines Relationship Object (2) so this pattern s benefits and liabilities are similar to those of ....
Bjorn N. Freeman-Benson. Converting an existing user interface to use constraints. In Proc. ACM Symposium on User Interface Software and Technology (UIST), 1993.
....the rest of the application uses. The hooks copy the new values assigned to the constrainable variables into the ordinary variables. This technique avoids modifying the vast majority of the code that manipulates and manages windows. Bjorn Freeman Benson discusses these issues in greater detail [47]. To make it easy for developers to express constraints among windows, the constraint variables embedded in each window are available to Scheme code via the accessor primitives windowclv xl,xr,yt,yb,width,height , where, for example, xl names the x coordinate of the left side of the window ....
Bjorn Freeman-Benson. Converting an existing user interface to use constraints. In Proceedings of the ACM SIGGRAPH Symposium on User Interface Software and Technology, pages 207--215, Atlanta, Georgia, November 1993.
....extending the library with appropriate classes. 1. Introduction A constraint is a relation between two elements of a domain that should be maintained. The constraints are frequently used in applications of the real world; these have been applied initially to the development graphical interfaces [10]. 1 However, there are several other domains of applications of constraints such as problems of scheduling and allocation of resources [12,14] transports [15] data access [1] management of personnel [13] and multimedia and synchronisation [22] Programming with constraints allows users to ....
Freeman-Benson, B. "Converting an existing User Interface to Use Constraints", In proceedings of UIST'93, Atlanta, Georgia. November 1993.
.... [ Freeman Benson et al. 1990 ] and SkyBlue [ Sannella, 1995 ] have been used in a number of applications, including the user interface toolkit MultiGarnet [ Sannella, 1994 ] the constraint imperative programming language Kaleidoscope [ FreemanBenson, 1991 ] the drawing program CoolDraw [ Freeman Benson, 1993 ] the 3D animation system TBAG [ Elliott et al. 1994 ] and the virtual reality system VB2 [ Gobbetti and Balaguer, 1993 ] 9 . 9 see also [Balaguer and Gobbetti, 1995] Frequently, constraint solvers and imperative programming languages have been integrated by modifying an ....
B. Freeman-Benson. Converting an existing user interface to use constraints. In Proceedings of the UIST'93 (ACM SIGGRAPH Symp. on User Interface Software and Technology), pages 207--215, Atlanta, GA, 1993.
.... (Grundy, Hosking, Mugridge, and Fenwick 1994) and user interface systems (Maloney, Borning, and Freeman Benson 1989; Berlage 1992) The Hotdraw event based drawing tool (Johnson 1992) was converted to use relationships (in this case, arithmetic constraints) with no noticeable change in performance (Freeman Benson 1993). Finally, it appears that compilers will be able to use information about relationships (when explicitly retained in programs) to optimise programs execution (Vander Zanden 1994) 5.4 Finding the Objects Designing programs using explicit relationship objects involves three stages: first, ....
Freeman-Benson, B. N. (1993). Converting an existing user interface to use constraints.
....statements must be replaced by messages sent to Active Values. Known Uses Active values were first provided as part of the language in LOOPS [23] VisualWorks s ValueModel framework is based on this pattern [19] In particular, the ValueHolder object is a generic Active Value. The Cooldraw [7], Unidraw [24] and QOCA [11] constraint solvers all use Active Values to represent variables explicitly: the last two uses are mentioned in Design Patterns [8] Related Patterns Understanding and Using the ValueModel Framework in VisualWorks Smalltalk [26] describes how to use Active Values in ....
Bjorn N. Freeman-Benson. Converting an existing user interface to use constraints. In Proc. ACM Symposium on User Interface Software and Technology (UIST), 1993.
....Attribute Objects can reduce the clarity of program text, since simple assignment statements must be replaced by messages sent to Attribute Objects. VisualWorks s ValueModel framework is based on this pattern [23] In particular, the ValueHolder object is a generic Attribute Object. The Cooldraw [4], Unidraw [21] and QOCA [8] constraint solvers all use Attribute Objects to represent variables explicitly: the last two uses are mentioned in Design Patterns [5] Observer [5] can be used to link Attribute Objects to the objects which depend on the relationship. Attribute Objects often form a ....
Bjorn N. Freeman-Benson. Converting an existing user interface to use constraints. In Proceedings of the ACM Symposium on User Interface Software and Technology, 1993.
.... (Grundy, Hosking, Mugridge, and Fenwick 1994) and user interface systems (Maloney, Borning, and Freeman Benson 1989; Berlage 1992) The Hotdraw event based drawing tool (Johnson 1992) was converted to use relationships (in this case, arithmetic constraints) with no noticeable change in performance (Freeman Benson 1993). Finally, it appears that compilers will be able to use information about relationships (when explicitly retained in programs) to optimise programs execution (Vander Zanden 1994) 5.5 Finding the Objects Designing programs using explicit relationship objects involves three stages: first, ....
Freeman-Benson, B. N. (1993). Converting an existing user interface to use constraints.
....has been tested separately as well as a standalone solver. The current version of Ultraviolet has also been used as the constraint solver in the Constraint Drawing Framework, a commercial graphics library written in Smalltalk. The Constraint Drawing Framework is an updated version of CoolDraw [Freeman Benson 93] the techniques for integrating the constraint mechanism with the other parts of the package are the same as descried in the earlier paper. 2 Related Work Two systems designed for user interface applications that support inequality constraints are QOCA and DETAIL. QOCA [Helm et al. 92a] is a ....
Bjorn Freeman-Benson. Converting an existing user interface to use constraints. In Proceedings of the ACM SIGGRAPH Symposium on User Interface Software and Technology, pages 207--215, Atlanta, Georgia, November 1993.
....has been tested separately as well as a standalone solver. The current version of Ultraviolet has also been used as the constraint solver in the Constraint Drawing Framework, a commercial graphics library written in Smalltalk. The Constraint Drawing Framework is an updated version of CoolDraw [8]; the techniques for integrating the constraint mechanism with the other parts of the package are the same as descried in the earlier paper. RELATED WORK Two systems designed for user interface applications that support inequality constraints are QOCA and DETAIL. QOCA [10] is a constraint ....
....both the presentation and implementation of the algorithm. Finally we define the tighten message to variables (with an interval argument) to tighten the bounds on the variable if possible, given the argument. For example, if a variable currently has the bounds [3,10] if we tighten it using [5,8], its new bounds will be [5,8] On the other hand, if a variable current has the bounds [3,10] and we tighten it using [50,100] its new bounds will be the singleton interval [10,10] since 10 is the number within the interval [3,10] that minimizes the distance to the interval [50,100] The ....
[Article contains additional citation context not shown here]
Bjorn Freeman-Benson. Converting an existing user interface to use constraints. In Proceedings of the ACM SIGGRAPH Symposiumon User Interface Software and Technology, pages 207--215, Atlanta, Georgia, November 1993.
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