Distributed Prolog? 
Author Message
 Distributed Prolog?

I'm wondering whether there's been any work on distributed Prolog
and if so where I might find some literature.

   Dave Riches

   Smail:  BNR Europe Ltd, London Road,
           Harlow, Essex. CM17 9NA.  England
   Phone:  +44 (0)279-402496
   Fax:    +44 (0)279-402047

Fri, 02 Feb 1996 20:44:36 GMT  
 Distributed Prolog?
As regular readers of comp.parallel will know, I am putting together a timeline-style history of parallel computing.  I am keen to include material on unconventional
paradigms (functional, dataflow, and logic), but do not know enough about the areas
to sift information myself.

I am therefore grateful to Graem Ringwood, of QMW at the University of London, for having written the material included below.  Comments, corrections, and further
entries would be very welcome; messages of the form "You should read paper X, or talk more about system Y" are unlikely to be acted on.

My thanks once again to Graem; I look forward to hearing from you all.

             Gregory V. Wilson      Computing Science

       "The glass is half empty."   "The glass is half full."
     "Uh, what was the question?"   "Hey, I ordered a cheeseburger!"

1979 :

M. H. Van Emden and G. J. De Luceana at Waterloo propose predicate
logic as a language for parallel programming.  They introduce
single-solution indeterminism to reduce premature binding problem of
and-parallelism. The authors have great difficulty in getting the
paper accepted for publication.

1981 :

Keith Clark and Steve Gregory at Imperial College introduce CSP-like
guards from IC-Prolog in the Relational language to improve selection
of single solution.  Atomicity problems of unification prompt
replacement of unification by Sisal-like, nondestructive assignment.
Variable-to-variable bindings disallowed as in Sisal; relation
directionality is specified by mode declarations.

First FGCS International Conference on 5th Generation Computer Systems
held in Japan.

1982 :

Japanese launch FGCS initiative to build parallel knowledge-based
machines using Prolog as a kernel language.  Initial funding for five
years, renewal for further five.

1983 :

Ehud Shapiro of the Weizmann Institute persuades FGCS to switch from
Prolog to Concurrent Prolog, in which unification is restored as
primitive (but with a read-only variable extension to restrict
eagerness of unification); there are no mode declarations.  In
response, Clark and Gregory produce Parlog, which adds
variable-variable bindings and metacalls; Parlog retains mode
declarations of previous Relational language but because of
variable-variable bindings these are no longer meaningful.

1985 :

FGCS produce first PSI (Sequential Inference Machine) with SIMPOS
operating system written in object-oriented extension of Prolog called
ESP.  Later, multiple PSIs are used to prototype PIM (Parallel
Inference Machine).

Problem with read-only variable semantics and implementation of
multiple environments in Concurrent Prolog leads Kazunori Ueda at ICOT
to develop GHC (Guarded Horn Clauses), a compromise between Parlog and
Concurrent Prolog made in Japan.

Because of implementation difficulties Concurrent Prolog goes "flat"
(only primitives allowed in guards), with restrictions placed on use
of read-only annotations.

1986 :

Graem Ringwood at Imperial College cleanses Parlog83 under influence
of GHC: replaces misleading mode declarations by pattern matching.

1987 :

FGCS secures funding for further 5 years, and produces first version
of multi-PSI - a number of PSI connected by a network

T. Chikayama at ICOT enhances GHC (by adding Parlog-like metacalls),
while simplifying it (by making it flat) to produce KL1 (Kernel
Language 1), the kernel language of FGCS.

1988 :

FGCS produce PIMOS operating system for PIM, written in KL1 and tested
on multi-PSI.

AI Ltd produces Strand88, a commercial implementation of a restricted
version of Parlog86 (Flat Parlog with assignment) for distributed
memory machines.

1991 :

FGCS produce first working PIM.

Strand Software Technologies spun off from collapse of AI Ltd continue
development and marketing of Strand88.

1992 :

FGCS completes 10-year research program with an international
conference; FGCS software made public domain.  ICOT extension for
further two years on much reduced scale to provide implementations of
KL1 for conventional machines.

Following on from PCN, K. Mani Chandy and Carl Kesselman produce CC++
(Compositional C++). The language reduces concurrent logic programming
content to a type modifier to C++.  No variable-variable bindings.

Sat, 03 Feb 1996 06:48:14 GMT  
 Distributed Prolog?


>I'm wondering whether there's been any work on distributed Prolog
>and if so where I might find some literature.


Hi, it's me again.

It seems that I've been a bit loose with my meaning of distributed
Prolog.  What I was meaning was applications written in Prolog which
are distributed.  I'd like to know whether they were built using TCP/IP
or a distributed platform or a database for distribution; how good
these techniques were; what problems were encountered and so on.

Thanks to all those who've replied so far, there have been some nice
pointers in there.

   Dave Riches

   Smail:  BNR Europe Ltd, London Road,
           Harlow, Essex. CM17 9NA.  England
   Phone:  +44 (0)279-402496
   Fax:    +44 (0)279-402047

Sat, 03 Feb 1996 15:45:12 GMT  
 Distributed Prolog?

>I'm wondering whether there's been any work on distributed Prolog
>and if so where I might find some literature.

A great deal of work has been done, but a lot depends on
whether you actually want a distributed version of Prolog i.e.
something which will run your Prolog programs on a distributed
system, or a distributed logic language i.e. something which,
like Prolog, derives from the abstract logic programming model,
but takes a different path in developing this model from Prolog
in order to best exploit the distributed architecture.

You might like to take a look at the book "Implementations of
Distributed Prolog" eds. P.Kacsuk & M.J.Wise, pub. Wiley,
which contains papers covering the range of distributed logic
programming languages.

Matthew Huntbach

Sat, 03 Feb 1996 15:46:42 GMT  
 Distributed Prolog?


> Hi,
> I'm wondering whether there's been any work on distributed Prolog
> and if so where I might find some literature.

> Dave

If you want a simple, clean system with a simple, clean programmer
interface, or if you want to check out how it's done in Sun NFS
with sockets, select, and the whole kit and kaboodle, then you
might want to look at:

        "A Distributed Prolog System with And Parallelism", by
        Mike Carlton and Peter Van Roy, IEEE Software, Jan. 1988.

The system was built on top of C-Prolog.  If you have a C-Prolog
license, I can send the system to you.

The system has two characteristics to commend it:

1. The system depends on programmer annotation of what predicate
   calls are allowed to run on another machine.

2. Low-level details (task allocation, number of processors) are
   invisible to the programmer.


Peter Van Roy                      DEC Paris Research Laboratory

Sat, 10 Feb 1996 00:12:54 GMT  
 [ 7 post ] 

 Relevant Pages 

1. Distributed Prolog?

2. Distributed Prolog?

3. A Distributed Prolog - What do you think ?

4. Prolog for distributed computing

5. Choosing Prolog for distributed application

6. Distributed Implementations of Prolog

7. PDC prolog and prolog++ (object-prolog)

8. Prolog Comparison Charts; Prolog Embeddings

9. SWI Prolog Vs GNU Prolog

10. SICStus Prolog + Java/Prolog + Jasper

11. A good free/trial prolog IDE for compiling and loading wordnet prolog database

12. Prolog Development Center - Visual Prolog


Powered by phpBB® Forum Software