There is a huge revival of interest in rule systems/engines - this time in the conext of managing 'business rules', not as an exercise in AI. The main premise of business rules management trend is that business rules should be extracted out of code and put under the control of business users. And that these users should be able to change the rules on-the-fly without needing to call upon a programmer. The software systems now are governed by these business rules, and their execution behavior may be altered with ease by the very people who best understand the business. That's neat. And very useful.
The scope of business rules is large, and the term 'business rule' could mean many things - facts/assertions (e.g., interest rate today is 5.75%), derivation rules (e.g., if total puchase > $300, discount rate is 10%), action rules (e.g., if payment is late by more than 45 days, call customer), constraints (e.g., a Gold customer never has credit score less than 650), and such. These rules can be organized in many forms including propositions, if-then-else clauses, decision tables, and decision trees. It is possible, in theory, to consolidate all these rules in a sophisticated rules reasoning system, and let everything in IT be driven by that.
BPM is obviously concerned with rules because business processes are governed by business rules. Many BPM systems today support business rules management of some sort, either by directly suporting it or by integrating with third party rules systems such as ILog Rules
, and Corticon
Compared to all the buzz, I think the real progress has been somewhat limited so far. It is possible that the trend is still in the early stages and will catch on rapidly in the coming years. It is also possible that this trend will fail to deliver the same way the expert systems have failed.
Some useful links: