The main question addressed by this volume is how to implement logic programming languages on parallel computers in an effective way capable of exploiting the inherent parallelism of logic programs and utilising the parallel architecture offered by the parallel computers.
Table of Contents:
Part 1 Parallel processing: classification of parallel computers - SIMD computers, MIMD computers, homogeneous processor spaces; classification of parallel programming languages - implicit parallelism, explicit parallelism; problems with parallel computers. Part 2 Logic programming and prolog: semantics of logic programs - declarative semantics, operational semantics; prolog - pure prolog, sequntial prolog - static data structures, dynamic data structures, structure handling methods, interpretatio n process, unification algorithm; sequential prolog compilers. Part 3 Parallel processing of logic programs: classification of parallel prolog interpreters - level of parallelism, type of the tree representing the search, the control strategy; memory management of parallel prolog interpretrs - organization of binding environments, structure handling methods; classification of logic programming languages; parallel architectures for implementing logic programs. Part 4 A parallel prolog abstract machine: the extended cellular-dataflow model (ECDAM); the parallel prolog abstract machine (PPAM); OR-parallel execution - lazy OR-process control strategy, eager OR-process control strategy; AND-parallel execution - ordering of goals, forward execution, backward execution. Part 5 Enhancement of parallelism: full OR-parallelism - UNIFY operator, UNIT operator, OR operator, AND operator, BUITIN operator, example; AND-parallelism - ordering of goals, forward execution, backward execution, example; review of the extended cellular-dataflow model. Part 6 Mapping of PPAM code on parallel computers: static visa dynamic mapping; folding mapping of PPAM code on transputer-arrays; mapping of recursive procedures; decrease of the communications - partioning mapping of PPAM code, scaling the model; implementations of PPAM - T-prolog implementation, the occam implementation, the iPSC implementation, the DAP implementation; LOGFLOW - a parallel logic machine - the architecture of LOGOFLOW, the mapping algoru=ithm for LOGOFLOW, distribution of work in LOGOLFOW, memory management on LOGOFLOW. Part 7 DAP prolog: The architecture of the DAP; the general concept of DAP prolog; set mode - principles of set mode, set operations, defining sets and using set mode, programming style; aray mode - principles of array mode, array expressions, dimension tranformation, assignment in array mode, unification in array mode, communication with the normal mode, access of array elements, tranformation of DAP FORTRAN programs into DAP prolog. (part contents)