We take here a perspective based on rules. Propagation is a process of deriving new constraints from given constraints; the individual steps are described by propagation rules. We examine several theoretical issues, and we use the results in practical applications.
We begin by considering the execution of propagation rules. By taking advantage of their specific properties, we formally derive a rule scheduler from an abstract iteration algorithm. We show experimentally that it performs well compared with generic algorithms.
Next, we study the issue of whether each rule in a given set of propagation rules is needed for the desired constraint propagation. We define a corresponding notion of redundant rules and give an algorithm to remove all such rules from a set. The thus obtained minimal, equivalent rule sets are useful since fewer rules typically means faster propagation.
The identification of redundancy is relevant for automatic rule generation methods, which are needed especially for more complex constraints. We introduce incremental automatic rule generation: new rules are obtained by combining or modifying existing rules. We focus on a specific class of propagation rules and discuss incremental rule generation for various incrementally defined constraints.
We put rule-based constraint propagation to use in two applications. Test pattern generation for digital sequential circuits concerns the identification of input data to circuits that make internal faults observable at the output. We develop three problem models based on different multi-valued logics. The corresponding constraints in our implementation are propagated by automatically generated rules.
Satisfiability checking of modal logic formulas is another application we consider. The characteristic feature of our approach is that we reformulate a given problem into sequences of subproblems using a three-valued logic. The extra value allows us to maintain useful structural information. The subproblems are viewed as constraint satisfaction problems with non-propositional constraints, whose propagation is again realised by rules.
As a design methodology, we apply the rule-based perspective on propagation to array constraints, a type of complex ('global') constraints. Array constraints occur naturally when information is arranged in tables or matrices. Starting from a generic propagation rule template, we derive concrete specialised rules, which in turn form the basis of constraint propagation algorithms.
We finally move to qualitative spatial reasoning. We discuss a new constraint-based modelling approach, in which the qualitative relations are represented as variables, not as constraints, organised in an array. Requirements on the qualitative relations correspond to constraints on the relation variables. We review several spatial aspects and cases of aspect integration. Moreover, we discuss spatial simulation — spatial scenarios that change according to given requirements formulated in temporal logic. The resulting ordinary constraint satisfaction problems can be solved by generic constraint technology, in our case by solvers based on search and rule-based constraint propagation.