The family of concurrent logic programming languages
ACM Computing Surveys (CSUR)
Nonstandard answers of elementary logic programs
Constructing logic programs
Applications of the Aurora parallel Prolog system to computational molecular biology
ILPS '93 Proceedings of the 1993 international symposium on Logic programming
Blackboard-based extensions in Prolog
Software—Practice & Experience
Proceedings of the ACM 2000 conference on Java Grande
Concurrency in Prolog using threads and a shared database
Proceedings of the 1999 international conference on Logic programming
Parallel execution of prolog programs: a survey
ACM Transactions on Programming Languages and Systems (TOPLAS)
An Abstract Machine for Restricted AND-Parallel Execution of Logic Programs
Proceedings of the Third International Conference on Logic Programming
Towards Inference and Computation Mobility: The Jinni Experiment
JELIA '98 Proceedings of the European Workshop on Logics in Artificial Intelligence
Fluents: A Refactoring of Prolog for Uniform Reflection an Interoperation with External Objects
CL '00 Proceedings of the First International Conference on Computational Logic
High-level networking with mobile code and first order AND-continuations
Theory and Practice of Logic Programming
Towards a high-level implementation of flexible parallelism primitives for symbolic languages
Proceedings of the 2007 international workshop on Parallel symbolic computation
Google's MapReduce programming model — Revisited
Science of Computer Programming
ICLP '08 Proceedings of the 24th International Conference on Logic Programming
PADL '09 Proceedings of the 11th International Symposium on Practical Aspects of Declarative Languages
Node coordination in peer-to-peer networks
COORDINATION'12 Proceedings of the 14th international conference on Coordination Models and Languages
Agent spaces: a scalable architecture for distributed logic agents
Proceedings of the 2012 ACM Research in Applied Computation Symposium
Hi-index | 0.00 |
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.