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.