Results 1 
4 of
4
Automatic Mode Inference for Logic Programs
 Journal of Logic Programming
, 1988
"... In general, logic programs are undirected, i.e. there is no concept of "input" and "output" arguments to a procedure. An argument may be used either as an input or as an output argument, and programs may be executed either in a "forward" direction or in a "backward ..."
Abstract

Cited by 74 (7 self)
 Add to MetaCart
(Show Context)
In general, logic programs are undirected, i.e. there is no concept of "input" and "output" arguments to a procedure. An argument may be used either as an input or as an output argument, and programs may be executed either in a "forward" direction or in a "backward" direction. However, it is often the case that in a given program, a predicate is used with some of its arguments used consistently as input arguments and others as output arguments. Such mode information can be used by a compiler to effect various optimizations. This paper considers the problem of automatically inferring the modes of the predicates in a program. The dataflow analysis we use is more powerful than approaches relying on syntactic characteristics of programs, e.g. [18]. Our work differs from that of Mellish [14, 15] in that (i) we give a sound and efficient treatment of variable aliasing in mode inference; (ii) by propagating instantiation information using state transformations rather than through dependen...
On the Complexity of Dataflow Analysis of Logic Programs
, 1992
"... This article reports some results on this correlation in the context of logic programs. A formal notion of the "precision" of an analysis algorithm is proposed, and this is used to characterize the worstcase computational complexity of a number of dataflow analyses with different degrees ..."
Abstract

Cited by 35 (4 self)
 Add to MetaCart
This article reports some results on this correlation in the context of logic programs. A formal notion of the "precision" of an analysis algorithm is proposed, and this is used to characterize the worstcase computational complexity of a number of dataflow analyses with different degrees of precision. While this article considers the analysis of logic programs, the technique proposed, namely the use of "exactness sets" to study relationships between complexity and precision of analyses, is not specific to logic programming in any way, and is equally applicable to flow analyses of other language families.
Highlevel Management of Computation History for the Design and Implementation of a Prolog System
, 1992
"... this paper is to demonstrate how it is possible to implement a complete Prolog system by guaranteeing the double goals of high expressiveness in software description and of efficiency of the resulting system. The fulfilment of these objectives has been possible thanks to a set of tools designed for ..."
Abstract

Cited by 7 (4 self)
 Add to MetaCart
this paper is to demonstrate how it is possible to implement a complete Prolog system by guaranteeing the double goals of high expressiveness in software description and of efficiency of the resulting system. The fulfilment of these objectives has been possible thanks to a set of tools designed for efficient manipulation of the computation history. These tools, which have been implemented in C, are called `sleepers'. The adoption of these mechanisms leads to a new programming paradigm for which we propose the term `sleeperoriented programming'. The Prolog system that we have implemented is entirely conceived in this programming style. The implementation choices, the term representation, the memory organization (local stack, heap, trail), and the resource management (lastcall optimization) are closely related to the standard implementations of Prolog. The main originality of the system lies in the fact that the traditional Prolog local stack is amalgamated with the runtime stack of the host language, and that this resource, normally so hard to handle in a friendly manner, is easily usable by the sleeper mechanism
CHICA, an abductive planning system based on Event Calculus
 Journal of Logic and Computation
, 1994
"... This article presents the theory and implementation of an Artificial Intelligence planner, CHICA. CHICA is a nonlinear, domain independent planner based on techniques of computational logic. The representation language of the planner is Horn clause logic which is used to model event calculus, a ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
This article presents the theory and implementation of an Artificial Intelligence planner, CHICA. CHICA is a nonlinear, domain independent planner based on techniques of computational logic. The representation language of the planner is Horn clause logic which is used to model event calculus, a logical theory of changing properties over time. The reasoning component is an abductive extension of SLDNF resolution for generating assumptions to prove a given goal. In event calculus, this procedure generates a plan of events and temporal relations necessary to prove the planning goal. CHICA uses domain contraints and techniques from contraint logic programming to efficiently implement inequality, as well as a specialized module to evaluate temporal relations. CHICA's generic search algorithm lets the implementor of a planning domain define a particular search strategy and specify domain heuristics to prune the search space. CHICA has solved a number of planning problems successfully: multiple robot block world problems, the assembly of a flashlight, and a room decoration problem. Extensions to classical AIplanning can be solved within the same framework, such as plan execution and replanning. keywords: planning, logic programming, event calculus Senior Scientist at SHAPE Technical Centre, The Hague, The Netherlands y Research Associate of the National Fund for Scientific Research, Belgium 1 1