Solving large and hard discrete combinatorial problems often requires the design of new constraints. Current constraint systems focus on
either high-level modeling or efficient implementation
technology. While each approach lacks the advantages of the other
one, this paper describes the combination of them in the high-level
concurrent constraint language Oz. We describe an interface to Oz
providing abstractions to program new efficient constraints in CPP,
preserving the benefits of Oz for problem modeling.
While constraints and the Oz runtime system are linked through the interface, and adequate interface abstractions are supplied to implement advanced algorithmic techniques. In particular, it provides the means to reflect the validity of a constraint and to control and inspect the state of a constraint. This allows the user to solve demanding combinatorial problems, such as hard scheduling problems.
It is desirable to execute concurrent constraint programs in parallel to profit from multiprocessor architectures. We discuss how the proposed interface can be adapted to parallel execution, avoiding the recoding of constraint implementations for sequential solvers.
Download PDF Show BibTeX
Login to edit