Results 1 -
3 of
3
Efficient Analysis of Logic Programs with Dynamic Scheduling
- Proc. Twelfth International Logic Programming Symposium
, 1995
"... The first logic programming languages, such as Prolog, used a fixed left-to-right atom scheduling rule. Recent logic programming languages, however, usually provide more flexible scheduling in which computation generally proceeds left-to-right but in which some calls are dynamically "delayed" until ..."
Abstract
-
Cited by 7 (1 self)
- Add to MetaCart
The first logic programming languages, such as Prolog, used a fixed left-to-right atom scheduling rule. Recent logic programming languages, however, usually provide more flexible scheduling in which computation generally proceeds left-to-right but in which some calls are dynamically "delayed" until their arguments are sufficiently instantiated to allow the call to run efficiently. Such languages include constraint logic programming languages in which constraints which are "too hard" are delayed and concurrent constraint languages in which delay on shared variables is used to provide asynchronous communication between processes. We give a new framework for the global analysis of logic programming languages with dynamic scheduling which is based on approximating the delayed atoms by a closure operator. We give an example analysis for groundness based on this framework, and give the results of an implementation which demonstrates the method is practical. 1 Introduction The first logic pr...
Towards a Concurrent Semantics based Analysis of CC and CLP
, 1994
"... Introduction We present in an informal way some preliminary results on the investigation of efficient compile-time techniques for Constraint Logic and Concurrent Constraint Programming. These techniques are viewed as source-to-source program transformations between the two programming paradigms and ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
Introduction We present in an informal way some preliminary results on the investigation of efficient compile-time techniques for Constraint Logic and Concurrent Constraint Programming. These techniques are viewed as source-to-source program transformations between the two programming paradigms and are based on a concurrent semantics of CC programs [MR91]. Previous work [BH92] showed that it is possible to perform program transformations from Prolog to AKL 1 [JH91], allowing the latter to fully exploit the Independent And-Parallelism (IAP) [HR93] present in Prolog programs. When extending the transformation techniques to the CLP paradigm [JL87, Col90, VanH89], some issues have to be initially solved. First, the notion of independence has to be extended [GHM93]. Second, compile-time tools based on the extended notions have to be developed in order to capture the independence of goals, allowing such transformation. For this purpose an analysis of the programs turn
Towards CIAO-Prolog - A Parallel Concurrent Constraint System
, 1993
"... ing Away the Granularity Level: The Fundamental Principles Having argued for the separation of parallelism issues from those that are related to computation rules, we now concentrate on the fundamental principles governing parallelism in the different models proposed. We argue that moving a princip ..."
Abstract
- Add to MetaCart
ing Away the Granularity Level: The Fundamental Principles Having argued for the separation of parallelism issues from those that are related to computation rules, we now concentrate on the fundamental principles governing parallelism in the different models proposed. We argue that moving a principle from one system to another can often be done quite easily if another such "separation" is performed: isolating the principle itself from the level of granularity at which it is applied. This means viewing the parallelizing principle involved as associated to a generic concept of thread, to be particularized for each system, according to the fundamental unit of parallelism used in such system. As an example, and following these ideas, the fundamental principle of determinism used in the basic Andorra model can be applied to the &-Prolog system. The basic unit of parallelism considered when parallelizing programs in the classical &-Prolog tools is the subtree corresponding to the complete r...

