| Bjorn N. Freeman-Benson. Constraint Imperative Programming. PhD thesis, University of Washington, Department of Computer Science and Engineering, July 1991. Published as Department of Computer Science and Engineering Technical Report 91-07-02. |
....of the first such efforts; an important characteristic of his system is the maintenance of dependency information to support dependency directed backtracking and to aid in generating explanations. Leler [39] describes Bertrand, a constraint language based on augmented term rewriting. Kaleidoscope [18, 19, 23] combines constraints with object oriented, imperative programming. Kaleidoscope uses the same constraint hierarchy theory employed in HCLP to reconcile the assignment operation of imperative programming with declarative constraints: in Kaleidoscope, an assignment statement x x 5 is semantically ....
Bjorn N. Freeman-Benson. Constraint Imperative Programming. PhD thesis, University of Washington, Department of Computer Science and Engineering, July 1991. Published as Department of Computer Science and Engineering Technical Report 91-07-02.
....Kaleidoscope 93 [Lopez et al. 93] is at once both a constraint language and an imperative object oriented language, it should include the fundamental and essential concepts of each. Thus, a CIP language must both have object identity, and ensure that all relations are explicit. In previous work [Freeman Benson 91, Lopez et al. 93] we described the constraint imperative programming framework, and successive designs and implementations of CIP languages: Kaleidoscope 90, Kaleidoscope 91, and Kaleidoscope 93. In the CIP framework, constraints can have various durations, including always (meaning that the ....
Bjorn N. Freeman-Benson. Constraint Imperative Programming. Ph.D. thesis, University of Washington, Department of Computer Science and Engineering, July 1991. Published as Department of Computer Science and Engineering Technical Report 91-07-02.
....enforced by a widely distributed set of small code fragments a recipe for maintenance headaches. To address this problem, we proposed constraint imperative programming (CIP) an integration of two disparate paradigms: a standard object oriented imperative one, and a declarative constraint one [Freeman Benson 91, Freeman Benson Borning 92a, Freeman Benson Borning 92b] Compare the two code fragments in Table 1, which allow the user to drag the mercury of a thermometer up and down. The version on the left uses only standard imperative constructs. It requires the programmer to check whether values have ....
....include Steele s language [Steele Jr. 80] Bertrand [Leler 87] and Siri [Horn 92a, Horn 92b] Of these, Siri, another constraint imperative language, is the closest to Kaleidoscope. For discussions of related work beyond this brief mention, see [Borning et al. 92, Freeman Benson Borning 92b, Freeman Benson 91] The first version of Kaleidoscope, Kaleidoscope 90, had a Smalltalk like syntax and served as a proof of concept for CIP. Its successor, Kaleidoscope 91, had several features lacking from Kaleidoscope 90: a conventional Algol like syntax, multi methods, and eager constraint solving semantics. ....
[Article contains additional citation context not shown here]
B.N. Freeman-Benson. Constraint Imperative Programming. PhD thesis, University of Washington, Department of Computer Science and Engineering, July 1991. Published as Department of Computer Science and Engineering Technical Report 9107 -02.
.... tool [11] Garnet [35] GITS [37] GROW [1] Peridot [34] Picasso [38] RENDEZVOUS [21, 22] the RTL CRTL tiled window layout system [7] and ThingLab II [31, 32] Finally, researchers have developed several general purpose languages that use constraints, including Bertrand [30] Kaleidoscope [14, 18], Siri [23, 24] as well as a number of languages integrating constraints with logic programming including CAL [42] CHIP [9, 46] CLP(R) 27, 28] CLP(6 ) 48] HCLP(R) 6, 49] Prolog III [8] and the cc (concurrent constraint) languages [41, 40] 2.1 Refinement versus Perturbation We can ....
....Weak constraints can be used to specify default relationships, which can be overridden by adding stronger constraints. A complete discussion of a theory of constraint hierarchies is given in reference [5] with preliminary versions in references [6, 4] and an alternative formulation in reference [18]. Briefly, a labeled constraint is a constraint labeled with a strength, written sc, where s is a strength and c is a constraint. These strengths are mapped onto the integers 0 : n, where n is the number of non required levels. Strength 0, with the symbolic name required, is always reserved ....
Bjorn N. Freeman-Benson. Constraint Imperative Programming. PhD thesis, University of Washington, Department of Computer Science and Engineering, July 1991. Published as Department of Computer Science and Engineering Technical Report 91-07-02.
....the two paradigms. We also present a new programming language, Kaleidoscope 90, that is an instance of this framework. Kaleidoscope 90 has been implemented, and various sample programs have been executed. This paper is based primarily on Freeman Benson s recently completed Ph.D. dissertation [11]. Reference [7] is a preliminary conference paper on Kaleidoscope, while [8] discusses in detail issues that arise when integrating objects and constraints. 2 A Motivating Example Consider the scroll bar shown on the left. The scroll bar has up and down buttons and a thumb. The size of the ....
....For example, the following constraint states that the default background color of the display is gray: always: weak Display.color = Gray; Stronger constraints (such as the constraint on the color of the thumb in the scrollbar example) would locally override this weak constraint. References [2, 11] present a formal description of the theory of constraint hierarchies, while [9, 10] describe two algorithms, DeltaBlue and DeltaStar respectively, for finding solutions to them. 3.2 Storage Model Integration Integrating the time aspect of the imperative storage model and the constraint graph ....
[Article contains additional citation context not shown here]
Bjorn N. Freeman-Benson. Constraint Imperative Programming. PhD thesis, University of Washington, Department of Computer Science and Engineering, July 1991. Published as Department of Computer Science and Engineering technical report 91-07-02.
....hierarchy can contain an arbitrary number of levels of preference, in either a total or partial order. The solutions to a constraint hierarchy are the valuations (mappings from variables to values) that best satisfy the constraints in the hierarchy, respecting their relative strengths. References [6, 18] present a formal description of the theory of constraint hierarchies, while [16, 17] describe two algorithms, DeltaBlue and DeltaStar respectively, for finding solutions to them. Extending the Celsius Fahrenheit Kelvin example with a constraint hierarchy results in the constraint graph: G = ....
....with existing solvers. Thus the overview of the Kaleidoscope 91 constraint solver is: first, solve the type constraints; second, execute the constraint constructors; and third, solve the primitive constraints. The complete algorithm is omitted here due to space restrictions, but is available in [18]. The complete algorithm is incremental, and accommodates the constraint constructors asserting further constraints (or local constraints) which then require solving additional type constraints, calling additional constraint constructors, and so on. 5 Examples As we stated earlier, our original ....
Bjorn N. Freeman-Benson. Constraint Imperative Programming. PhD thesis, University of Washington, Department of Computer Science and Engineering, July 1991. Published as Department of Computer Science and Engineering Technical Report 91-07-02.
....user interfaces may be written in high level imperative languages, the constraint portions of the user interface are written at a low level, by hand, and enforced by a code fragments distributed throughout the program a recipe for maintenance headaches. To address this problem, we proposed, in [Freeman Benson 91] and [Freeman Benson Borning 92] an integration of two disparate paradigms: a standard object oriented imperative one, and a declarative constraint one. The result is named constraint imperative programming (CIP) While the original motivation for CIP languages was interactive applications, ....
....To illustrate the incremental execution of constructors, consider the Kaleidoscope program in Figure 8. The constructor (Point, Point, Point) is chosen at line (1) following each state change, so as to maintain userdefined constraints. In fact, the Kaleidoscope 91 implementation did exactly that [Freeman Benson 91] However, while this made constraint maintenance straightforward, most of these constructor re executions were superfluous as, in the vast majority of cases, they filled slots with exactly the same values as the slots had previously held. Further, although the Kaleidoscope 91 primitive solvers ....
[Article contains additional citation context not shown here]
Bjorn Freeman-Benson. Constraint Imperative Programming. PhD thesis, University of Washington, Department of Computer Science and Engineering, July 1991. Published as Department of Computer Science and Engineering Technical Report 91-07-02.
....S 0 = f j 8c 2 H 0 e(c ) 0g S i = f j 2 S i01 8oe 2 S i01 : g(E(H i oe) g(E(H i ) g SR = Sn (where n is the number of non required levels in H) However, for local comparators, the desired definition is not as obvious. The difficulties are formally described in [Wilson 91, Freeman Benson 91] but informally the problem is that global comparators use a total order over the valuations but local comparators use a partial order. Thus we use the following formulation when dealing with local comparators: TR is defined using T i , the set of sets of valuations that best satisfy the ....
....information to support dependency directed backtracking and to aid in generating explanations. Leler [Leler 87] describes Bertrand, a constraint language based on augmented term rewriting. Freeman Benson and Borning [Freeman Benson 90, Freeman Benson Borning 92a, Freeman Benson Borning 92b, Freeman Benson 91] combine constraints with object oriented, imperative programming. Kaleidoscope uses the same constraint hierarchy theory employed in HCLP to reconcile the assignment operation of imperative programming with declarative constraints: in Kaleidoscope, an assignment statement x x 5 is ....
Bjorn N. Freeman-Benson. Constraint Imperative Programming. PhD thesis, University of Washington, Department of Computer Science and Engineering, July 1991. Published as Department of Computer Science and Engineering Technical Report 91-07-02.
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