Distributed and Dynamic Deductive Information System

Supervisors: Professor Keith Clark (Room 554A) and Silvana Zappacosta (Room 361)

Description

This project makes use of the multi-threaded distributed QuProlog system. This enables one to easily build an distributed application in which a Prolog program running on one host has calls in it that are remote queries to Prolog programs running on other hosts. Each running program will comprise an interface thread, that accepts the remote queries and forks off a new thread to evaluate them.

The architecture consists of :

Alternatively, the Match-Maker may handle the replies of the information sites on behalf of the clients; this opens further possibilities in that the client posts a request and the Match-Maker collects and keeps the answers until the client specifically ask for the results at a future moment in its computations (truly asynchronous, as the client process can terminate and re-initiate again at a later time).

References:

It is advisable that takers of this project attend the first few lectures of Course 474: "Multi-Agents Systems" in order to learn the fundamentals about Qu-Prolog multi-threading and communications.