Encapsulated Search and Constraint Programming in Oz

Christian Schulte, Gert Smolka, Jörg Würtz.

[pdf | bibtex]

Oz is an attempt to create a high-level concurrent programming language providing the problem solving capabilities of logic programming (i.e., constraints and search). Its computation model can be seen as a rather radical extension of the concurrent constraint model providing for higher-order programming, deep guards, state, and encapsulated search. This paper focuses on the most recent extension, a higher-order combinator providing for encapsulated search. The search combinator spawns a local computation space and resolves remaining choices by returning the alternatives as first-class citizens. The search combinator allows to program different search strategies, including depth-first, indeterministic one solution, demand-driven multiple solution, all solutions, and best solution (branch and bound) search. The paper also discusses the semantics of integer and finite domain constraints in a deep guard computation model.

In: Alan H. Borning, editor, Second International Workshop on Principles and Practice of Constraint Programming, Orcas Island, WA, USA, volume 874 of Lecture Notes in Computer Science, pages 134-150. Springer-Verlag, May, 1994.

Copyright Springer-Verlag, the original publication is available at www.springerlink.com