Necessary and Sufficient Conditions for Consistent Global Snapshots
IEEE Transactions on Parallel and Distributed Systems
The design and implementation of the 4.4BSD operating system
The design and implementation of the 4.4BSD operating system
The GNU Prolog system and its implementation
SAC '00 Proceedings of the 2000 ACM symposium on Applied computing - Volume 2
CLAIRE: combining sets, search and rules to better express algorithms
Proceedings of the 1999 international conference on Logic programming
Comparing trailing and copying for constraint programming
Proceedings of the 1999 international conference on Logic programming
&ACE: a high-performance parallel Prolog system
IPPS '95 Proceedings of the 9th International Symposium on Parallel Processing
A Toolkit for Constraint-Based Inference Engines
PADL '00 Proceedings of the Second International Workshop on Practical Aspects of Declarative Languages
Oz Explorer: A Visual Constraint Programming Tool
PLILP '96 Proceedings of the 8th International Symposium on Programming Languages: Implementations, Logics, and Programs
Transparent Parallelization of Constraint Programming
INFORMS Journal on Computing
Constraint solving in common Lisp
Proceedings of the 2007 International Lisp Conference
Parallelizing constraint programs transparently
CP'07 Proceedings of the 13th international conference on Principles and practice of constraint programming
Maintaining state in propagation solvers
CP'09 Proceedings of the 15th international conference on Principles and practice of constraint programming
CP'09 Proceedings of the 15th 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
Hi-index | 0.02 |
Constraint programming systems provide software architectures for the fruitful interaction of algorithms for constraint propagation, branching and exploration of search trees. Search requires the ability to restore the state of a constraint store. Today's systems use different state restoration policies. Up ward restoration undoes changes using a trail, and downward restoration (recomputation) reinstalls information along a downward path in the search tree. In this paper, we present an architecture that isolates the state restoration policy as an orthogonal software component. Applications of the architecture include two novel state restoration policies, called lazy copying and batch recomputation, and a detailed comparison of these and existing restoration policies with "everything else being equal". The architecture allows the user to optimize the time and space consumption of applications by choosing existing and designing new state restoration policies in response to application-specific characteristics.