An Environment for Designing/Executing Constraint Solver Collaborations

Éric Monfroy · Electronic Notes in Theoretical Computer Science · 1998

Constraint programming is a paradigm based on the notion of constraints and mechanisms for their resolution. Thus, the key point of this class of languages is not only to offer a wide class of constraints for declarativity reasons, but also to treat them efficiently. For this purpose, the need for collaboration i.e., combination and cooperation of solvers is widely recognized. This new concept enables to solve problems that cannot be tackled or efficiently solved with a single solver. Furthermore, the demand for integrating symbolic mathematical tools into automated deduction system has significantly increased. In order to meet these motivations we propose BALI, an environment for designing/executing solver collaborations. BALI is a heterogeneous distributed collaborative problem solving system. It consists of a solver collaboration language and a host language. By providing several construction primitives (as concurrency, parallelism and sequentiality) and several combinators for their composition (as iterator or guarded control), the solver collaboration language enables to build complex solvers from elementary heterogeneous ones. The solvers are encapsulated in order to federate their different knowledge representations. We thus obtain agents that communicate and collaborate with each other. The host language, which is a constraint programming language, furnishes several strategies for manipulating constraints and executing solver collaborations i.e., agent collaborations.

Read the paper · More papers on PaperTik