Results 1  10
of
391
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 813 (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.
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 199 (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...
Automated Reasoning on Feature Models
 LNCS, ADVANCED INFORMATION SYSTEMS ENGINEERING: 17TH INTERNATIONAL CONFERENCE, CAISE 2005
, 2005
"... Software Product Line (SPL) Engineering has proved to be an effective method for software production. However, in the SPL community it is well recognized that variability in SPLs is increasing by the thousands. Hence, an automatic support is needed to deal with variability in SPL. Most of the cur ..."
Abstract

Cited by 126 (20 self)
 Add to MetaCart
(Show Context)
Software Product Line (SPL) Engineering has proved to be an effective method for software production. However, in the SPL community it is well recognized that variability in SPLs is increasing by the thousands. Hence, an automatic support is needed to deal with variability in SPL. Most of the current proposals for automatic reasoning on SPL are not devised to cope with extrafunctional features. In this paper we introduce a proposal to model and reason on an SPL using constraint programming. We take into account functional and extrafunctional features, improve current proposals and present a running, yet feasible implementation.
The Computational Power and Complexity of Constraint Handling Rules
 In Second Workshop on Constraint Handling Rules, at ICLP05
, 2005
"... Constraint Handling Rules (CHR) is a highlevel rulebased programming language which is increasingly used for general purposes. We introduce the CHR machine, a model of computation based on the operational semantics of CHR. Its computational power and time complexity properties are compared to thos ..."
Abstract

Cited by 54 (23 self)
 Add to MetaCart
(Show Context)
Constraint Handling Rules (CHR) is a highlevel rulebased programming language which is increasingly used for general purposes. We introduce the CHR machine, a model of computation based on the operational semantics of CHR. Its computational power and time complexity properties are compared to those of the wellunderstood Turing machine and Random Access Memory machine. This allows us to prove the interesting result that every algorithm can be implemented in CHR with the best known time and space complexity. We also investigate the practical relevance of this result and the constant factors involved. Finally we expand the scope of the discussion to other (declarative) programming languages.
Efficient constraint propagation engines
 Transactions on Programming Languages and Systems
"... This paper presents a model and implementation techniques for speeding up constraint propagation. Three fundamental approaches to improving constraint propagation based on propagators as implementations of constraints are explored: keeping track of which propagators are at fixpoint, choosing which p ..."
Abstract

Cited by 45 (6 self)
 Add to MetaCart
(Show Context)
This paper presents a model and implementation techniques for speeding up constraint propagation. Three fundamental approaches to improving constraint propagation based on propagators as implementations of constraints are explored: keeping track of which propagators are at fixpoint, choosing which propagator to apply next, and how to combine several propagators for the same constraint. We show how idempotence reasoning and events help track fixpoints more accurately. We improve these methods by using them dynamically (taking into account current domains to improve accuracy). We define prioritybased approaches to choosing a next propagator and show that dynamic priorities can improve propagation. We illustrate that the use of multiple propagators for the same constraint can be advantageous with priorities, and introduce staged propagators that combine the effects of multiple propagators with priorities for greater efficiency. 1
An Overview of HAL
, 1999
"... Experience using constraint programming to solve reallife problems has shown that finding an efficient solution to the problem often requires experimentation with different constraint solvers or even building a problemspecific constraint solver. HAL is a new constraint logic programming language e ..."
Abstract

Cited by 45 (24 self)
 Add to MetaCart
Experience using constraint programming to solve reallife problems has shown that finding an efficient solution to the problem often requires experimentation with different constraint solvers or even building a problemspecific constraint solver. HAL is a new constraint logic programming language expressly designed to facilitate this process. It provides a welldefined solver interface, mutable global variables for implementing a constraint store, and dynamic scheduling which support combining, extending and writing new constraint solvers. Equally importantly, HAL supports semioptional type, mode and determinacy declarations. These allow natural constraint specification by means of type overloading, better compiletime error checking and generation of more efficient runtime code.
Flexible access control policy specification with constraint logic programming
 ACM Trans. Inf. Syst. Secur
, 2003
"... We show how a range of rolebased access control (RBAC) models may be usefully represented as constraint logic programs, executable logical specifications. The RBAC models that we define extend the “standard ” RBAC models that are described by Sandhu et al., and enable security administrators to def ..."
Abstract

Cited by 45 (8 self)
 Add to MetaCart
(Show Context)
We show how a range of rolebased access control (RBAC) models may be usefully represented as constraint logic programs, executable logical specifications. The RBAC models that we define extend the “standard ” RBAC models that are described by Sandhu et al., and enable security administrators to define a range of access policies that may include features, like denials of access and temporal authorizations, that are often useful in practice, but which are not widely supported in existing access control models. Representing access policies as constraint logic programs makes it possible to support certain policy options, constraint checks and administrator queries that cannot be represented by using related methods (like logic programs). Representing an access control policy as a constraint logic program also enables access requests and constraint checks to be efficiently evaluated.
The alldifferent Constraint: A Survey
, 2001
"... The constraint of difference is known to the constraint programming community since Lauriere introduced Alice in 1978. Since then, several strategies have been designed to solve the alldifferent constraint. This paper surveys the most important developments over the years regarding the alldifferent ..."
Abstract

Cited by 43 (1 self)
 Add to MetaCart
(Show Context)
The constraint of difference is known to the constraint programming community since Lauriere introduced Alice in 1978. Since then, several strategies have been designed to solve the alldifferent constraint. This paper surveys the most important developments over the years regarding the alldifferent constraint. First we summarize the underlying concepts and results from graph theory and integer programming. Then we give an overview and an abstract comparison of different solution strategies. In addition, the symmetric alldifferent constraint is treated. Finally, we show how to apply costbased filtering to the alldifferent constraint.
Constraint programming: In pursuit of the holy grail
 In Proceedings of the Week of Doctoral Students (WDS99 invited lecture
, 1999
"... Abstract: Constraint programming (CP) is an emergent software technology for declarative description and effective solving of large, particularly combinatorial, problems especially in areas of planning and scheduling. It represents the most exciting developments in programming languages of the last ..."
Abstract

Cited by 43 (0 self)
 Add to MetaCart
Abstract: Constraint programming (CP) is an emergent software technology for declarative description and effective solving of large, particularly combinatorial, problems especially in areas of planning and scheduling. It represents the most exciting developments in programming languages of the last decade and, not surprisingly, it has recently been identified by the ACM (Association for Computing Machinery) as one of the strategic directions in computer research. Not only it is based on a strong theoretical foundation but it is attracting widespread commercial interest as well, in particular, in areas of modelling heterogeneous optimisation and satisfaction problems. In the paper, we give a survey of constraint programming technology and its applications starting from the history context and interdisciplinary nature of CP. The central part of the paper is dedicated to the description of main constraint satisfaction techniques and industrial applications. We conclude with the overview of limitations of current CP tools and with outlook of future directions.