SFB 378 Einstiegsseite Postscript File BibTeX Entry

C
NEP

Extending a Concurrent Constraint Language by Propagators

Author: Tobias Müller and Jörg Würtz

Editor: Jan Ma\luszy\'nski

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.

SFB 378 Einstiegsseite Postscript File BibTeX Entry