Programming Finite-Domain Constraint Propagators in Action Rules
<|reference_start|>Programming Finite-Domain Constraint Propagators in Action Rules: In this paper, we propose a new language, called AR ({\it Action Rules}), and describe how various propagators for finite-domain constraints can be implemented in it. An action rule specifies a pattern for agents, an action that the agents can carry out, and an event pattern for events that can activate the agents. AR combines the goal-oriented execution model of logic programming with the event-driven execution model. This hybrid execution model facilitates programming constraint propagators. A propagator for a constraint is an agent that maintains the consistency of the constraint and is activated by the updates of the domain variables in the constraint. AR has a much stronger descriptive power than {\it indexicals}, the language widely used in the current finite-domain constraint systems, and is flexible for implementing not only interval-consistency but also arc-consistency algorithms. As examples, we present a weak arc-consistency propagator for the {\tt all\_distinct} constraint and a hybrid algorithm for n-ary linear equality constraints. B-Prolog has been extended to accommodate action rules. Benchmarking shows that B-Prolog as a CLP(FD) system significantly outperforms other CLP(FD) systems.<|reference_end|>
@article{zhou2005programming,
    title={Programming Finite-Domain Constraint Propagators in Action Rules},
    author={Neng-Fa Zhou},
    journal={TPLP Vol 5(4&5) 2005},
    year={2005},
    archivePrefix={arXiv},
    eprint={cs/0506005},
    primaryClass={cs.PL}
}