Coordination and concurrency in multi-engine prolog

  • Authors:
  • Paul Tarau

  • Affiliations:
  • Department of Computer Science and Engineering, University of North Texas

  • Venue:
  • COORDINATION'11 Proceedings of the 13th international conference on Coordination models and languages
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

We discuss the impact of the separation of logic engines (independent logic processing units) and multi-threading on the design of coordination mechanisms for a Prolog based agent infrastructure. We advocate a combination of coroutining constructs with focus on expressiveness and a simplified, multi-threading API that ensures optimal use available parallelism. In this context, native multi-threading is made available to the application programmer as a set of high-level primitives with a declarative flavor while cooperative constructs provide efficient and predictable coordination mechanisms. As illustrations of our techniques, a parallel fold operation as well as cooperative implementations of Linda blackboards and publish/subscribe are described.