Thanks, James!

This was very interesting suggestion.  I'd give my eye-teeth to find such a
company that was actively using rule-based programming in mechanical design
(my specialty).  That scale of project would be fascinating to program.

Cheers!

Jason
------
Jason Morris
Morris Technical Solutions
[EMAIL PROTECTED]
www.morristechnicalsolutions.com
fax/phone: 503.692.1088

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Behalf Of James Owen
Sent: Tuesday, February 17, 2004 9:37 PM
To: [EMAIL PROTECTED]
Subject: RE: JESS: on creating test harnesses & dev automation with Jess


Not to be a name-dropper (don't you just hate those guys?) but when
working with a large bank in England (OK, it was Lloyds) we ran 65,000
test cases against about 785 rules that dealt with pricing.  Also, at a
major insurance company, I ran about 5,500 test cases against less than
10,000 rules dealing with driver problems.  How?  (Why is later) Simple:


Build a spreadsheet with the all of the conditions, i.e., the slots, on
the left.  On the right, identify which rule should fire, either name(s)
or have a column for each rule labeled true/false, yes/no or something
like that.  Using Java main file, load up each row, set the slots
(attributes) and fire the rules.  Rules that should fire should match
the rules that should fire.  That's OI.  Rule's that should not fire
should match rules that should not fire.  That's OK as well.  However, a
rule that does not fire that should fire is an alpha error.  A rule that
fires that should not fire is a beta error.  This is 100% verification.

Why?  Because the loan application MUST have 100% verification if it's
on the internet.  Thousands and thousands of hits per day will be
floating in through the net.  An error that allows a loan that should
not be allowed will be quickly detected by users and thousands of
dollars (pounds sterling) would be lost.  An error that does not allow a
loan that should have been allowed will also cause the loan to go to the
competition and, again, thousands of pounds sterling would be lost.

Once the base-line was established, the 65,000 rules took just over six
hours to run whenever ANY change was made to the rules.  If only one
rule changed, we discovered that it could generate unknown effects,
unexpected things that should not have happened.  Lloyds could not
permit that.  The same way with the insurance company.  The 5,500 test
cases took only an hour or so to run.

So, whatever you do, NEVER use the 80/20 JUnit testing principle in
financial environments, medical applications or processing plants.
Failure is NOT an option.  :-)

SDG
jco

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
On Behalf Of Jason Morris
Sent: Tuesday, February 17, 2004 6:15 PM
To: Jess-Users
Subject: JESS: on creating test harnesses & dev automation with Jess

Hi All,

One of my Outlook rules my have zapped someone's reply, so please
forgive me
for asking my question again - albeit a shorter version this time:

On pg. 169 of JIA, Ernest makes the comment "...You should be thinking
about
putting together a complete test harness now..", so I have been
structuring
my Jess scripting code in modules, placing them in separate files, and
calling them from a master *.clp file like so:

;;======= pat.clp ============
;; Application batch script
(clear)
(watch all)
(batch pat_main.clp)
(batch pat_ask.clp)
(batch pat_startup.clp)
(batch pat_survey.clp)
(batch pat_recommend.clp)
(batch pat_report.clp)
(batch pat_run.clp)
(start-pat)

Q. Though it seems to run fine now, I'm wondering if there are any
pitfalls
to calling batch files from batch files in Jess like this; and, is there
a
better/preferred/best-practice way to automate this kind of
code/run/debug
cycle?

Thanks!

-JM
---
Jason Morris
Morris Technical Solutions
[EMAIL PROTECTED]
www.morristechnicalsolutions.com
fax/phone: 503.692.1088

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

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

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