Rewriting Constraint Models with Metamodels
Raphael Chenouard (LINA), Laurent Granvilliers (LINA), Ricardo Soto, (LINA)

TL;DR
This paper introduces a general pivot metamodel for constraint models that facilitates rewriting, translation, and optimization across various constraint programming languages, independent of specific language syntax.
Contribution
The paper presents a novel, language-independent metamodel for constraint models enabling flexible rewriting and transformations across diverse constraint languages.
Findings
Metamodel captures common features of constraint models.
Rewriting operations are language-agnostic and manipulate metamodel instances.
Framework supports semantic-preserving transformations across languages.
Abstract
An important challenge in constraint programming is to rewrite constraint models into executable programs calculat- ing the solutions. This phase of constraint processing may require translations between constraint programming lan- guages, transformations of constraint representations, model optimizations, and tuning of solving strategies. In this paper, we introduce a pivot metamodel describing the common fea- tures of constraint models including different kinds of con- straints, statements like conditionals and loops, and other first-class elements like object classes and predicates. This metamodel is general enough to cope with the constructions of many languages, from object-oriented modeling languages to logic languages, but it is independent from them. The rewriting operations manipulate metamodel instances apart from languages. As a consequence, the rewriting operations apply…
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 · Logic, programming, and type systems
