I. Introduction gives background info, etc.
II. Rules for loading into CLIPS
III. Test file used to produce the following output
IV. Output file created from selected lines of the test file
1) After starting CLIPS, load the rule-base. =>(load SchoolRouteSys)2) Be sure to reset CLIPS so that it sets up initial assertions. =>(reset)
3) Make assertions concerning weather and things to do. The test file may be referenced for this step. =>(assert (outside cold) (todo dogwalk))
4) If you wish to see the rules firing, turn on a trace mode. =>(watch rules)
5) Run the system. =>(run)
The following weather and todo parameters are
permissable:
outside todoThe system is not designed to deal with multiple weather parameters. For instance, putting in a fact like (assert (outside cold) (outside hot) ...) would work, but the output is undefined: it would most likely only notice the last parameter, satisfy the goal, and move on without noticing the first weather parameter. The option raining is an exception to this rule: it can be used concurrently with the other weather options. I had intended to include more of this type (eg. cloudy, sunny, etc.) as additional weather parameters, but did not get around to it (all them da_n square tuit's got in the way).
hot business
warm dogwalk
cold housestuff
freezing nothing
homework
outside (optional)
raining
Both sets of parameters are necessary. Declaring a weather fact and not a todo fact would not work. The system needs a fact from each in order to progress through the goals. Lack of a parameter would not allow goal completion and would simply fail (halt). Given more interest in a sweet-running system, I would have put in default rules to ask the user for the needed input. I think I will wait for the next project before implementing such details.
Multiple todo parameters are taken into account. These parameters can be mixed and matched at will, although the selection is very limited at this time.