The Semantics of Predicate Logic as a Programming Language
Journal of the ACM (JACM)
Logic and Databases: A Deductive Approach
ACM Computing Surveys (CSUR)
Communications of the ACM
Logic and Data Bases
The Design and Analysis of Computer Algorithms
The Design and Analysis of Computer Algorithms
A parallel execution model of logic programs
ISCA '83 Proceedings of the 10th annual international symposium on Computer architecture
A parallel Prolog: The construction of a data driven model
LFP '82 Proceedings of the 1982 ACM symposium on LISP and functional programming
Performance Analysis of a Message-Oriented Knowledge-Base
IEEE Transactions on Computers
Application of knowledge base design techniques to genetic markers
CIKM '95 Proceedings of the fourth international conference on Information and knowledge management
Dataflow and Logicflow Models for Defining a Parallel Prolog Abstract Machine
PACT '94 Proceedings of the IFIP WG10.3 Working Conference on Parallel Architectures and Compilation Techniques
Hi-index | 0.00 |
There is a direct correspondence between semantic networks and a subset of logic programs, restricted only to binary predicates. The advantage of the latter is that it can describe not only the nodes and arcs comprising a semantic net, but also the data-retrieval operations applied to such nets. The main objective of this paper is to present a data-driven model of computation that permits this subset of logic programs to be executed on a highly parallel computer architecture. We demonstrate how logic programs may be converted into collections of data-flow graphs in which resolution is viewed as a process of finding matches between certain graph templates and portions of the data-flow graphs. This graph fitting process is carried out by messages propagating asynchronously through the data-flow graph; thus computation is entirely data driven, without the need for any centralized control and centralized memory. This permits a potentially large number of independent processing elements to cooperate in solving a given query.