The contract net protocol: high-level communication and control in a distributed problem solver
Distributed Artificial Intelligence
Communications of the ACM
KQML as an agent communication language
CIKM '94 Proceedings of the third international conference on Information and knowledge management
APRIL—Agent PRocess Interaction Language
ECAI-94 Proceedings of the workshop on agent theories, architectures, and languages on Intelligent agents
Agent-oriented software engineering: the state of the art
First international workshop, AOSE 2000 on Agent-oriented software engineering
ERLANG for Concurrent Programming
ERLANG for Concurrent Programming
Agents as Multi-threaded Logical Objects
Computational Logic: Logic Programming and Beyond, Essays in Honour of Robert A. Kowalski, Part I
SICStus MT - A Multithreaded Execution Environment for SICStus Prolog
PLILP '98/ALP '98 Proceedings of the 10th International Symposium on Principles of Declarative Programming
Multi-threading and message communication in Qu-Prolog
Theory and Practice of Logic Programming
Go!—A Multi-Paradigm Programming Language for Implementing Multi-Threaded Agents
Annals of Mathematics and Artificial Intelligence
DARE: a system for distributed abductive reasoning
Autonomous Agents and Multi-Agent Systems
Hi-index | 0.00 |
In this tutorial paper we summarise the key features of the multi-threaded Qu-Prolog language for implementing multi-threaded communicating agent applications. Internal threads of an agent communicate using the shared dynamic database used as a generalisation of Linda tuple store. Threads in different agents, perhaps on different hosts, communicate using either a thread-to-thread store and forward communication system, or by a publish and subscribe mechanism in which messages are routed to their destinations based on content test subscriptions. We illustrate the features using an auction house application. This is fully distributed with multiple auctioneers and bidders which participate in simultaneous auctions. The application makes essential use of the three forms of inter-thread communication of Qu-Prolog. The agent bidding behaviour is specified graphically as a finite state automaton and its implementation is essentially the execution of its state transition function. The paper assumes familiarity with Prolog and the basic concepts of multi-agent systems.