Interfacing Propagators with a Concurrent Constraint Language
This paper deals with an interface for the concurrent constraint language Oz to implement arbitrary constraints in an efficient manner. The programmer has all the advantages of a high-level language in combination with efficiency. For the user it is transparent, whether a constraint is implemented by an Oz procedure or through the interface. The interface is completely separated from the underlying abstract machine of Oz. Moreover, it frees the user from tedious tasks like suspending and waking of constraints. As an implementation language we use C++. The overall efficiency of the resulting system is comparable to existing finite domain systems. For scheduling applications we show that algorithms from Operations Research can be incoroporated, which allows to obtain results comparable to commercially available systems.
Download Complete Paper