A software architecture has been developed that couples a concurrent logic programming or CLP engine with a multi-threaded Prolog engine. Concurrency among mutually invoking Prolog and CLP computations is sustained partly through and-parallel execution of CLP computations on the CLP engine, partly by executing multiple Prolog processes and a CLP engine under Unix on a multi-processor or a uni-processor. Communication among the multiple computations is realised by message passing, enabling the architecture to be multi-processed with a low degree of contention for shared memory. The coupled architecture supports multi-user knowledge based systems without compromising on the expressive power and performance of Prolog and CLP languages, and without diminishing the capacity for multi-processing at a task apposite grain of parallelism.
[1]
Hamish Taylor.
Coupling Committed and Trial Binding Resolution Engines
,
1991,
Data Knowl. Eng..
[2]
Kam-Fai Wong,et al.
Design Considerations for a Prolog Database Engine
,
1988,
JCDKB.
[3]
Kam-Fai Wong,et al.
Prolog and deductive databases
,
1988,
Knowl. Based Syst..
[4]
古川 康一.
Logic programming : Proceedings of the eighth International Conference
,
1991
.
[5]
Mats Carlsson,et al.
Freeze, Indexing, and Other Implementation Issues in the WAM
,
1987,
ICLP.
[6]
Hamish Taylor,et al.
A Lingua Franca For Concurrent Logic Programming
,
1992,
IEEE Trans. Software Eng..