Skip to main content
Log in

Algebraic computational models of OR-parallel execution of Prolog

  • Published:
Acta Informatica Aims and scope Submit manuscript

Abstract.

A specification of the OR-parallel execution of Prolog programs, using CHOCS (calculus of higher order communicating systems) [24], is presented in the paper. A translation is defined from Prolog programs and goals to CHOCS processes: the execution of the CHOCS process corresponding to a goal mimics the OR-parallel execution of the original Prolog goal. In the translation, clauses and predicate definitions of a Prolog program correspond to processes. To model OR-parallelism, the processes \(P^1, \cdots , P^n\), corresponding to clauses \(C_1, \cdots , C_n\) (having the same head predicate \(p\)) start their execution concurrently, but, in order to respect the depth-first search rule, each \(P^i\) is guarded by the termination of the executions of processes \(P^j\)'s, \(j < i\). The computational model is proved correct with respect to the semantics of Prolog, as given in [4, 5]. Our model, because of its algebraic specification, can be easily used to prove properties of the parallel execution of Prolog programs. Moreover, the model exploits the maximum degree of parallelism, by giving the Prolog solutions in parallel, without any order among them. However, this model, being close to the Prolog semantics definition, contains sources of inefficiency which make it unpractical as a guide for the implementation. To overcome these problems, a new computational model is defined. This model is obtained by modifications of the basic one and thus its correctness can be easily proved. Finally, we show how to obtain models of different real implementations of OR-parallel Prolog by slight modification of the new model. The relations among all these models, in terms of parallelism degree, are studied by using the concepts of bisimulation and simulation, developed for concurrent calculi.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

Author information

Authors and Affiliations

Authors

Additional information

Received: 5 May 1995 / 28 May 1996

Rights and permissions

Reprints and permissions

About this article

Cite this article

Barbuti, R., De Francesco, N. & Santone, A. Algebraic computational models of OR-parallel execution of Prolog. Acta Informatica 34, 449–489 (1997). https://doi.org/10.1007/s002360050094

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/s002360050094

Keywords

Navigation