FRAMES NO FRAMES

Propagation Events
PREVIOUS NEXT

The examination of the constraints on a variable is triggered by any modification of that variable. There are several kinds of modifications, depending on the class of variable under consideration. We refer to a propagation event as the modification of a constrained variable. There is a key word associated with each of these propagation events.

There are three propagation events:

The propagation events that are possible depend on the type of constrained variable under consideration. The following chart shows the correspondence between events and types of variables.

whenValuewhenRangewhenDomain
IlcIntExpyesyesyes
IlcAnyExpyesyes
IlcFloatExpyesyes
IlcIntSetVaryesyes
IlcAnySetVaryesyes

These events are triggered only if the variable is actually modified. For example, attempting to remove a value that is not in the domain triggers no event.

These events are used to control when a constraint should be examined. In fact, a constraint can be associated with a given event for a given variable. For example, when a variable is processed in the constraint propagation algorithm, if the whenDomain event is the only triggered event, all the constraints associated with the whenDomain event are examined. Any constraints associated with the whenRange or the whenValue events are not examined. These events are thus used for posting constraints.

See the concepts Choice Point, Propagation, and Reversibility for more information.

See Also

IlcConstraint

PREVIOUS NEXT