choco.prop
Interface PropagationEngine

All Superinterfaces:
Entity
All Known Implementing Classes:
AbstractPropagationEngine, ChocEngine, PalmEngine

public interface PropagationEngine
extends Entity

An interface for all implementations of propagation engines.


Method Summary
 boolean checkCleanState()
          checking that the propagation engine remains in a proper state
 void flushEvents()
          Removes all pending events (used when interrupting a propagation because a contradiction has been raised)
 Entity getContradictionCause()
          Retrieving the cause of the last contradiction.
 EventQueue getNextActiveEventQueue()
          Returns the next active var queue to propagate some events.
 VarEventQueue getVarEventQueue()
           
 void postAddKer(SetVar v, int idx)
           
 boolean postConstAwake(Propagator constraint, boolean init)
           
 void postInstInt(IntDomainVar v, int idx)
           
 void postInstSet(SetVar v, int idx)
           
 void postRemEnv(SetVar v, int idx)
           
 void postRemoveVal(IntDomainVar v, int x, int idx)
           
 void postUpdateInf(IntDomainVar v, int idx)
           
 void postUpdateInf(RealVar v, int idx)
           
 void postUpdateSup(IntDomainVar v, int idx)
           
 void postUpdateSup(RealVar v, int idx)
           
 void raiseContradiction()
          Raising a contradiction with no cause.
 void raiseContradiction(Entity cause)
          Raising a contradiction with a cause.
 void registerEvent(ConstraintEvent event)
           
 void setContradictionCause(Entity cause)
          Recording the cause of the last contradiction.
 void setNoContradictionCause()
          Recording that there was no known cause for the last contradiction.
 
Methods inherited from interface choco.Entity
getProblem, pretty
 

Method Detail

raiseContradiction

void raiseContradiction()
                        throws ContradictionException
Raising a contradiction with no cause.

Throws:
ContradictionException

raiseContradiction

void raiseContradiction(Entity cause)
                        throws ContradictionException
Raising a contradiction with a cause.

Throws:
ContradictionException

setNoContradictionCause

void setNoContradictionCause()
Recording that there was no known cause for the last contradiction.


setContradictionCause

void setContradictionCause(Entity cause)
Recording the cause of the last contradiction.


getContradictionCause

Entity getContradictionCause()
Retrieving the cause of the last contradiction.


getNextActiveEventQueue

EventQueue getNextActiveEventQueue()
Returns the next active var queue to propagate some events. If it returns null, the propagation is finished.


flushEvents

void flushEvents()
Removes all pending events (used when interrupting a propagation because a contradiction has been raised)


checkCleanState

boolean checkCleanState()
checking that the propagation engine remains in a proper state


postUpdateInf

void postUpdateInf(IntDomainVar v,
                   int idx)

postUpdateSup

void postUpdateSup(IntDomainVar v,
                   int idx)

postInstInt

void postInstInt(IntDomainVar v,
                 int idx)

postRemoveVal

void postRemoveVal(IntDomainVar v,
                   int x,
                   int idx)

postUpdateInf

void postUpdateInf(RealVar v,
                   int idx)

postUpdateSup

void postUpdateSup(RealVar v,
                   int idx)

postRemEnv

void postRemEnv(SetVar v,
                int idx)

postAddKer

void postAddKer(SetVar v,
                int idx)

postInstSet

void postInstSet(SetVar v,
                 int idx)

postConstAwake

boolean postConstAwake(Propagator constraint,
                       boolean init)

registerEvent

void registerEvent(ConstraintEvent event)

getVarEventQueue

VarEventQueue getVarEventQueue()