Parallelism in Logic Programming: A Systematic Literature Review

   page       attach   
Alessia Cerami  •  Andrea Giordano

A logic program is expressed as a set of logical formulas precisely specifying what is true. This approach to programming is different from the others, where the concern is how a specific problem should be solved. Here, the specification how a problem is to be solved is expressed in the form of a precise sequence of steps executed by an engine.
One of the most attractive features of logic programming is the clean separation of logic and control. The efficiency of the solution to a problem can be improved without any change in the solution itself. The programming language Prolog utilizing one of many possible evaluation (control) strategies, is an example of a successful logic programming language.
The aim of this work is to understand how a logic program can be parallelized and what are the techniques studied in the last 30 years with an analysis of the problems arised.
A Systematic Literature Review process has been carried out following a methodological approach, with the claim of becoming a starting point for defining new research areas and future projects.