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.
https://hal.inria.fr/hal-01582990 Contributor : Hal IfipConnect in order to contact the contributor Submitted on : Wednesday, September 6, 2017 - 2:55:00 PM Last modification on : Tuesday, May 1, 2018 - 11:02:08 AM
Paul Tarau. Coordination and Concurrency in Multi-engine Prolog. 13th Conference on Coordination Models and Languages (COORDINATION), Jun 2011, Reykjavik, Iceland. pp.157-171, ⟨10.1007/978-3-642-21464-6_11⟩. ⟨hal-01582990⟩