Results 1  10
of
595
The Semantics Of Constraint Logic Programs
 JOURNAL OF LOGIC PROGRAMMING
, 1996
"... This paper presents for the first time the semantic foundations of CLP in a selfcontained and complete package. The main contributions are threefold. First, we extend the original conference paper by presenting definitions and basic semantic constructs from first principles, giving new and comp ..."
Abstract

Cited by 786 (13 self)
 Add to MetaCart
This paper presents for the first time the semantic foundations of CLP in a selfcontained and complete package. The main contributions are threefold. First, we extend the original conference paper by presenting definitions and basic semantic constructs from first principles, giving new and complete proofs for the main lemmas. Importantly, we clarify which theorems depend on conditions such as solution compactness, satisfaction completeness and independence of constraints. Second, we generalize the original results to allow for incompleteness of the constraint solver. This is important since almost all CLP systems use an incomplete solver. Third, we give conditions on the (possibly incomplete) solver which ensure that the operational semantics is confluent, that is, has independence of literal scheduling.
Theory and Practice of Constraint Handling Rules
, 1998
"... Constraint Handling Rules (CHR) are our proposal to allow more flexibility and applicationoriented customization of constraint systems. CHR are a declarative language extension especially designed for writing userdefined constraints. CHR are essentially a committedchoice language consisting of mu ..."
Abstract

Cited by 396 (35 self)
 Add to MetaCart
Constraint Handling Rules (CHR) are our proposal to allow more flexibility and applicationoriented customization of constraint systems. CHR are a declarative language extension especially designed for writing userdefined constraints. CHR are essentially a committedchoice language consisting of multiheaded guarded rules that rewrite constraints into simpler ones until they are solved. In this broad survey we aim at covering all aspects of CHR as they currently present themselves. Going from theory to practice, we will define syntax and semantics for CHR, introduce an important decidable property, confluence, of CHR programs and define a tight integration of CHR with constraint logic programming languages. This survey then describes implementations of the language before we review several constraint solvers  both traditional and non standard ones  written in the CHR language. Finally we introduce two innovative applications that benefited from using CHR.
The Oz Programming Model
 COMPUTER SCIENCE TODAY, LECTURE NOTES IN COMPUTER SCIENCE
, 1995
"... The Oz Programming Model (OPM) is a concurrent programming model subsuming higherorder functional and objectoriented programming as facets of a general model. This is particularly interesting for concurrent objectoriented programming, for which no comprehensive formal model existed until now. ..."
Abstract

Cited by 293 (10 self)
 Add to MetaCart
The Oz Programming Model (OPM) is a concurrent programming model subsuming higherorder functional and objectoriented programming as facets of a general model. This is particularly interesting for concurrent objectoriented programming, for which no comprehensive formal model existed until now. The model
Complexity and Expressive Power of Logic Programming
, 1997
"... This paper surveys various complexity results on different forms of logic programming. The main focus is on decidable forms of logic programming, in particular, propositional logic programming and datalog, but we also mention general logic programming with function symbols. Next to classical results ..."
Abstract

Cited by 283 (57 self)
 Add to MetaCart
This paper surveys various complexity results on different forms of logic programming. The main focus is on decidable forms of logic programming, in particular, propositional logic programming and datalog, but we also mention general logic programming with function symbols. Next to classical results on plain logic programming (pure Horn clause programs), more recent results on various important extensions of logic programming are surveyed. These include logic programming with different forms of negation, disjunctive logic programming, logic programming with equality, and constraint logic programming. The complexity of the unification problem is also addressed.
Constraint Programming
, 1995
"... Constraint programming is a paradigm that is tailored to hard search problems. To date the main application areas are those of planning, scheduling, timetabling, routing, placement, investment, configuration, design and insurance. ..."
Abstract

Cited by 205 (8 self)
 Add to MetaCart
Constraint programming is a paradigm that is tailored to hard search problems. To date the main application areas are those of planning, scheduling, timetabling, routing, placement, investment, configuration, design and insurance.
Constraint Handling Rules
 Constraint Programming: Basics and Trends, LNCS 910
, 1995
"... . We are investigating the use of a class of logical formulas to define constraint theories and implement constraint solvers at the same time. The representation of constraint evaluation in a declarative formalism greatly facilitates the prototyping, extension, specialization and combination of cons ..."
Abstract

Cited by 190 (30 self)
 Add to MetaCart
. We are investigating the use of a class of logical formulas to define constraint theories and implement constraint solvers at the same time. The representation of constraint evaluation in a declarative formalism greatly facilitates the prototyping, extension, specialization and combination of constraint solvers. In our approach, constraint evaluation is specified using multiheaded guarded clauses called constraint handling rules (CHRs). CHRs define determinate conditional rewrite systems that express how conjunctions of constraints propagate and simplify. In this paper we concentrate on CHRs as an extension for constraint logic programming languages. Into such languages, the CHRs can be tightly integrated. They can make use of any hardwired solvers already built into the host language. Program clauses can be used to specify the nondeterministic behavior of constraints, i.e. to introduce search by constraints. In this way our approach merges the advantages of constraints (eager simp...
A Semantic Basis for the Termination Analysis of Logic Programs
 Journal of Logic Programming
, 1999
"... This paper presents a formal semantic basis for the termination analysis of logic programs. The semantics exhibits the termination properties of a logic program through its binary unfoldings  a possibly infinite set of binary clauses. Termination of a program P and goal G is determined by the abs ..."
Abstract

Cited by 99 (13 self)
 Add to MetaCart
This paper presents a formal semantic basis for the termination analysis of logic programs. The semantics exhibits the termination properties of a logic program through its binary unfoldings  a possibly infinite set of binary clauses. Termination of a program P and goal G is determined by the absence of an infinite chain in the binary unfoldings of P starting with G. The result is of practical use as basing termination analysis on a formal semantics facilitates both the design and implementation of analyzers. A simple Prolog interpreter for binary unfoldings coupled with an abstract domain based on symbolic norm constraints is proposed as an implementation vehicle. We illustrate its application using two recently proposed abstract domains. Both techniques are implemented using a standard CLP(R) library. The combination of an interpreter for binary unfoldings and a constraint solver simplifies the design of the analyzer and improves its efficiency significantly. 1 Introduction This ...
Datalog with Constraints: A Foundation for Trust Management Languages
 In PADL ’03: Proceedings of the 5th International Symposium on Practical Aspects of Declarative Languages
, 2003
"... Trust management (TM) is a promising approach for authorization and access control in distributed systems, based on signed distributed policy statements expressed in a policy language. Although several TM languages are semantically equivalent to subsets of Datalog, Datalog is not su#ciently expr ..."
Abstract

Cited by 94 (11 self)
 Add to MetaCart
Trust management (TM) is a promising approach for authorization and access control in distributed systems, based on signed distributed policy statements expressed in a policy language. Although several TM languages are semantically equivalent to subsets of Datalog, Datalog is not su#ciently expressive for finegrained control of structured resources. We define the class of linearly decomposable unary constraint domains, prove that Datalog extended with constraints in any combination of such constraint domains is tractable, and show that permissions associated with structured resources fall into this class. We also present a concrete declarative TM language, RT 1 , based on constraint Datalog, and use constraint Datalog to analyze another TM system, KeyNote, which turns out to be less expressive than RT 1 in significant respects, yet less tractable in the worst case. Although constraint Datalog has been studied in the context of constraint databases, TM applications involve di#erent kinds of constraint domains and have different computational complexity requirements.
Operational Semantics and Confluence of Constraint Propagation Rules
, 1997
"... . Constraint Handling Rules (CHR) allow one to specify and implement both propagation and simplification for userdefined constraints. Since a propagation rule is applicable again and again, we present in this paper for the first time an operational semantics for CHR that avoids the termination pro ..."
Abstract

Cited by 91 (12 self)
 Add to MetaCart
. Constraint Handling Rules (CHR) allow one to specify and implement both propagation and simplification for userdefined constraints. Since a propagation rule is applicable again and again, we present in this paper for the first time an operational semantics for CHR that avoids the termination problem with propagation rules. In previous work [AFM96], a sufficient and necessary condition for the confluence of terminating simplification rules was given inspired by results about conditional term rewriting systems. Confluence ensures that the solver will always compute the same result for a given set of constraints independent of which rules are applied. The confluence of propagation rules was an open problem. This paper shows that we can also give a sufficient and a necessary condition for confluence of terminating CHR programs with propagation rules based on the more refined operational semantics. 1 Introduction Constraint Logic Programming [vH91, JM94] combines the declarativity of ...
Introducing Global Constraints in CHIP
, 1994
"... The purpose of this paper is to show how the introduction of new primitive constraints (e.g. among, diffn, cycle) over finite domains in the constraint logic programming system CHIP result in finding very rapidly good solutions for a large class of difficult sequencing, scheduling, geometrical place ..."
Abstract

Cited by 90 (11 self)
 Add to MetaCart
The purpose of this paper is to show how the introduction of new primitive constraints (e.g. among, diffn, cycle) over finite domains in the constraint logic programming system CHIP result in finding very rapidly good solutions for a large class of difficult sequencing, scheduling, geometrical placement and vehicle routing problems. The among constraint allows to specify sequencing constraints in a very concise way. For the first time, the diffn constraint allows to express and to solve directly multidimensional placement problems where one has to consider non overlapping constraints between ndimensional objects (e.g. rectangles, parallelepipeds). The cycle constraint makes possible to specify a wide range of graph partitioning problems that could not yet be expressed by using current constraint logic programming languages. One of the main advantage of all these new primitives is to take into account more globally a set of elementary constraints. Finally, we point out that all the previous primitive constraints enhance the power of the CHIP system significantly, allowing to solve real life problems that were not within reach of constraint technology before. 1