Objects for concurrent constraint programming
Objects for concurrent constraint programming
Comparing trailing and copying for constraint programming
Proceedings of the 1999 international conference on Logic programming
Oz Explorer: A Visual Constraint Programming Tool
PLILP '96 Proceedings of the 8th International Symposium on Programming Languages: Implementations, Logics, and Programs
CP '95 Proceedings of the First International Conference on Principles and Practice of Constraint Programming
IJCAI'95 Proceedings of the 14th international joint conference on Artificial intelligence - Volume 1
Components for State Restoration in Tree Search
CP '01 Proceedings of the 7th International Conference on Principles and Practice of Constraint Programming
Compositional abstractions for search factories
MOZ'04 Proceedings of the Second international conference on Multiparadigm Programming in Mozart/Oz
Generating Knowledge-Based System Generators: A Software Engineering Approach
International Journal of Intelligent Information Technologies
Hi-index | 0.00 |
Solutions to combinatorial search problems can benefit from custom-made constraint-based inference engines that go beyond depth-first search. Several constraint programming systems support the programming of such inference engines through programming abstractions. For example, the Mozart system for Oz comes with several engines, extended in dimensions such as interaction, visualization, and optimization. However, so far such extensions are monolithic in their software design, not catering for systematic reuse of components. We present an object-oriented modular architecture for building inference engines that achieves high reusability and supports rapid prototyping of search algorithms and their extensions. For the sake of clarity, we present the architecture in the setting of a C++ constraint programming library. The SearchToolKit, a search library for Oz based on the presented architecture, provides evidence for the practicality of the design.