Publication details

Saarland University Computer Science

Extending a Concurrent Constraint Language by Propagators

Tobias Müller, Jörg Würtz

Proceedings of the International Logic Programming Symposium, pp. 149--163, The MIT Press, 1997

This paper describes the extension of a concurrent constraint programming (CCP) language with an interface to define new finite domain constraints efficiently. While the extension is implemented for the CCP language Oz, the described interface is well-suited to be also applied to other CCP languages and even to Prolog-based implementations with coroutining. The interface is easily extendable to other constraint systems as done for set constraints.
Constraints are implemented as instances of C++ classes, so-called propagators. Propagators are completely separated from the runtime system. The supplied abstractions are as high-level as to hide away issues like suspension handling but provide an expressiveness adequate to implement global constraints employing advanced algorithmic techniques. This allows to solve demanding combinatorial problems, as for instance scheduling problems.
The presented interface exploits specific features of Oz, like equality constraints and local computation spaces, but avoids to bother the programmer with implementation details of these features.

Download PDF        Show BibTeX               

Login to edit

Legal notice, Privacy policy