Concurrency in Prolog using threads and a shared database

作者: Manuel Carro , Manuel Hermenegildo

DOI:

关键词:

摘要: Concurrency in Logic Programming has received much attention the past. One problem with many proposals, when applied to Prolog, is that they involve large modifications standard implementations, and/or communication and synchronization facilities provided do not fit as naturally within language model we feel possible. In this paper propose a new mechanism for implementing concurrency, based on atomic accesses designated facts (shared) database. We argue comparatively easy implement harmonizes better than previous proposals Prolog control and standard set of built-ins. show how proposed it express classical concurrency algorithms subsume other mechanisms such Linda, variable-based communication, or parallelism-oriented primitives. also report an implementation provide performance resource consumption data.

参考文章(20)
Timothy G. Lindholm, Richard A. O'Keefe, Efficient Implementation of a Defensible Semantics for Dynamic PROLOG Code. international conference on lightning protection. pp. 21- 39 ,(1987)
Roland Karlsson, Khayri A. M. Ali, The Muse Or-parallel Prolog model and its performance conference on logic programming. pp. 757- 776 ,(1990)
Manuel V. Hermenegildo, Relating Goal-Scheduling, Precedence, and Memory Management in AND-Parallel Execution of Logic Programs. international conference on lightning protection. pp. 556- 575 ,(1987)
Robert Kowalski, Logic Programming with Integrity Constraints JELIA '96 Proceedings of the European Workshop on Logics in Artificial Intelligence. pp. 301- 302 ,(1996) , 10.1007/3-540-61630-6_21
Seif Haridi, Sverker Janson, Programming paradigms of the Andorra Kernel Language ISLP. pp. 167- 183 ,(1991)
Manuel V. Hermenegildo, Some methodological issues in the design of CIAO, a generic, parallel concurrent constraint system principles and practice of constraint programming. ,(1994)
Joe Armstrong, Mike Williams, Robert Virding, Concurrent Programming in Erlang ,(1993)
F. Bueno, D. Cabeza, M. Hermenegildo, G. Puebla, Global analysis of standard Prolog programs Programming Languages and Systems — ESOP '96. pp. 108- 124 ,(1996) , 10.1007/3-540-61055-3_32
Daniel Cabeza, Manuel V. Hermenegildo, Implementing distributed concurrent constraint execution in the CIAO system appia gulp prode. pp. 67- 78 ,(1996)