It would be nice to have a lovingly supported CLIPS mode along with org-mode literate programming (babel) and a clear legal pedigree.
The only blog on Jess that I’ve found.
It looks nice; details here.
Part of my quest to learn more about rules-engines involved the desire to find a really good approach for knowledge management. The short story is that when you work with a subject matter expert (SME), you need to find some good way to capture the domain data and behavior, the rules, actions, and everything else necessary to make sense of things. This need isn’t unique to knowledge engineering and AI, of course, all engineers face it, especially software engineers. Object-oriented analysis and design is one good approach, and there seems to be a lot of overlap. One interesting outcrop of the need is the Insurance Application Architecture, an OO model (and more) to help insurance companies manage their intellectual assets.
The client developed a custom tool to manage the concepts (although customizable tools like MagicDraw certainly are an option, too), and I had always wondered if there was some standard way of approaching that kind of problem. While researching rules-engines I was delighted to learn about knowledge engineering, the semantic web, and consequently ontological engineering and management.
Specifically, digging into the tool Protege-OWL, I found something quite similar to what I’d seen developed as custom. Although it is too soon to say they are equivelant, it is pretty interesting to find out. The fact that there is a Jess plugin (JessTab) to let you play, even better!
You know that advice “trust but verify”? It couldn’t be more true when it comes to the realm of applied or narrow artificial intelligence, specifically with respect to rules-engines. There is more dis-information out there on rules-engines than on any other tech topic that I’ve ever researched. It is really, really shocking the amount of inaccurate, confused, and just plain wrong information out there.
The problem with it is that it makes it harder for people who want to learn more about the topic by wasting their time and presenting the topic as very, very shallow and simplistic. It makes rules-engines very, very easy to blow off as sort of a joke and nothing more than pricey business rules engines. That is sad, too, because rules-engines provide a very nuanced and special programming style all their own that every programmer should at least learn.
In order to avoid this, I tried to diligently record all of the materials that I have found valuable, including Wikipedia pages. My hope in sharing them is that they provide some baseline for getting started, that worked for at least one person. My approach was to read and bookmark internally to the site, and also do research out of the site. It wasn’t a race, I took time to take it in, reading as many times as necessary for it to make sense, including re-reading it over as many days or weeks as I saw fit. The topics are grouped into sections that are somewhat logically related, and definitely do relate to one another, and try to help make it easier to access the topics in the following group.
Rules-engines comes from a rich computational heritage, but strangely get a fraction of a percentage of coverage even in comparison to seemingly fringe topics like Lisp, so I hope that you have as much fun reading as I did, it was really enlightening!
Continue reading “Rules-Engines Recommended Wikipedia Reading”
Part of my path to knowledge engineering mastering has been to read everything available out there today about the modern knowledge engineering landscape. IntelliFest graciously posted all of their presentations from 2010-2012, and all of them are helpful. The following, though, were particularly helpful to me, and I wanted to share which ones and why, they follow:
Continue reading “IntelliFest Favorite Presentations: 2010-2012”
Lisa is a production-rule system implemented in the Common Lisp Object System (CLOS), and is heavily influenced by CLIPS and the Java Expert System Shell (JESS).
Here are many great posts by John Lindberg.