Results 1 
7 of
7
Constraint Logic Programming: A Survey
"... Constraint Logic Programming (CLP) is a merger of two declarative paradigms: constraint solving and logic programming. Although a relatively new field, CLP has progressed in several quite different directions. In particular, the early fundamental concepts have been adapted to better serve in differe ..."
Abstract

Cited by 771 (23 self)
 Add to MetaCart
Constraint Logic Programming (CLP) is a merger of two declarative paradigms: constraint solving and logic programming. Although a relatively new field, CLP has progressed in several quite different directions. In particular, the early fundamental concepts have been adapted to better serve in different areas of applications. In this survey of CLP, a primary goal is to give a systematic description of the major trends in terms of common fundamental concepts. The three main parts cover the theory, implementation issues, and programming for applications.
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 package ..."
Abstract

Cited by 144 (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...
Multiway versus Oneway 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 multiway constraints than by oneway constraints. We present pseudocode for an incremental multiway constraint satisfaction algorithm, DeltaBlue, and describe experience in using the algo ..."
Abstract

Cited by 83 (17 self)
 Add to MetaCart
this paper we argue that many user interface construction problems are handled more naturally and elegantly by multiway constraints than by oneway constraints. We present pseudocode for an incremental multiway constraint satisfaction algorithm, DeltaBlue, and describe experience in using the algorithm in two user interface toolkits. Finally, we provide performance figures demonstrating that multiway constraint solvers can be entirely competitive in performance with oneway constraint solvers
Hierarchical Constraint Logic Programming
, 1993
"... A constraint describes a relation to be maintained ..."
Abstract

Cited by 67 (3 self)
 Add to MetaCart
A constraint describes a relation to be maintained
Constraint Hierarchies and Logic Programming
, 1989
"... Constraint Logic Programming (CLP) is a general scheme for extending logic programming to include constraints. It is parameterized by D, the domain of the constraints. However, CLP(D) languages, as well as most other constraint systems, only allow the programmer to specify constraints that must hold ..."
Abstract

Cited by 67 (5 self)
 Add to MetaCart
Constraint Logic Programming (CLP) is a general scheme for extending logic programming to include constraints. It is parameterized by D, the domain of the constraints. However, CLP(D) languages, as well as most other constraint systems, only allow the programmer to specify constraints that must hold. In many applications, such as interactive graphics, page layout, and decision support, one needs to express preferences as well as strict requirements. If we wish to make full use of the constraint paradigm, we need ways to represent these defaults and preferences declaratively, as constraints, rather than encoding them in the procedural parts of the language. We describe a scheme for extending CLP(D) to include both required and preferential constraints, with an arbitrary number of strengths of preference. We present some of the theory of such languages, and an algorithm for executing them. To test our ideas, we have implemented an interpreter for an instance of this language scheme with D equal to the reals. We describe our interpreter, and outline some examples of using this language.
Painting multiple views of complex objects
, 1990
"... This paper reviews and illustrates a direct manipulation approach to visualization of complex objects called paiidiilg multiple views. We describe a progra.mming model for direct manipulation in general and for painting in particular, based on simple constra.ints between entities in an the underlyin ..."
Abstract

Cited by 29 (2 self)
 Add to MetaCart
This paper reviews and illustrates a direct manipulation approach to visualization of complex objects called paiidiilg multiple views. We describe a progra.mming model for direct manipulation in general and for painting in particular, based on simple constra.ints between entities in an the underlying scientific database and the components of displays used to examine the data. With this model, the original notion of “brushing scatterplots” is easily extended.
MultiGarnet: Integrating MultiWay Constraints with Garnet
, 1992
"... Constraints provide a useful mechanism for maintaining relations in user interface toolkits. Garnet is a widelyused user interface toolkit with considerable functionality, based on oneway, required constraints. MultiGarnet extends Garnet by adding support for multiway constraints and constraint ..."
Abstract

Cited by 22 (8 self)
 Add to MetaCart
Constraints provide a useful mechanism for maintaining relations in user interface toolkits. Garnet is a widelyused user interface toolkit with considerable functionality, based on oneway, required constraints. MultiGarnet extends Garnet by adding support for multiway constraints and constraint hierarchies with both required and preferential constraints. This document contains three chapters describing MultiGarnet: ffl Chapter 1 presents a highlevel overview of MultiGarnet. To motivate the development of MultiGarnet, we examine the Garnet constraint system, present some realistic user interface problems that are difficult to handle in Garnet, and demonstrate how MultiGarnet addresses these problems. We provide details on how MultiGarnet 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 MultiGarnet (version 2.1). This includes information ...