View-based Propagator Derivation
Christian Schulte, Guido Tack

TL;DR
This paper introduces a systematic approach using views to derive perfect propagator variants, significantly reducing implementation effort while maintaining efficiency and correctness in constraint programming systems.
Contribution
It presents a formal model for views and derived propagators, proving their correctness and efficiency, and offers an implementation architecture independent of specific systems.
Findings
Derived propagators are efficient with no overhead in Gecode.
Using views reduces code size for propagators by up to 1750%.
Views enable systematic derivation of propagator variants with maintained properties.
Abstract
When implementing a propagator for a constraint, one must decide about variants: When implementing min, should one also implement max? Should one implement linear constraints both with unit and non-unit coefficients? Constraint variants are ubiquitous: implementing them requires considerable (if not prohibitive) effort and decreases maintainability, but will deliver better performance than resorting to constraint decomposition. This paper shows how to use views to derive perfect propagator variants. A model for views and derived propagators is introduced. Derived propagators are proved to be indeed perfect in that they inherit essential properties such as correctness and domain and bounds consistency. Techniques for systematically deriving propagators such as transformation, generalization, specialization, and type conversion are developed. The paper introduces an implementation…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsConstraint Satisfaction and Optimization · Model-Driven Software Engineering Techniques · Advanced Database Systems and Queries
