Rules Engines - Best Practices?

Discussion in 'Java' started by Cindi Jenkins, Nov 29, 2004.

  1. Cindi Jenkins, Nov 29, 2004
    #1
    1. Advertising

  2. Cindi Jenkins wrote:

    > Anyone know of best practices for rules engines. The only thing I
    > could find was at:
    > http://blogs.ittoolbox.com/eai/leadership/archives/002172.asp


    RESE and predicate logic in the link points to artificial intelligence.
    This is a HUGE subject area so I dont know why you cant find much.

    Do a search for deductive databases or expert systems.

    gtoomey
     
    Gregory Toomey, Dec 2, 2004
    #2
    1. Advertising

  3. (Cindi Jenkins) wrote in message news:<>...
    > Anyone know of best practices for rules engines. The only thing I
    > could find was at: http://blogs.ittoolbox.com/eai/leadership/archives/002172.asp


    Good site.

    See Chapter 8 of my book, Build Your Own .Net Language and Compiler,
    for a discussion of one way to implement declarative rules cheaply.
    This book was published by Apress in 2004.

    This approach is best for small business since within the procedural
    context, it can implement declarative structures.

    However, it imposes an unfamiliar requirement on the developer, and
    this is learning how to build small parsers.

    I do address the consistency and completeness problem in this chapter.

    I deliberately target small business because my experience in the
    large enterprise is that the technology is so black-box as to create
    opportunities for contradictory and incomplete rules which can't be
    audited.

    The advantage of my approach, in which the developers are language
    designers and implementers and the end users manage the rules, is that
    there is less opportunity for last minute changes to the rules of
    which the users are unaware.

    In environments using a commercial rules engine, an "expert" on the
    engine becomes in effect a coder with the ability to override the
    user's changes.

    Whereas if the developers are tasked instead with providing languages
    to express the rules, their focus is on improving the end user
    experience. The end user modifies the rules with better assurance that
    the actual rules are being followed.

    It's always amazed me that new development projects start with a
    committment to cast TODAY's rules into concrete. Large, "Enterprise"
    systems are built like old Soviet sports palaces...for the ages...when
    change is the name of the game.

    I show techniques for managing knee-jerk changes by the empowered end
    user to the rules by enforcing full evaluation and consistency, which
    of course needs tuning when scaled up, and therefore I propose that
    rules engine developers take a look at compiler optimization theory
    for ways to pre-evaluate the rules (by means of symbolic
    interpretation) for consistency and completeness.

    In a scenario, the manager of my hypothetical firm gets mad at his
    tenant and in a credit application adds the rule "deny all
    renters"...which contradicts other rules that accept renters.

    The rules engine points out the contradiction.

    In procedural "thinking", an occupational hazard of end users as well
    as programmers, the rule If rents->deny should "override" because it
    is last in the list and furthermore it is today's priority because the
    boss is hopping mad at his renter.

    In "declarative" thinking, the end user is held to previous decisions
    even if he forgot that yesterday he wanted to do business with
    renters.

    Part of my motivation was the fact that I'm troubled by a split in the
    language of the business rules community.

    On the one hand you have terribly abstract discussion of business
    rules which gets "deep" only in the area of performance AS IF the
    problems of contradictory or non-compliant rules were solved.

    On the other you have equally abstract discussions of very advanced
    inference engines which are treated as a black box and built by ivory
    tower types who have never approved a credit application or reviewed
    an immigration application for compliance to the latest rules. We live
    in a world where people get Associate degrees in medical billing, but
    too often, developers of rules engines somehow think that actually
    RELATING their technology to the real world is beneath them.

    It's only in the area of small business that you can combine the two
    forms of discourse. In the USA, small business is at a disadvantage,
    but, working in China, I see it in areas like microcredit as having a
    powerful advantage and a need for a rules-based, as opposed to a
    procedural-based approach.
     
    Edward G. Nilges, Dec 3, 2004
    #3
  4. Cindi Jenkins, Dec 3, 2004
    #4
  5. Gregory Toomey <> wrote in message news:<>...
    > Cindi Jenkins wrote:
    >
    > > Anyone know of best practices for rules engines. The only thing I
    > > could find was at:
    > > http://blogs.ittoolbox.com/eai/leadership/archives/002172.asp

    >
    > RESE and predicate logic in the link points to artificial intelligence.
    > This is a HUGE subject area so I dont know why you cant find much.
    >
    > Do a search for deductive databases or expert systems.
    >
    > gtoomey


    I guess I was looking for something more distilled and understandable
    by corporate types....
     
    Cindi Jenkins, Dec 3, 2004
    #5
  6. Cindi Jenkins

    Randy Howard Guest

    In article <>,
    says...
    > I guess I was looking for something more distilled and understandable
    > by corporate types....


    I saw a commercial on TV for the new Lego Rules Engine simulation
    pack, just in time for Christmas, with over 350 unique pieces
    for $24.99.

    :)
     
    Randy Howard, Dec 3, 2004
    #6
  7. Try out JESS. (herzberg.ca.sandia.gov/jess/) This is a open source
    rule engine for java applications. I tried this. It works great. For
    best practices check this site www.ruleML.com This is an initiative to
    standardize the business rule engines and interoperability between
    them.
     
    e m madhu babu, Dec 5, 2004
    #7
  8. Cindi Jenkins

    Patrick May Guest

    (e m madhu babu) writes:
    > Try out JESS. (herzberg.ca.sandia.gov/jess/) This is a open source
    > rule engine for java applications. I tried this. It works great.


    I agree, JESS is a very good tool, especially for systems written
    in Java.

    JESS is not, however, open source. There is a no-cost license
    available for academic use but commercial users are charged. From the
    JESS FAQ:

    Jess is not licensed under the GPL, the LPGL, the BSD license, or
    any other free software or open source license.

    Regards,

    Patrick

    ------------------------------------------------------------------------
    S P Engineering, Inc. | The experts in large scale distributed OO
    | systems design and implementation.
    | (C++, Java, ObjectStore, Oracle, CORBA, UML)
     
    Patrick May, Dec 5, 2004
    #8
  9. (Cindi Jenkins) wrote in message news:<>...
    > Gregory Toomey <> wrote in message news:<>...
    > > Cindi Jenkins wrote:
    > >
    > > > Anyone know of best practices for rules engines. The only thing I
    > > > could find was at:
    > > > http://blogs.ittoolbox.com/eai/leadership/archives/002172.asp

    > >
    > > RESE and predicate logic in the link points to artificial intelligence.
    > > This is a HUGE subject area so I dont know why you cant find much.
    > >
    > > Do a search for deductive databases or expert systems.
    > >
    > > gtoomey

    >
    > I guess I was looking for something more distilled and understandable
    > by corporate types....


    I understand this concern. Deductive data bases, Prolog, etc. is too
    much to master for the CEO.

    Nonetheless, we're in a new era in which Sarbanes-Oxley (a recent law
    passed after the Enron and Arthur Anderson debacles) means that CEOs
    and CFOs must know enough to be able to sign off on financial
    disclosures...based on business rules.

    The era in which the CEO could be exclusively concerned with stocking
    the wine cabinet on his private jet is over...and even in the Fat
    years, most CEOs were far more hands on than Ken Lay and other
    principals of Enron who did not acquaint themselves with the actual
    business rules in effect at Enron.

    Competent and ethical CEOs regularly understand vast and complex
    issues so it is a bit of a puzzle why "deductive data bases, etc." are
    rocket science to the suits.

    The problem is that the specific "motleys" (to use an old Bell
    Northern Research term for the nonsuits) who work with the advanced
    technology are pure theorists and our society divorces theory and
    practice.

    My experience runs against the grain. It is that the motleys should
    implement the theory in such a localized fashion that they themselves
    form the missing link.

    This doesn't work, however, in companies where disrespect and mistrust
    of "mere coders" and other working people reigns.
     
    Edward G. Nilges, Dec 6, 2004
    #9
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. karim
    Replies:
    0
    Views:
    474
    karim
    Jul 13, 2003
  2. C B
    Replies:
    1
    Views:
    443
  3. NOBODY
    Replies:
    2
    Views:
    398
    NOBODY
    Oct 30, 2004
  4. Stuart Gerchick
    Replies:
    27
    Views:
    1,936
    Steven T. Hatton
    Nov 12, 2004
  5. Replies:
    2
    Views:
    474
    bruce barker
    Jul 28, 2007
Loading...

Share This Page