Search Tree Unification:
Paradigm for Process-based Logic Programs

In Koen De Bosschere, Jean-Marie Jacquet, and Antonio Brogi (eds), Proceedings of the ICLP94 Post-Conference Workshop on Process-Based Parallel Logic Programming, June 17, 1994, Santa Margherita Ligure, Italy, pp. 71-75

You can find a revised version of the paper here.

Abstract

Process-based logic programs do not fulfill logical completeness although it can be expected from a logic program. The concept of search tree unification is introduced in the paper which is a high level abstraction that captures distributed logic programs in a declarative way. The aim of search tree unification concept is to promote extracting logical completeness from process-based logic programs.

In process-based logic languages, logic processes are created explicitly from sub-goals by built-in predicates. Since logic processes are basically Prolog programs, each process (i.e. a goal and a Prolog database) defines an own sub-search tree which is to be explored by the process. Component processes of the same logic program are not independent but rely on the partial results of each other, i.e. they exchange logical facts with each other which are deduced from the facts and rules distributed around the system. It means that sub-search trees are related along communication patterns. Explicit communications between processes determine links between different search trees.

The declarative notion, equivalent to executing a logic program consisting of different but related program parts, is the unification of individual search trees. The task of any process-based logic programming system is, therefore, to develop a (possibly) distributed strategy by which the component search trees can be unified along communication patterns. Search tree unification can serve as a basis for the declarative interpretation of process-based logic programs.

You can get the full paper searchTreeUni.ps.Z (70KBytes)


Back to my home page