Jess Tips

Last modified Fri September 01 2006 01:18:48 PM

This page is a collection of tips for implementing cognitive tutors with Jess.

Wild-card (ANY) matching in Jess

To match any input from a student, use the test-SAI function with the value DONT-CARE as the input parameter. (The value * will not work.) In your production rule, a test-SAI function that matches any input might look like:

 (test-SAI ?currently-selected-cell-name "UpdateTable" DONT-CARE)

Model tracing with early cut-off

The following is of interest if your tutor is slow in responding to student input.

In order to reduce the search that the model tracer has to do (and therefore likely improve the efficiency of your tutor), it helps to structure the cognitive model in such a way that the production rules that determine the selection come as early in the production rule chain as possible. That way, production rule paths whose selections do not correspond to the student's actual selection are abandoned early and do not lead to unnecessary search.

To do so, use test-SAI with your desired selection specified as the first argument, and the keyword NotSpecified for the action and input arguments.