The Best of the CSS 482 Blog
This page includes posts from previous years' CSS 482 blogs. It's meant to be a more permanent location for some of our course's more helpful hints and observations (in no particular order).Java classpath
Note that the Java -classpath option overrides your CLASSPATH environment variable (and I believe any defaults built into Java, if there are any). Use the CLASSPATH environment variable to add directories/jar files to the classpath "non-destructively".Business logic with expert systems
The title above links to an article about the "drools" Java rule engine, and how to use it to implement business logic in web an enterprise applications. Some people like the drools syntax, which, rather than being Lisp-like (the article says, "PROLOG-like", but that's simply not true; PROLOG syntax is very different) as is Jess, is based on XML (rule LHS, RHS, and other information encapsulated in XML). To me, one syntax is really like any other, and as long as I can see the LHS and RHS, I'm happy. XML is rather verbose, but there are some interesting possibilities raised by encapsulating rules in XML.Anyway, the first article is linked from the title above. You'll note that there is nary a mention of the term "expert system". A second article is here. Or, go to O'Reilly's drools tag page.
Running the Jess WumpusWorld
If you have trouble running the WumpusWorld server or client, it may be a CLASSPATH problem. Make sure your CLASSPATH environment variable includes:
/path/to/jess:.
If you're entering it as a command line option, don't forget '.'. Run
the server from the WW src directory; the server UI should appear,
along with diagnostic output in the terminal window. Run Jess from
that directory, too. Then, "(batch JessClient.clp)", and you should
see the client UI appear, along with output in the terminal window
indicating that the client has connected to the server and received a
client ID (make sure you edit the .clp file if the server isn't on
"localhost"). Click on the "start" button in the server UI, then,
"(run-until-halt)".