Multi-threading and Message Communication in Qu-Prolog

From Simple Sci Wiki
Revision as of 15:52, 24 December 2023 by SatoshiNakamoto (talk | contribs) (Created page with "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...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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