Multi-threading and Message Communication in Qu-Prolog
Title: Multi-threading and Message Communication in Qu-Prolog
Research Question: How can Qu-Prolog, a multi-threaded, multi-user version of Prolog, be used to develop distributed intelligent applications?
Methodology: The researchers developed a high-level inter-thread communication mechanism in Qu-Prolog that allows threads to communicate with each other independently of their location. This mechanism is based on McCabe's Inter-Agent Communications Model (ICM), which allows threads to suspend and resume based on the availability of messages in a message buffer.
Results: The researchers implemented two examples that demonstrate the use of threads and high-level communication in Qu-Prolog. The first example is an implementation of the Linda model for interprocess communication, which allows threads to share data and perform synchronization. The second example is an implementation of distributed query processing, where each Prolog query server can process multiple queries simultaneously.
Implications: The high-level inter-thread communication mechanism in Qu-Prolog provides a simple and powerful way to develop distributed intelligent applications. This mechanism allows developers to create applications that can be easily scaled up and used in a multi-user environment. Additionally, the ability to symbolically name threads and use high-level communication APIs makes it easier for developers to work with distributed systems and collaborate with other developers or automated theorem provers.
Link to Article: https://arxiv.org/abs/0404052v1 Authors: arXiv ID: 0404052v1