Programming internet distributed DAI applications in Qu-Prolog
Keith L. Clark, Peter Robinson and Richard Hagen
This paper presents the unique collection of additional features of
Qu-Prolog, a variant of the AI programming language Prolog,
and illustrates how they can be used for implementing
distributed DAI applications. By this we mean applications comprising communicating information servers, or expert systems, or agents,
with sophisticated reasoning capabilites and internal concurrency. Such an application
exploits the key features Qu-Prolog:
support for the programming of sound
non-clausal inference systems, multi-threading, and high level
inter-thread message communication between Qu-Prolog query threads anywhere on the internet. The inter-thread communication uses email style symbolic
names for threads, allowing easy construction of distributed
applications using public names for threads. How threads react to
received messages is specified by a disjunction of reaction rules
which the thread periodically executes. A communications API allows
smooth integration of components written in C, which to Qu-Prolog,
look like remote query threads.
Presented at the Australian DAI WS, Brisbane, 1998. In in Multi-agent systems, (ed. C. Zhang and D. Lukose),
Springer-Verlag LNAI 1544.
for a compressed PostScript version of the paper (qp2.ps.gz, 16798 bytes).