An execution scheme for interactive problem-solving in concurrent constraint logic programming languages - Lee, Jimmy H.M.; Leung, Ho-fung (Computer languages, 1999)
Van Emden’s incremental queries address the inadequacy of current Prolog-style querying mechanism in most logic programming systems for interactive problem-solving. In the context of constraint logic programming, incremental queries involve adding new constraints or deleting old ones from a query after a solution is found. This paper presents an implementation scheme IQ of incremental queries in Constraint Pandora, which defines a class of non-deterministic concurrent constraint logic programming languages. We use Van Hentenryck and Le Provost’s scheme (VHLP-scheme hereafter), a re-execution approach, as a starting point. Re-execution is costly in concurrent languages, in which process creation and inter-process communications are common operations. The main idea of IQ is that the basic trail unwinding operation used in backtracking is more efficient than re-execution in reaching an execution context along a recorded execution path. We modify the conventional trail-unwinding operation in such a way that constraints are used actively to prune the search space. Analysis shows that the IQ-scheme is at least as efficient as the VHLP-scheme in sequential systems and is much more efficient in concurrent systems. We show the feasibility of our proposal by incorporating the IQ-scheme into IFD-Constraint Pandora, an instance of Constraint Pandora supporting interval and finite domain constraint solving. Our preliminary results agree with that of theoretical analysis.