Implementing Constraint Handling Rules as a Domain-Specific Language Embedded in Java
Dragan Ivanovi\'c

TL;DR
This paper presents a Java-embedded domain-specific language for implementing Constraint Handling Rules (CHR), enhancing integration, debugging, and development of constraint solvers in large-scale, dynamic cloud applications.
Contribution
It introduces a Java-based DSL for CHR, simplifying development, testing, and debugging of constraint solvers within mainstream programming environments.
Findings
Prototype supports transactional store behavior
Enables safe termination and debugging
Facilitates integration with Java applications
Abstract
Programming languages and techniques based on logic and constraints, such as the Constraint Handling Rules (CHR), can support many common programming tasks that can be expressed in the form of a search for feasible or optimal solutions. Developing new constraint solvers using CHR is especially interesting in configuration management for large scale, distributed and dynamic cloud applications, where dynamic configuration and component selection is an integral part of the programming environment. Writing CHR-style constraint solvers in a domain-specific language which is a subset of Java -- instead of using a separate language layer -- solves many integration, development cycle disruption, testing and debugging problems that discourage or make difficult the adoption of the CHR-based approach in the mainstream programming environments. Besides, the prototype implementation exposes a…
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 · Distributed and Parallel Computing Systems · Advanced Database Systems and Queries
