Without being too... hmm... can't think of the right "softener" for this so I guess I'll just have to say it and get it over with. The GUI debugging tool that comes with JRules is really quite excellent. You can "step" through the rules, assign break points, watch the value of variables, etc., much as with any debugger. However, some of the extra added goodies are watching the Agenda Table and seeing all of the rules that are on the table and the state of events. Being able to see all of the objects and all of the libraries and the values of the attributes and states has proven helpful on more than one occasion.
Their builder tool is quite useful in checking syntax. If you can't see it in the builder GUI then the rule probably isn't right. BUT, I hate having to use to write rules; it's like trying to type with mittens on. And, yes, Jack, I have done a cut and paste and forgotten to change the rule name - or sometimes the output. Late at night. When I ran out of coffee. And I had a migraine. (Let's see, that was excuses 43, 28, 75, 18, and 4, right?) Advisor (from Fair Isaacs, formerly HNC, formerly Brokat, formerly Blaze Software, formerly Neuron Data - they've quite a history) has a similar GUI debugger that is also quite nice. Very similar to JRules/ I've heard that others also have nice debuggers, but, again, these are all commercial products. Such as Haley and Aion et. Al. The danger here is that, sooner or later, the impetus will be to move away from the real job of the KE, that of actually "thinking out" the solutions to problems. There is a shifting, even now, of the JRules and Advisor projects to promote all of the rule building to the BA's. And every time that has happened it has led to disaster. I sure that if you ask the testers at Lloyds TSB that they will attest to that. Lockheed tried that as well and had to get burned badly before learning that markeeters are, well, stretching the truth just a wee bit. One more time: Leave the email alone and get back to work !!! SDG jco James C. Owen Senior Knowledgebase Consultant 6314 Kelly Circle Garland, TX 75044 972.530.2895 214.684.5272 (cell) -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jack Kerkhof Sent: Wednesday, June 04, 2003 11:24 AM To: [EMAIL PROTECTED] Subject: Re: JESS: more efficient jess debugging Aright then, The feeling I get from this is that a general direction for the next phase of jess is known, but a specification is not yet there and you are soliciting input. I would have much more than an email's worth to offer there. A survey may be the way to go, or at least get started. But I cant' resist: Seems to me that an awful lot can be done with the right parser or XML framework. The essence, that is not there now, is breaking down the component parts of a rule, particularly the LHS, not simply as syntax but as meta-knowledge it its own right. This gets to be VERY useful in large systems and has a number of applications: - Automated LHS unit test generation is one such example. - Generation of a fact-rule 'scope of influence' graph would be another very useful tool (Anyone know of a more formal name for such a directed graph?). - Identification of patterns of fact use. patterns of rule use. Such a tool can really accelerate a designers ability to abstract concepts in a knowledge base. In this world of rapid incremental improvement, logic systems have to adapt quickly to retain usefulness. You'd like to capture the total design up front, But it just doesn't happen that way. So tools to facilitate design level constructs, particularly reverse engineering, are gold. Compared to what we have now, very simple parsing improvements, primarily to facilitate the debugging process: - semantic errors (i.e. undefined variables in development rules that are caught at parse time would save a lot of debug time. Ernest: it would be worth your time just in the emails you wouldn't have to answer because of silly syntax!) - duplicate rule warnings and the whole class of "can but probably shouldn't" syntax. Ya, it's simple (he who has never cut-and-paste a rule and forgot to change the name can laugh at me first) but it's invisible at run time, and that hurts. - refining error messages to a coder-friendly format that facilitates identification and rectification. ... I'd go on but they pay me to do real work around here. Actually, I need a coffee. Jack -------------------------------------------------------------------- To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]' in the BODY of a message to [EMAIL PROTECTED], NOT to the list (use your own address!) List problems? Notify [EMAIL PROTECTED] --------------------------------------------------------------------