[comp.lang.prolog] Prolog's Practicability

fuchs@frederic.ifi.unizh.ch (11/28/90)

Everynow and then I get into a situation where I have to argue for Prolog's
practicability. 

It would help to point to success stories -- successful products based on
Prolog, visible advantages of using Prolog as a development tool, e.g. for
executable specifications, remarkably better quality of software products
based on Prolog or developed with the help of Prolog, etc.

I know of some success stories, e.g. the German PTT's XTEL, an expert system
for the configuration of telephone equipment, or Sandoz' scheduling system for
chemical production, but it would certainly help to know more, especially to
kmow why people decided to use Prolog, which advantages they expected, which
results they got.

I remember that Miguel Calejo of the University of Lisbon asked some time ago
a similar question. Unfortunately, I never saw all the answers.

Please e-mail to me directly. I will submit a summary to the net.

Norbert E. Fuchs
Department of Computer Science
University of Zurich
CH-8057 Zurich

fuchs@ifi.unizh.ch

fuchs@frederic.ifi.unizh.ch (Norbert E. Fuchs) (12/29/90)

In article <1990Nov28.095835.4265@ifi.unizh.ch> I wrote:

>It would help to point to success stories -- successful products based on
>Prolog, visible advantages of using Prolog as a development tool, e.g. for
>executable specifications, remarkably better quality of software products
>based on Prolog or developed with the help of Prolog, etc.

In the meantime I received the following messages. I would like to thank all 
who answered my request.

   --- nef

--------------------------------------------------------------------------------

Expertech's Xi Plus Expert Systems shell was originally written largely in
prolog. Unfortunately, it may not be a very positive example, as it has now
been rewritten into C to speed it up (though this may be more related to the
quality of the prolog interpreters that were available on the PC at the time
than anything else)

Bob McKay <rim@csadfa.cs.adfa.oz.au>

--------------------------------------------------------------------------------

We've used Arity PROLOG to develop a Papaya Management System for
the PC environment that works with 4 areas of expertise.

PROPA: a papaya management expert system
Stephen Y. Itoga, C. Leng Chia, Russel S Yost, and Ronald F L Mau,
Knowledge-Based Systems, vol 3, no 3 Steptember 1990, pp 163-169.

Stephen Itoga <itoga@uhccux.uhcc.Hawaii.edu>

--------------------------------------------------------------------------------

You might know about this already, but the MIT Press book _The Practice of 
Prolog_ consists of case studies of Prolog programming in the "real world".  I 
don't know how many, or in what depth they are treated, but it might at 
least give some pointers.  It's in the same series as _The Art of Prolog_ and
_The Craft of Prolog_.

Jamie Andrews <jha@lfcs.edinburgh.ac.uk>

--------------------------------------------------------------------------------

Here at Unisys, Prolog has been used on some bread-and-butter projects.  
We've used it to develop a very large configuration expert system (described 
in a recent paper in JLP) and more recently to develop an expert system to 
assist the Unisys spare-parts inventory management department (described 
in a paper to appear in CAIA-91) and in a very large expert system to 
diagnose problems in large letter-sorting machines used by the US Postal 
system (described in various conference papers).  

Tim <finin@PRC.Unisys.com>

--------------------------------------------------------------------------------

Check out Journal of Logic Programming vol. 8 no. 1-2, Jan. 1990 -- this is a 
special issue on Applications.

Saumya K. Debray <debray@cs.arizona.edu>


This issue contains the following papers
-----------------------------------------

Aunt: A Universal Netlist Translator (P. B. Reintjes)

Python: An Expert Squeezer [for the game of Bridge] (L. Sterling, Y. Nygate)

Modeling Simultaneous Events With Default Reasoning (A. Van Gelder)

Logic-Based Configuration With a Semantic Network (D. B. Searls, L. M. 
Norton)

Solving Large Combinatorial Problems In Logic Programming (M. Dincbas, H. 
Simonis, P. Van Hentenryck)

Mockingbird: A Logical Method For Testing (M. M. Gorlick, C. F. Kesselman, D. 
A. Marotta, D. S. Parker)

Logic Programming For Real-Time Control of Telecommunication Switching 
Systems (N. A. Elshiewy)

An Expert System For Harmonizing Chorales In the Style Of J. S. Bach (K. 
Ebcioglu)

--------------------------------------------------------------------------------

You might try to contact David Miller david@itc.icl.ie. They have been using 
the SEPIA/CHIP system for various purposes, some of them really 
spectacular. But I cannot guarantee that he wants to be public about them :-)

Micha Meier <micha@ecrc.de>

--------------------------------------------------------------------------------

Recently you posted to comp.lang.prolog, asking for stories about Prolog's 
practicality.  You could mention Electronique Serge Dassault -- they use 
Prolog a lot (in fact, they have written an object-oriented workbench, which 
IBM sells).  You might be able to get more details from your local IBM office; 
I would tell you more but I am about to go on vacation and am rather busy 
right now.

There's also the book:

Lazerev, G.L.:
"Why Prolog: Justifying Logic Programming for Practical Applications"
(Prentice-Hall 1989)

Peter Ludemann <ludemann@mlpvm1.iinus1.ibm.com>

--------------------------------------------------------------------------------

...  a couple of months ago we got a visit from"customers" of BNR Prolog (who 
have done some interesting experiments with interval arithmetic): Dassault 
Electronique.  They claim to be one of the biggest industrial users of Prolog, 
in Europe anyway (probably Siemens is the biggest).  One of their 
commercial products, developed entirely in Prolog is a VLSI design tool 
called FrenchChip.  It takes a specification in VHDL and synthesizes your 
ASIC.  They claim (in their glossy brochure) that it "takes care of 
*testability*, inter-blocks loading and buffering, timing along critical paths, 
gate and component counts".  If you want to talk to someone at Dassault 
Electronique directly, feel free to call Patrick Taillibert 33 (1) 34 81 60 28.
I don't think they have e-mail.

As for Prolog at BNR, our reasons are the usual: rapid prototyping for
small-medium sized projects, compactness of code, etc.  We do seem to
have the phenomenon of religious factioning, however.  For some reason,
people either love Prolog or hate it.  My explanation for this is that
programers who are used to procedural programming suddenly feel like
they have lost control of what their program is doing because they
haven't told it what to do explicitly.  Consequently they have no
confidence that it does what they intend.  They grumble about unwanted
backtracking and lack of type-checking and so on but the truth of it is
that the learning curve is just a little steeper than Pascal.  I suspect
that they don't really understand the language.

Having said that, I think there is a lot of room for Prolog to improve.
We need a next-generation logic programming language, but I have no idea
what it should look like.

Andre' Vellino <vellino@bnr.ca>

--------------------------------------------------------------------------------

I wrote an intelligent back-end to a farm management package. The  thing 
modelled pigs growing in a pig pen. My system  (called  "pigE") inputted 
screens and screens of  numbers and outputted one page of text 
recommendations.

We choose prolog because:

1) 	we had a  very limited time to do  a prototype and prolog was my
	tool of greatest productivity
2)	the thing was to be marketted at less than $2000. It already
	had in it several third-party packages that would all require
	liscencing fees in the final system.  The users  were very anxious
	not to incur any more liscening fees, so they wanted a **langauge**
	not a package. 

The thing was written originally under DOS in UNSW Prolog, then taken to 
Arity Prolog (cause it had a good windowing system). One of the cute 
features  of the  system was a rule langauge customised to describing the 
modelling package. In the end, the domain experts  looked after the 
knowledge base.

The whole system (modelling package + Prolog expert system) was 
subsequently sold to BP Purina (a US argricultural  nutrition company) for  
$2.5M. The OZ developers were put on  a (very healthy) retainer for that 
period.

Reference:  "Combining Heuristics and Simulation Models, An  Expert System
for the Optimal Management of Pigs",  Proceedings of the1988 Australian
Joint Artificial Intelligence Conference.

<timm@runxtsa.runx.oz.au>

--------------------------------------------------------------------------------

The following three applications were written in Prolog

	SECReTS, an expert system for credit evaluation written by TecLogic in 
	Padova, Italy.

	A prototype for a Production Planning and Scheduling System 
	developed by Sandoz International in Basle, Switzerland.

	XTEL: a configuration expert system for telephone equipment for the 
	German PTT developed by Interface Computer Munich, Germany.

   --- nef

mcovingt@athena.cs.uga.edu (Michael A. Covington) (01/07/91)

Is _The Practice of Prolog_ (sequel to The art... and The craft...)
available now?  If not, when will it be out?