Results 1  10
of
25
Constraint Query Languages
, 1992
"... We investigate the relationship between programming with constraints and database query languages. We show that efficient, declarative database programming can be combined with efficient constraint solving. The key intuition is that the generalization of a ground fact, or tuple, is a conjunction ..."
Abstract

Cited by 337 (35 self)
 Add to MetaCart
We investigate the relationship between programming with constraints and database query languages. We show that efficient, declarative database programming can be combined with efficient constraint solving. The key intuition is that the generalization of a ground fact, or tuple, is a conjunction of constraints over a small number of variables. We describe the basic Constraint Query Language design principles and illustrate them with four classes of constraints: real polynomial inequalities, dense linear order inequalities, equalities over an infinite domain, and boolean equalities. For the analysis, we use quantifier elimination techniques from logic and the concept of data complexity from database theory. This framework is applicable to managing spatial data and can be combined with existing multidimensional searching algorithms and data structures.
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
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 68 (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.
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 Programming and Database Query Languages
 In Proc. 2nd Conference on Theoretical Aspects of Computer Software (TACS
, 1994
"... . The declarative programming paradigms used in constraint languages can lead to powerful extensions of Codd's relational data model. The development of constraint database query languages from logical database query languages has many similarities with the development of constraint logic programmin ..."
Abstract

Cited by 60 (3 self)
 Add to MetaCart
. The declarative programming paradigms used in constraint languages can lead to powerful extensions of Codd's relational data model. The development of constraint database query languages from logical database query languages has many similarities with the development of constraint logic programming from logic programming, but with the additional requirements of data efficient, setatatime, and bottomup evaluation. In this overview of constraint query languages (CQLs) we first present the framework of [41]. The principal idea is that: "the ktuple (or record) data type can be generalized by a conjunction of quantifierfree constraints over k variables". The generalization must preserve various language properties of the relational data model, e.g., the calculus/algebra equivalence, and have time complexity polynomial in the size of the data. We next present an algebra for dense order constraints that is simpler to evaluate than the calculus described in [41], and we sharpen some of...
Integrating Constraints with an ObjectOriented Language
 In Proceedings of the 1992 European Conference on ObjectOriented Programming
, 1992
"... Constraints are declarative statements of relations among elements of the language's computational domain, e.g., integers, booleans, strings, and other objects. Orthogonally, the tools of objectoriented programming, including encapsulation, inheritance, and dynamic message binding, provide importan ..."
Abstract

Cited by 35 (6 self)
 Add to MetaCart
Constraints are declarative statements of relations among elements of the language's computational domain, e.g., integers, booleans, strings, and other objects. Orthogonally, the tools of objectoriented programming, including encapsulation, inheritance, and dynamic message binding, provide important mechanisms for extending a language's domain. Although the integration of constraints and objects seems obvious and natural, one basic obstacle stands in the way: objects provide a new, larger, computational domain, which the language's embedded constraint solver must accommodate. In this paper we list some goals and nongoals for an integration of constraints and object oriented language features, outline previous approaches to this integration, and describe the scheme we use in Kaleidoscope'91, our objectoriented constraint imperative programming language. Kaleidoscope'91 uses a classbased object model, multimethods, and constraint constructors to integrate cleanly the encapsulation an...
The Design and Implementation of Kaleidoscope'90, A Constraint Imperative Programming Language
 In Proceedings of the IEEE Computer Society International Conference on Computer Languages
, 1992
"... Two major paradigms in computer programming languages are imperative and declarative programming. We describe a scheme for languages that integrate specific features from these two paradigms into a new framework: Constraint Imperative Programming. Along with the framework, we discuss the design and ..."
Abstract

Cited by 29 (4 self)
 Add to MetaCart
Two major paradigms in computer programming languages are imperative and declarative programming. We describe a scheme for languages that integrate specific features from these two paradigms into a new framework: Constraint Imperative Programming. Along with the framework, we discuss the design and implementation of a particular instance of this framework, Kaleidoscope'90. From the imperative paradigm, constraint imperative programming adopts explicit control flow, state, and assignment. From the declarative paradigm, it adopts explicit, systemmaintained constraints (relations that should hold). There is a strong practical motivation for making this integration: in a typical application, some portions are most clearly described using imperative constructs, while other portions are most clearly described using constraints. By using a constraint imperative language, the most suitable paradigm can be used as appropriate. 1 Introduction We propose to combine two simple techniques decl...
Constraint Databases: A Survey
 Semantics in Databases, number 1358 in LNCS
, 1998
"... . Constraint databases generalize relational databases by finitely representable infinite relations. This paper surveys the state of the art in constraint databases: known results, remaining open problems and current research directions. The paper also describes a new algebra for databases with inte ..."
Abstract

Cited by 23 (3 self)
 Add to MetaCart
. Constraint databases generalize relational databases by finitely representable infinite relations. This paper surveys the state of the art in constraint databases: known results, remaining open problems and current research directions. The paper also describes a new algebra for databases with integer order constraints and a complexity analysis of evaluating queries in this algebra. In memory of Paris C. Kanellakis 1 Introduction There is a growing interest in recent years among database researchers in constraint databases, which are a generalization of relational databases by finitely representable infinite relations. Constraint databases are parametrized by the type of constraint domains and constraint used. The good news is that for many parameters constraint databases leave intact most of the fundamental assumptions of the relational database framework proposed by Codd. In particular, 1. Constraint databases can be queried by constraint query languages that (a) have a semantics ba...