1998 | OriginalPaper | Chapter
Open Constraint Programming
Authors : Joxan Jaffar, Roland H. C. Yap
Published in: Principles and Practice of Constraint Programming — CP98
Publisher: Springer Berlin Heidelberg
Included in: Professional Book Archive
Activate our intelligent search to find suitable subject content or patents.
Select sections of text to find matching patents with Artificial Intelligence. powered by
Select sections of text to find additional relevant content using AI-assisted search. powered by
Constraint Programming (CP) has proven useful in several areas, and though the initial impetus came from logic programming frameworks like CLP and CCP, the use of CP and constraint solving is obtaining wider appeal. We suggest that the limiting features of traditional CP are a dependence on a (logic) language, the need for monotonicity in the constraint system, and, to a lesser extent, the lack of an independent mechanism for agents to specify concurrent interaction with constraint solversSome background and examples: the ILOG constraint libraries serve to provide constraint based search using a finite-domain solver for programs written in C++, and not a logic programming language. The Oz language is not rule-based; it uses a finite domain solver for search problems (though instead of backtracking, an encapsulated search mechanism is used). In addition, the concurrent part of Oz borrows from CCP in using entailment of term and feature constraints for synchronization. Further afield, the “glass box” approach to finite-domain constraint solving uses constraints on indexicals which are non-monotonic. Deductive and constraint databases define a store intensionally, but updates are non-monotonic. In shared-memory languages for parallel programming, the model is one of a global at store equipped with various synchronization primitives. Coordination based models like Actors/Blackboards/Linda use a structured global store and more sophisticated synchronization primitives on the store. In summary, the issues covered here include: a global store, logical structure vs local structure, monotonic vs non-monotonic operations, facilities for control and search. The point is, we need them allHere we introduce a model in which agents and constraint solvers interact. Details of agents are of no interest here; they may be written in any (sequential or concurrent) programming language. We employ a more pragmatic definition of constraint system, but more importantly, there is a framework for specifying how agents and solvers interact. What emerges is a general facility which has the traditional advantages of CP, and much more