Control and data driven execution of logic programs: A comparison (Q1083186): Difference between revisions

From MaRDI portal
Changed an Item
Changed an Item
Property / describes a project that uses
 
Property / describes a project that uses: PARLOG / rank
 
Normal rank

Revision as of 05:05, 28 February 2024

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
    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
    0 references
    0 references

    Identifiers

    0 references
    0 references
    0 references
    0 references
    0 references