In this paper we argue for an alternative way of designing cooperative constraint solver systems using a controloriented coordination language. The idea is to take advantage of the coordination features of MANIFOLD for improving the constraint solver collaboration language of BALI. We demonstrate the validity of our ideas by presenting the advantages of such a realization and its (practical as well as conceptual) improvements of constraint solving. We are convinced that cooperative constraint solving is intrinsically linked to coordination, and that coordination languages, and MANIFOLD in particular, open new horizons for systems like BALI.
m (Constraint Programming Languages).Keywords and Phrases: parallel computing, coordination models and languages, dynamic coordination, solver collaboration language, constraint solver cooperation.
INTRODUCTIONThe need for constraint solver collaboration is widely recognized. The general approach consists of making several solvers cooperate in order to process constraints that could not be solved (at least not efficiently) by a single solver. BALI [21,23,22] is a realization of such a system, in terms of a language for constraint solver collaboration and a language for constraint programming. Solver collaboration is a glass-box mechanism which enables one to link black-box tools, i.e., the solvers. BALI allows one to build solver collaborations (solver cooperation [25] and solver combination [17]) by composing component solvers using collaboration primitives (implementing, e.g., sequential, concurrent, and parallel collaboration schemes) and control primitives (such as iterators, fixed-points, and conditionals).On the other hand, the concept of coordinating a number of activities, such that they can run concurrently in a parallel and distributed fashion, has recently received wide attention [4,5] Due to lack of explicit coordination concepts and constructs, the implementation of BALI does not fully realize its formal model: the treatment of disjunctions and the search are jeopardized and this is not completely satisfactory from a constraint solving point of view. This is mainly due to two causes: (1) the dynamic aspect of the formal model of BALI, and (2) the use of heterogeneous solvers, i.e. , solvers written in different programming languages, with different data representations. Only a coordination language able to deal with dynamic processes and channels (creation, duplication, dis-/re-/connection), and able to handle external heterogeneous solvers (routines for automatic data conversions) can fullfil the requirements of the formal model of BALI and overcome the problem of its current implementation. This guided us through the different coordination models and lead us to the IWIM model, and the MANIFOLD language.Coordination and cooperative constraint solving are intrinsically linked. This motivated our investigation of a new organizational model for BALI based on MANIFOLD. The results show a wider-