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]
--------------------------------------------------------------------

Reply via email to