| Freeman-Benson B.N. (1990). Kaleidoscope: Mixing Objects, Constraints and Imperative Programming, Proceedings of ECOOP- OOPSLA '90, pp. 77--88, ACM. |
....constraint network (satisfaction methods) In the remainder of this section we will discuss several satisfaction methods (section 2.1) and different kinds of constraint networks (section 2.2) 2.1. Classification of Satisfaction Methods At present there are six prevailing satisfaction methods [4, 8, 9, 10, 21, 22] (ignoring the satisfaction methods which are used in Artificial Intelligence [14, 15] In this section each of these methods will be presented. Propagation of known states (or Local Propagation) is a satisfaction method which propagates the results of constraint satisfaction one by one through ....
....system has several satisfaction methods at its disposal, it may sometimes choose which method to apply and even try another method when the first choice fails. 2.2. Classification of Constraint Networks Constraint networks used by the different constraint systems can vary in several aspects [6, 9, 10, 11, 21, 22, 27]. Most of these aspects deal with the nature of the dependency relations. In the remaining part of this section, important aspects of constraint networks are discussed. Dependency relations can be directional a directional The distinction between directional networks and a directional networks ....
Freeman-Benson B.N. (1990). Kaleidoscope: Mixing Objects, Constraints and Imperative Programming, Proceedings of ECOOP- OOPSLA '90, pp. 77--88, ACM.
....all active constraints as well as managing the system time and activating reactions and daemons. This way, imperative and declarative programming techniques can be freely mixed to model each aspect of the system with the most appropriate means, much as in the programming language Kaleidoscope (Freeman Benson 1990). 8.2.1. Information Modules All VB2 objects are instances of classes in which dynamically changing information is defined with active variables related through hierarchical constraints. Grouping active variables and constraints in classes permits the definition of information modules that ....
Freeman-Benson BM (1990) Kaleidoscope: Mixing Objects, Constraints, and Imperative Programming, Proc. ECOOP/OOPSLA, pp.77-87.
.... [Myers et al. 1990; Barth 1986; Henry and Hudson 1988; Hudson 1994; Szekely and Myers 1988; Vander Zanden 1988; Myers 1990; Hill et al. 1994] graphical layout systems [Gosling 1983] simulation systems [Borning 1981; Borning and Duisberg 1986] animations [Duisberg 1986] programming languages [Freeman Benson 1990; Maloney 1991; Hoover 1992] and programming environments [Reps et al. 1983] For instance, they may be used by: a graphical layout system to specify the alignment of objects; a graphical interface toolkit to maintain consistency between application data and the graphical objects used to ....
....exists upstream of one of the unenforced constraint s variables [FreemanBenson et al. 1990; Maloney 1991; Sannella 1994a] QuickPlan takes advantage of this fact by maintaining a minimum bound on the strength of the weakest upstream constraint for each variable. This strength is called a walkbound [Freeman Benson et al. 1990; Maloney 1991; Sannella 1994a, 1994b] Before attempting to enforce a constraint, QuickPlan ensures that at least one of the constraint s methods outputs to variables whose walkbounds are less than the constraint s strength. An algorithm for computing a variable s walkbound is presented in the ....
[Article contains additional citation context not shown here]
Freeman-Benson, B. N. 1990. Kaleidoscope: Mixing objects, constraints, and imperative programming. In OOPSLA/ECOOP'90 Conference Proceedings, pp. 77--88.
....called KR built on Common Lisp. Bertrand [Leler88] on which Siri is partially based, is a general purpose constraint language, and has been used for the specification of pictures, but it is not interactive, and has not been used for the implementation of user interfaces. Finally, Kaleidoscope [Freeman Benson90] is the first of the constraint imperative programming (CIP) languages, of which Siri is a member. Kaleidoscope allows the programmer to freely mix imperative statements with constraints that are to be maintained by the system. Besides easing the job of maintaining relationships between objects, ....
Freeman-Benson, B. Kaleidoscope: Mixing Objects, Constraints, and Imperative Programming. OOPSLA/Sigplan Notices 25(10): 77:88, October 1990.
....all active constraints as well as managing the system time and activating reactions and daemons. This way, imperative and declarative programming techniques can be freely mixed to model each aspect of the system with the most appropriate means, much as in the programming language Kaleidoscope (Freeman Benson, 1990). 1.2.1 Information modules All VB2 objects are instances of classes in which dynamically changing information is defined with active variables related through hierarchical constraints. Grouping active variables and constraints in classes permits the definition of information modules that provide ....
Freeman-Benson BM (1990) Kaleidoscope: Mixing Objects, Constraints, and Imperative Programming, Proc. ECOOP/OOPSLA: 77-87.
....constraints have been applied to other application areas including circuits [1] graphical interfaces [10, 11, 13, 14, 18, 25, 19] and spreadsheets. Multi way, multi output dataflow constraint systems have also been developed for graphical interfaces, including ThingLab [3, 8, 23] Kaleidoscope [7] and MultiGarnet [22, 21, 24] Multi way constraints are more powerful than one way constraints, but one way constraints suffice for many applications and in general are more easily managed by programmers. Researchers have adopted various approaches to storage optimization for dataflow ....
FREEMAN-BENSON, B. N. Kaleidoscope: Mixing objects, constraints, and imperative programming. In OOPSLA /ECOOP'90 Conference Proceedings (1990), pp. 77--88.
....depend. Imperative object oriented techniques offer appropriate abstractions for representing application components and sequencing relations between states, but little support in specifying relationships between objects, since relationships are not easily encapsulated within the objects concerned [12][13] 3] The maintenance of these relationships has to be delegated to a change propagation mechanism responsible of updating dependent objects in response to changes in the objects on which they depend. The specification and maintenance of dependencies between objects is one of the major problems ....
....or using the system s global time. By default, global time is advanced at each constraint operation, but it is also possible to specify sequences of constraint operations to be executed within the same time slice by explicitly parenthesizing them, much as in the programming language Kaleidoscope [12][13] This simple model makes it possible to elegantly express time dependent behavior by creating constraints or daemons that refer to past values of active variables. All VB2 objects are instances of classes in which dynamically changing information is defined with active variables related ....
Freeman-Benson BN (1990), Kaleidoscope: Mixing Objects, Constraints, and Imperative Programming. Proc. ECOOP/OOPSLA: 77-87.
.... [10, 17] ffl the ability to detect causes of unsatisfiability for debugging inconsistent systems of constraints [10] ffl semantic feedback during direct manipulation to indicate valid ranges for variables and movements of objects [12] ffl graceful handling of underconstrained systems [16, 6] Drawing packages, CAD systems, application builders, and diagrammatic editors are representative of a class of applications that could benefit particularly from constraints. These direct manipulation graphics editors let a user manipulate visual manifestations of familiar objects to convey ....
B. N. Freeman-Benson. Kaleidoscope: Mixing objects, constraints, and imperative programming. In Object-Oriented Programming Systems, Languages and Applications Conference, pages 77--88, 1990.
....logic programming, backtrack search is used and the constraints are used passively as posteriori tests. However, propagation techniques can have a dramatic effect in cutting down the size of the search space [30] A general purpose language for constraint imperative programming is Kaleidoscope [31]. In the rest of this section we specifically consider geometric constraint systems. Obvious drawbacks of unstructured techniques are their computational complexity and their potential inefficiency for interactive applications: each single change leads to re solving the whole set of constraints. ....
B. N. Freeman-Benson. Kaleidoscope: Mixing objects, constraints, and imperative programming. SIGPLAN Notices, 25(10), 1990, 77 -- 88.
....is a bit too ad hoc. The trail and stack effecting exception handling that we have in mind offers all the power needed with a simple and uniform semantics. Finally, we must mention intriguingly promising on going work in the spirit of what we propose but taking directly after Thinglab [FB90] Conclusion We are convinced that a major momentum in programming of the 90 s will be the inclusion of constraintsolving as a basic tool. Combined with the abstractions already accepted with the advent of symbolic and object oriented programming as well as the familiar older (and irremediably ....
Bjorn Freeman-Benson. Kaleidoscope: Mixing objects, constraints, and imperative programming. In Joint Proceedings of the European Conference on Object-Oriented Programming, and the Conference on Object-Oriented Systems Languages and Applications, pages 77--88. ACM, 1990.
.... of their utility, dataflow constraints are now used in a wide variety of interactive applications, including spreadsheets, graphical interface toolkits [35, 2, 20, 27, 46, 47, 36, 34, 22] graphical layout systems [18] simulation systems [3, 4] animations [12] imperative programming languages [14, 33], and programming environments [37] QuickPlan 4 3 Why Multi Output, Multi Way Dataflow Constraints are Important One way constraints handle many aspects of interactive applications well. However, as pointed out in the introduction, one way constraints are incapable of expressing multi way ....
....are capable of satisfying more expressive constraints within their domain of knowledge, but they have the drawbacks cited in Section 2 including less coverage, less efficiency, and less usability relative to local propagation techniques. Some systems, such as ThingLab [3] and Kaleidoscope [14], have attempted to overcome these difficulties by employing both types of solvers and allocating constraints automatically to the most appropriate solver. QuickPlan 42 8.3 Applications that Use Local Propagation Techniques Local propagation techniques are best adapted for ....
Bjorn N. Freeman-Benson. Kaleidoscope: Mixing Objects, Constraints, and Imperative Programming. OOPSLA/ECOOP'90 Conference Proceedings, 1990, pp. 77-88.
....an important characteristic of his system is the maintenance of dependency 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 ....
Bjorn Freeman-Benson. Kaleidoscope: Mixing Objects, Constraints, and Imperative Programming. In Proceedings of the 1990 Conference on ObjectOriented Programming Systems, Languages, and Applications, and European Conference on Object-Oriented Programming, pages 77--88, Ottawa, Canada, October 1990. ACM.
....word with multiple meanings. A lot of work has been done in the recent years on the integration of objects and constraints, that are seen as reactive formulae providing multi directional interactions between objects. A classical example, among numerous others, of this approach is Kaleidoscope [Fre90] On the other side, there has been less work on the integration of constraints as a declarative description of a hard problem (say, NP hard) with objects (e.g. Pug94] Ca94] The topic is more complex because it is still unclear what the best manner is solve these problems. As stated in the ....
B. Freeman-Benson. Kaleidoscope: Mixing Objects, Constraints, and Imperative Programming. Proc. of OOPSLA/ECOOP'90, ACM Sigplan Notices, Ottawa, October 1990.
....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 thumb is ....
Bjorn Freeman-Benson. Kaleidoscope: Mixing Objects, Constraints, and Imperative Programming. In Proceedings of the 1990 Conference on Object-Oriented Programming Systems, Languages, and Applications, and European Conference on Object-Oriented Programming, pages 77-- 88, Ottawa, Canada, October 1990. ACM.
....the design and implementation of the integration techniques we are using in Kaleidoscope 91, our second generation object oriented constraint imperative programming language. Kaleidoscope 91 contains a number of significant differences from its predecessor, Kaleidoscope 90 (as described in [15]) For example, Kaleidoscope 91 uses multi methods whereas the original Kaleidoscope 90 did not; Kaleidoscope 91 has separate type and implementation inheritance hierarchies whereas Kaleidoscope 90 combined the two; and Kaleidoscope 91 has only one kind of constraint as opposed to the bewildering ....
Bjorn Freeman-Benson. Kaleidoscope: Mixing Objects, Constraints, and Imperative Programming. In Proceedings of the 1990 Conference on Object-Oriented Programming Systems, Languages, and Applications, and European Conference on Object-Oriented Programming, pages 77--88, Ottawa, Canada, October 1990. ACM.
No context found.
B. Freeman-Benson. Kaleidoscope: Mixing Objects, Constraints, and Imperative Programming. Proc. of OOPSLA/ECOOP'90, ACM Sigplan Notices, Ottawa, October 1990.
No context found.
Freeman-Benson, B. (1990) Kaleidoscope: mixing objects, Constraints, and Imperative Programming. Proceedings of ECOOP/OOPSLA 90, Ottawa (Canada), ACM-SIGPLAN notices, Vol. 25, n. 10, pp. 77-88.
No context found.
Freeman-Benson, B. Kaleidoscope: mixing objects, Constraints, and Imperative Programming. Proceedings of ECOOP/OOPSLA 90, pp. 77-88. Freeman-Benson, B. Borning, A. (1992) Integrating constraints with an objectoriented Language. Proceedings of ECOOP '92, pp. 268-286.
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