From: frr
Subject: Forward chaining expert system recommendation
Date: 
Message-ID: <33otuvomcc33ilgk6v6cf6sqitb5m177ja@4ax.com>
Hi,

	Could someone please recommend a good  low-cost forward chaining
expert system shell that works with Win32 (if possible with Corman Lisp)? O:-)

Thanks

From: Ray Dillinger
Subject: Re: Forward chaining expert system recommendation
Date: 
Message-ID: <3FEF1801.AA9B636A@sonic.net>
frr wrote:
> 
> Hi,
> 
>         Could someone please recommend a good  low-cost forward chaining
> expert system shell that works with Win32 (if possible with Corman Lisp)? O:-)
> 
> Thanks

Look around on the net for CLIPS.  I think it ports to Corman Lisp fairly 
easily, but I could be wrong about that. 

CLIPS is basically a free version of ART*Inference, which was the Automated 
Reasoning Tool developed by Inference Corporation.  Inference, however, did 
some things that seem, in hindsight, to indicate terminal stupidity.  They 
had NASA as a client, and NASA developed mission-critical software using 
ART (IIRC it had something to do with the shuttle's landing gear deployment
system).  But Inference formed a partnership with Sun and quit providing 
DOS/Windows versions of their software.  Meanwhile NASA had a budget office
to satisfy and had to buy all their computers from the same low-bid source, 
which meant they could only get Intel-compatible machines.

This resulted in NASA having mission-critical software written in a language
that was only available on the computers they weren't allowed to buy.  After 
a certain amount of wailing and gnashing of teeth, what it boiled down to was 
that they were legally able to hire programmers to implement the language on 
"standard" hardware, but they weren't legally able to buy the "nonstandard" 
hardware.  Within a few months they had enough of the language running to 
handle their mission-critical software, and as a taxpayer-sponsored effort, 
it was released to the public.

This put Inference between a rock and a hard place, since a free version of 
their main product, which ran on much cheaper hardware than their partner 
would allow theirs to, was now available.  They eventually put their eggs 
in a different basket ("Case-Based Reasoning," a major buzzword at the time) 
and spun off ART in a startup named Brightware, which marketed a Windows 
version of ART until about 1995 and developed a few more tools, then got 
eaten by Kana Communications during the very early part of the dot-com 
collapse.

Brightware's Services Group, which I was part of for a while, spun off 
independently as an expert-systems company named Mindbox, which as of a 
couple years ago was still servicing a few clients who either had CLIPS 
systems or had legacy installations of ART.

Meanwhile, CLIPS became the major tool of many, many, one-coder shops 
that produced expert systems software for clients, and has seen modest, 
but sustained, development as a freeware project -- mainly folks have 
been contributing just enough time and attention to it to stave off 
bit rot.

			Bear
			(The guy who wrote the HTML and Parsing 
 			libraries for ART*Inference)
From: frr
Subject: Re: Forward chaining expert system recommendation
Date: 
Message-ID: <4mauuvs9sh982va2fi2aoj8filnn7dioof@4ax.com>
On Sun, 28 Dec 2003 17:49:49 GMT, Ray Dillinger <····@sonic.net> wrote:

>frr wrote:
>> 
>> Hi,
>> 
>>         Could someone please recommend a good  low-cost forward chaining
>> expert system shell that works with Win32 (if possible with Corman Lisp)? O:-)
>> 
>> Thanks
>
>Look around on the net for CLIPS.  I think it ports to Corman Lisp fairly 
>easily, but I could be wrong about that. 

Actually I did check CLIPS, but it seemed to be written in C, not CL. This
wouldn't be a terrible problem, but the dll version of CLIPS
(http://eppe.tamu.edu/~xuxj/prog/download/dll/clipsdll.htm) isn't thread-safe.
Unfortunately, this is a major showstopper for me...  

The production system must be embedable in a multithreaded C++ app for
Windows.  Another constraint that I forgot to mention is that it should be
good (well, at least decent) at handling text.

I'm a bit puzzled now, and I'm not sure if we are talking about the same
CLIPS... :-?

>CLIPS is basically a free version of ART*Inference, which was the Automated 
>Reasoning Tool developed by Inference Corporation.  Inference, however, did 

I remember an extremely cool meta search engine called InferenceFind. Is ti
related to this company?
From: Marc Battyani
Subject: Re: Forward chaining expert system recommendation
Date: 
Message-ID: <bsnbak$vt5@library2.airnews.net>
"frr" <······@telefonica.net> wrote
> Actually I did check CLIPS, but it seemed to be written in C, not CL. This
> wouldn't be a terrible problem, but the dll version of CLIPS
> (http://eppe.tamu.edu/~xuxj/prog/download/dll/clipsdll.htm) isn't
thread-safe.
> Unfortunately, this is a major showstopper for me...

Have you looked at LISA (http://lisa.sourceforge.net/)?

Marc
From: Clark Wilson
Subject: Re: Forward chaining expert system recommendation
Date: 
Message-ID: <MPG.1a592fcad65aaf9e989681@news.chi.sbcglobal.net>
In article <··································@4ax.com>, frr149
@telefonica.net says...
> On Sun, 28 Dec 2003 17:49:49 GMT, Ray Dillinger <····@sonic.net> wrote:
> 
> >frr wrote:
> >> 
> >> Hi,
> >> 
> >>         Could someone please recommend a good  low-cost forward chaining
> >> expert system shell that works with Win32 (if possible with Corman Lisp)? O:-)
> >> 
> >> Thanks
> >
> >Look around on the net for CLIPS.  I think it ports to Corman Lisp fairly 
> >easily, but I could be wrong about that. 
> 
> Actually I did check CLIPS, but it seemed to be written in C, not CL. This
> wouldn't be a terrible problem, but the dll version of CLIPS
> (http://eppe.tamu.edu/~xuxj/prog/download/dll/clipsdll.htm) isn't thread-safe.
> Unfortunately, this is a major showstopper for me...  
> 
There is a for-money ActiveX component that packages CLIPS.  Not sure if 
that kind of component is thead safe.  But here is the URL:

http://www.athenainfsvcs.com/

There is a for-money Delphi component implementation of CLIPS and more, 
but to the best of my knowledge it doesn't have any COM interface.  
Don't know if it is packaged as a DLL.  But here is the URL:

http://www.riversoftavg.com/inferenceengine.htm

Clark Wilson
From: Sashank Varma
Subject: Re: Forward chaining expert system recommendation
Date: 
Message-ID: <none-1B470B.13235602012004@news.vanderbilt.edu>
In article <··································@4ax.com>,
 frr <······@telefonica.net> wrote:

> The production system must be embedable in a multithreaded C++ app for
> Windows.  Another constraint that I forgot to mention is that it should be
> good (well, at least decent) at handling text.

I hate to steer you away from Lisp, but you should check out
Rob Doorenbos' mid-1990s dissertation, which among other things
presents a highly-optized C implementation of the rete algorithm
at the heart of many forward chaining expert/production systems.
Look for it through the school of computer science at Carnegie
Mellon.
From: frr
Subject: Re: Forward chaining expert system recommendation
Date: 
Message-ID: <2cbgvvsghrl7dseflk19lutnn76quam2jd@4ax.com>
On Fri, 02 Jan 2004 13:23:56 -0600, Sashank Varma <····@vanderbilt.edu> wrote:


>> The production system must be embedable in a multithreaded C++ app for
>> Windows.  Another constraint that I forgot to mention is that it should be
>> good (well, at least decent) at handling text.
>
>I hate to steer you away from Lisp, but you should check out
>Rob Doorenbos' mid-1990s dissertation, which among other things
>presents a highly-optized C implementation of the rete algorithm
>at the heart of many forward chaining expert/production systems.
>Look for it through the school of computer science at Carnegie
>Mellon.

Thanks for the link, I'll check it out. :-)

I had to google like crazy, but finaly found it. Here's the link, in case
someone else is interested too.
http://reports-archive.adm.cs.cmu.edu/anon/1995/CMU-CS-95-113.pdf
From: Jeff Greif
Subject: OT: Ancient history [Was: Forward chaining expert system recommendation]
Date: 
Message-ID: <JoIHb.502284$275.1412999@attbi_s53>
Ray's history of ART vs. CLIPS is incorrect in a number of respects.

The first ART product from Inference was written in Lisp.  NASA used it
starting in 1984.  It had no DOS/Windows version and only ran on Lisp
Machines and later, some Unix workstations.  In the mid-80's, NASA decided
to fly expert systems, particularly on the space shuttle, and required a
system that would run on PC's or some other kind of tiny embedded machines,
which had memory limitations at the point that were fairly tough for a
lisp-based system (remember 640K limits?).  NASA built a public-domain ART
knockoff called CLIPS, written in C and using a subset of ART syntax as the
expert-system language, so it could run its existing expert systems.
Inference later built a proprietary C engine called ART-IM which started
from the CLIPS base but greatly improved performance and added all kinds of
stuff (an object system integrated with the rules, case-based reasoning, a
development environment).  CLIPS acquired some of these features later also
through independent development.  Eventuially ART-IM expanded further into
something called ART-Enterprise, which is what Brightware sold.  The
original Lisp product was also very sophisticated, having significant
additional capabilities (truth maintenance, a hypothetical reasoning module,
and a backward-chaining engine, a generic CLOS UI based on CLX, as well as
all the aforementioned) but was phased out around 1992-3 when the company
decided Lisp was no longer of interest to the big companies to which they
wanted to sell.  There are probably still some copies in production use.

In 1985-7, Inference also tried to produce a C version of ART by
automatically translating the Lisp version into C and being able to run the
ART-syntax constructs on top of that translated engine.  This project failed
for a number of reasons.  The ART-IM system based loosely on CLIPS
represented a way out.

Jeff
From: Ray Dillinger
Subject: Re: OT: Ancient history [Was: Forward chaining expert system  recommendation]
Date: 
Message-ID: <3FEF5F4E.609BB9DD@sonic.net>
Jeff Greif wrote:
> 
> Ray's history of ART vs. CLIPS is incorrect in a number of respects.
> 
> The first ART product from Inference was written in Lisp.  NASA used it
> starting in 1984.  It had no DOS/Windows version and only ran on Lisp
> Machines and later, some Unix workstations.  In the mid-80's, NASA decided
> to fly expert systems, particularly on the space shuttle, and required a
> system that would run on PC's or some other kind of tiny embedded machines,
> which had memory limitations at the point that were fairly tough for a
> lisp-based system (remember 640K limits?).  NASA built a public-domain ART
> knockoff called CLIPS, written in C and using a subset of ART syntax as the
> expert-system language, so it could run its existing expert systems.

Thanks for the corrections, Jeff.  

(Jeff was actually there through all of this; this was my second-hand 
understanding of history that happened before I ever arrived at Brightware).

It's a shame though that CLIPS is C based instead of LISP-based; 
I remember coding LISPy code (a dialect of Lisp reminiscent of LISPs in 
the middle 80's) on ART*Enterprise (which had a truly slick dev environment), 
but the underlying runtime, now that I think about it, was in C. 

I wasn't aware of the CLIPS code reuptake into ART; I thought that 
Inference had continued its own line of development. 

				Bear
From: Sashank Varma
Subject: Re: OT: Ancient history [Was: Forward chaining expert system recommendation]
Date: 
Message-ID: <none-4CC58D.13212802012004@news.vanderbilt.edu>
In article <························@attbi_s53>,
 "Jeff Greif" <······@spam-me-not.alumni.princeton.edu> wrote:

> The first ART product from Inference was written in Lisp.  NASA used it
> starting in 1984.  It had no DOS/Windows version and only ran on Lisp
> Machines and later, some Unix workstations.  In the mid-80's, NASA decided
> to fly expert systems, particularly on the space shuttle, and required a
> system that would run on PC's or some other kind of tiny embedded machines,
> which had memory limitations at the point that were fairly tough for a
> lisp-based system (remember 640K limits?).  NASA built a public-domain ART
> knockoff called CLIPS, written in C and using a subset of ART syntax as the
> expert-system language, so it could run its existing expert systems.

I had assumed CLIPS was a C implementation of OPS5, of which
a Common Lisp implementation was in the public domain...I
guess I was wrong.

Was there any intellectual relationship between OPS5 and ART?
For example, did ART use the rete algorithm?
From: Ray Dillinger
Subject: Re: OT: Ancient history [Was: Forward chaining expert system  recommendation]
Date: 
Message-ID: <3FF71353.E7CDE33@sonic.net>
Sashank Varma wrote:
> 
> In article <························@attbi_s53>,
>  "Jeff Greif" <······@spam-me-not.alumni.princeton.edu> wrote:
> 
> > The first ART product from Inference was written in Lisp.  NASA used it
> > starting in 1984.  It had no DOS/Windows version and only ran on Lisp
> > Machines and later, some Unix workstations.  In the mid-80's, NASA decided
> > to fly expert systems, particularly on the space shuttle, and required a
> > system that would run on PC's or some other kind of tiny embedded machines,
> > which had memory limitations at the point that were fairly tough for a
> > lisp-based system (remember 640K limits?).  NASA built a public-domain ART
> > knockoff called CLIPS, written in C and using a subset of ART syntax as the
> > expert-system language, so it could run its existing expert systems.
> 
> I had assumed CLIPS was a C implementation of OPS5, of which
> a Common Lisp implementation was in the public domain...I
> guess I was wrong.
> 
> Was there any intellectual relationship between OPS5 and ART?
> For example, did ART use the rete algorithm?

Yes, ART did use the Rete Algorithm.  I remember it from working with 
ART*Enterprise -- you could tune your code for efficiency if you knew 
how Rete was applied in this case (matching from left to right).

					Bear
From: Sashank Varma
Subject: Re: Forward chaining expert system recommendation
Date: 
Message-ID: <none-EA24E3.13120802012004@news.vanderbilt.edu>
In article <··································@4ax.com>,
 frr <······@telefonica.net> wrote:

> 	Could someone please recommend a good  low-cost forward chaining
> expert system shell that works with Win32 (if possible with Corman Lisp)? O:-)

David Young posts occasionally here about a CLIPS-like system
he has written in thoroughly modern Common Lisp.  I believe
it's called LISA, and I *highly* recommend you check it out.
From: frr
Subject: Re: Forward chaining expert system recommendation
Date: 
Message-ID: <1b1gvv86g6jb7skflkc5uhqjh5sknjsu07@4ax.com>
On Fri, 02 Jan 2004 13:12:08 -0600, Sashank Varma <····@vanderbilt.edu> wrote:


>> 	Could someone please recommend a good  low-cost forward chaining
>> expert system shell that works with Win32 (if possible with Corman Lisp)? O:-)
>
>David Young posts occasionally here about a CLIPS-like system
>he has written in thoroughly modern Common Lisp.  I believe
>it's called LISA, and I *highly* recommend you check it out.

Do you have experience using it? Is it stable for production code? O:)

Thanks
From: Kenny Tilton
Subject: Re: Forward chaining expert system recommendation
Date: 
Message-ID: <6N4Kb.87772$4F2.9147789@twister.nyc.rr.com>
frr wrote:
> On Fri, 02 Jan 2004 13:12:08 -0600, Sashank Varma <····@vanderbilt.edu> wrote:
> 
> 
> 
>>>	Could someone please recommend a good  low-cost forward chaining
>>>expert system shell that works with Win32 (if possible with Corman Lisp)? O:-)
>>
>>David Young posts occasionally here about a CLIPS-like system
>>he has written in thoroughly modern Common Lisp.  I believe
>>it's called LISA, and I *highly* recommend you check it out.
> 
> 
> Do you have experience using it? Is it stable for production code? O:)

You might check with the author. I believe he has at least one user 
using it for Real Work. I also recall a mention on the SourceForge site 
that the code was mature/finished/done. Sounds like it is worth a look 
at least.

kt

-- 
http://tilton-technology.com

Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film

Your Project Here! http://alu.cliki.net/Industry%20Application
From: David E. Young
Subject: Re: Forward chaining expert system recommendation
Date: 
Message-ID: <c2a16918.0401051032.467e4bc1@posting.google.com>
frr <······@telefonica.net> wrote in message 
> Do you have experience using it? Is it stable for production code? O:)
> 
> Thanks

Hi. Lisa is certainly stable. Is it production quality? Hmm... As the
author, there are things I would add before describing Lisa that way.
However, there are numerous people using it, and I've heard from
several folks planning on using Lisa for commercial systems. Whether
or not they've been successful, I don't know. I would hope if Lisa
just wasn't working out I would hear about that from users, but I
haven't. The comments have been all positive, and several folks have
submitted enhancements and bug fixes.

I suspect you'll need to judge for yourself the viability of Lisa for
your application.

Cheers,

David.
From: Sashank Varma
Subject: Re: Forward chaining expert system recommendation
Date: 
Message-ID: <none-8E86BE.12390405012004@news.vanderbilt.edu>
In article <··································@4ax.com>,
 frr <······@telefonica.net> wrote:

> >David Young posts occasionally here about a CLIPS-like system
> >he has written in thoroughly modern Common Lisp.  I believe
> >it's called LISA, and I *highly* recommend you check it out.
> 
> Do you have experience using it?

No, but the author asked the right questions when he was
initially developing it, and the code I saw then was
excellent.
From: Christopher C. Stacy
Subject: Re: Forward chaining expert system recommendation
Date: 
Message-ID: <uvfnqavb1.fsf@news.dtpq.com>
I missed the beginning of this thread, but Xanalys has an 
expert system programming product as part of their Lisp suite.