{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,14]],"date-time":"2026-04-14T06:13:36Z","timestamp":1776147216516,"version":"3.50.1"},"reference-count":0,"publisher":"Cambridge University Press (CUP)","issue":"5","license":[{"start":{"date-parts":[[2006,8,2]],"date-time":"2006-08-02T00:00:00Z","timestamp":1154476800000},"content-version":"unspecified","delay-in-days":0,"URL":"https:\/\/www.cambridge.org\/core\/terms"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Theory and Practice of Logic Programming"],"published-print":{"date-parts":[[2006,9]]},"abstract":"<jats:p>In this paper, we propose a new language, called AR (<jats:italic>Action Rules<\/jats:italic>), 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 <jats:italic>indexicals<\/jats:italic>, 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 <jats:styled-content style=\"e10\">all_distinct<\/jats:styled-content> 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.<\/jats:p>","DOI":"10.1017\/s1471068405002590","type":"journal-article","created":{"date-parts":[[2006,8,2]],"date-time":"2006-08-02T18:16:57Z","timestamp":1154542617000},"page":"483-507","source":"Crossref","is-referenced-by-count":16,"title":["Programming finite-domain constraint propagators in Action Rules"],"prefix":"10.1017","volume":"6","author":[{"given":"NENG-FA","family":"ZHOU","sequence":"first","affiliation":[]}],"member":"56","published-online":{"date-parts":[[2006,8,2]]},"container-title":["Theory and Practice of Logic Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.cambridge.org\/core\/services\/aop-cambridge-core\/content\/view\/S1471068405002590","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,4,1]],"date-time":"2019-04-01T15:01:55Z","timestamp":1554130915000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.cambridge.org\/core\/product\/identifier\/S1471068405002590\/type\/journal_article"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2006,8,2]]},"references-count":0,"journal-issue":{"issue":"5","published-print":{"date-parts":[[2006,9]]}},"alternative-id":["S1471068405002590"],"URL":"https:\/\/doi.org\/10.1017\/s1471068405002590","relation":{},"ISSN":["1471-0684","1475-3081"],"issn-type":[{"value":"1471-0684","type":"print"},{"value":"1475-3081","type":"electronic"}],"subject":[],"published":{"date-parts":[[2006,8,2]]}}}