Control and data driven execution of logic programs: A comparison (Q1083186)
From MaRDI portal
scientific article
Language | Label | Description | Also known as |
---|---|---|---|
English | Control and data driven execution of logic programs: A comparison |
scientific article |
Statements
Control and data driven execution of logic programs: A comparison (English)
0 references
1986
0 references
In this paper we examine two methods for controlling the execution of parallel logic programs. Specifically, we compare control driven execution of PRISM programs vs. data driven execution of Concurrent Prolog. Given a PRISM program we present several automatic transformations for deriving a Concurrent Prolog program whose execution is isomorphic to the original program. Although in many specific cases we may be able to write very natural specifications based on read-only variable and commit constructs, in general it is difficult to simulate control flow naturally using a transformation based on these constructs. Since control flow primitives are shown to have a simple and efficient implementation it seems that both data-flow and control-flow mechanisms are desirable for a general purpose parallel logic programming language. Subsequently, we propose a simple low level language to implement both PRISM nested control flow and Concurrent Prolog read-only variables. The idea is to convert the control/data dependencies into simple event scripts and then use existing methods to implement these scripts efficiently. Finally, we introduce a data structure that supports an efficient implementation of PRISM nested control flow.
0 references
parallelism
0 references
parallel logic programs
0 references
control driven execution of PRISM programs
0 references
data driven execution of Concurrent Prolog
0 references
automatic transformations
0 references
Concurrent Prolog program
0 references
control flow
0 references
data-flow
0 references