Abstract.
We study the problem of guaranteeing correct execution semantics in parallel implementations of logic programming languages in presence of built-in constructs that are sensitive to order of execution. The declarative semantics of logic programming languages permit execution of various goals in any arbitrary order (including in parallel). However, goals corresponding to extra-logical built-in constructs should respect the sequential order of execution to ensure correct semantics. Ensuring this correctness in presence of such built-in constructs, while efficiently exploiting maximum parallelism, is a difficult problem. In this paper, we propose a formalization of this problem in terms of operations on dynamic trees. This abstraction enables us to: (i) show that existing schemes to handle order-sensitive computations used in current parallel systems are sub-optimal; (ii) develop a novel, optimal scheme to handle order-sensitive goals that requires only a constant time overhead per operation. While we present our results in the context of logic programming, they will apply equally well to most parallel non-deterministic systems.
Similar content being viewed by others
Author information
Authors and Affiliations
Additional information
Received: 20 April 1998 / 3 April 2000
Rights and permissions
About this article
Cite this article
Ranjan, D., Pontelli, E. & Gupta, G. Data structures for order-sensitive predicates in parallel nondeterministic systems. Acta Informatica 37, 21–43 (2000). https://doi.org/10.1007/PL00013301
Issue Date:
DOI: https://doi.org/10.1007/PL00013301