Code Comments
Programming Forum and web based access to our favorite programming groups.Anyone know of best practices for rules engines. The only thing I could find was at: [url]http://blogs.ittoolbox.com/eai/leadership/archives/002172.asp[/ url]
Post Follow-up to this messageCindi Jenkins wrote: > Anyone know of best practices for rules engines. The only thing I > could find was at: > http://blogs.ittoolbox.com/eai/lead...ives/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
Post Follow-up to this messagecindi@chiltown.com (Cindi Jenkins) wrote in message news:<6dddb280.0411290505.2bcd4c69@post ing.google.com>... > Anyone know of best practices for rules engines. The only thing I > could find was at: http://blogs.ittoolbox.com/eai/lead...ives/002172.asp[/ color] 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 divantage, 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.
Post Follow-up to this messageWill check out your book. Seems as if the author has updated it with additional wisdom. http://blogs.ittoolbox.com/eai/leadership/
Post Follow-up to this messageGregory Toomey <nospam@bigpond.com> wrote in message news:<317pooF37qd0aU1@individual.net>. . > Cindi Jenkins wrote: > > > 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....
Post Follow-up to this messageIn article <6dddb280.0412030749.20e5d810@posting.google.com>, cindi@chiltown.com 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. :-)
Post Follow-up to this messageTry 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.
Post Follow-up to this messageMadhubabu.EM@gmail.com (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. pjm@spe.com | (C++, Java, ObjectStore, Oracle, CORBA, UML)
Post Follow-up to this messagecindi@chiltown.com (Cindi Jenkins) wrote in message news:<6dddb280.0412030749.20e5d810@post ing.google.com>... > Gregory Toomey <nospam@bigpond.com> wrote in message news:<317pooF37qd0aU1 @individual.net>... > > 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.
Post Follow-up to this message
Show a Printable Version
Email This Page to Someone!
Receive updates to this thread
Powered by vBulletin
Copyright 2000-2006 Jelsoft Enterprises Limited.