Independence in CLP languages

Citation
Mg. De La Banda et al., Independence in CLP languages, ACM T PROGR, 22(2), 2000, pp. 296-339
Citations number
41
Categorie Soggetti
Computer Science & Engineering
Journal title
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS
ISSN journal
01640925 → ACNP
Volume
22
Issue
2
Year of publication
2000
Pages
296 - 339
Database
ISI
SICI code
0164-0925(200003)22:2<296:IICL>2.0.ZU;2-6
Abstract
Studying independence of goals has proven very useful in the context of log ic programming. In particular, it has provided a formal basis for powerful automatic parallelization tools, since independence ensures that two goals may be evaluated in parallel while preserving correctness and efficiency. W e extend the concept of independence to constraint logic programs (CLP) and prove that it also ensures the correctness and efficiency of the parallel evaluation of independent goals. Independence for CLP languages is more com plex than for logic programming as search space preservation is necessary b ut no longer sufficient for ensuring correctness and efficiency Two additio nal issues arise. The first is that the cost of constraint solving may depe nd upon the order constraints are encountered. The second is the need to ha ndle dynamic scheduling. We clarify these issues by proposing various types of search independence and constraint solver independence, and show how th ey can be combined to allow different optimizations, from parallelism to in telligent backtracking. Sufficient conditions for independence which can be evaluated "a priori" at run-time are also proposed. Our study also yields new insights into independence in logic programming languages. In particula r, we show that search space preservation is not only a sufficient but also a necessary condition for ensuring correctness and efficiency of parallel execution.