The ART syntax lives on in yet another product!
JBOSS Rules (formerly Drools) just described its imminent support for rules expressed in the CLIPS syntax here.
NASA derived CLIPS from the syntax of Inference Corporation’s Automated Reasoning Tool (ART) in the mid-80s. I designed and implemented the ART syntax with Chuck Williams on a team with Brad Allen and Mark Wright.
CLIPS didn’t have many of the features of ART (including an ATMS or backward chaining, for example), but it was a good forward-chaining rule-based language based on the Rete Algorithm but implemented in C so it could run on PCs.
A hybrid of original ART and CLIPS is still available from Mindbox.
When I started Haley circa 1990, I implemented more of the original ART functionality and overcame the memory and graphical user interface limitations of CLIPS in the Eclipse rule language which Haley still sells today. During the 1990s, CLIPS followed Eclipse, adding support for truth maintenance, for example. As the years went on, the Department of Energy then funded Sandia National Laboratories’ development of JESS as a Java derivative of CLIPS supporting “my favorite syntax”.
To the best of my knowledge, only the ART syntax survives from the heady days of AI commercialism in the 1980s.
Drools, unlike JESS, is open-source and freely available for commercial use.
Personally, Drools support means more to me than JESS. Drools didn’t need to support the ART syntax. Drools already supported an XML syntax for rules. XML will have the legs here, but the ART/CLIPS/Eclipse/JESS/Haley syntax is the most popular business/production rule syntax in the world and has become the most functional over the last 25 years or so.
For those that are interested in the linguistic evolution, Haley has a similar story here.
For those who are interested in the functional advances, this is slide 9 from a presentation on on emerging standards and the semantic web, including ontologies and rules standards, that I gave at last year’s Meta Data conference. HRML (Haley Rules Markup Language) is a limited XML alternative to Eclipse syntax.
The slides are available on-line as Meta Data 2007 Boston presentation on Semantic Standards for Agility.