More on The Value of (Production) Rules
Paul Vincent of TIBCO wrote an outstanding post, The Value of (Production) Rules … Paul correctly notes:
In summary, of course, event-processing rules, event-driven rules, and rules for business decisions can all overlap, depending on the application.
By coincidence, I was reading an excellent paper recently, Reactive Rules on the Web. In this Springer-Verlag paper, the distinguished ILOG and University of Munich authors (Bruno Berstel, Philippe Bonnard, Francois Bry, Michael Eckert and Paula-Lavinia Patranjan) say;
[Both] Event-Condition-Action (ECA) rules and production rules fall into the category of reactive rules, which are used for programming rule-based, reactive systems.
In other words, ECA rules and production rules are both a type of reactive rule, according to the literature.
Recently I read a blog post where the author hoped to distinguish between BRMS and CEP; citing a BRMS as a “production rule system” and CEP as a “reactive rule system”. This distinction does not appear to work because production rules are also reactive rules, according to the literature.
If you are interested in event processing rules, I highly recommend Reactive Rules on the Web.
Filed under: Business Rules, CEP Terminology, Complex Event Processing, Event Processing












Hi Tim. The paper you are refering is cut in the middle, the full paper can be found here: http://www.springerlink.com/content/y3828074×3119144/ (hope that everybody can access it),
Also - the paper exact citation is:
Bruno Berstel, Philippe Bonnard, François Bry, Michael Eckert, Paula-Lavinia Patranjan: Reactive Rules on the Web. Reasoning Web 2007: 183-239
You are right that production rules and ECA rules are both type of “reactive rules”, and can be used to determine the action, given a situation. This should not be confused with the process of situation detection, for which rules may not be the ideal technology. I’ll write more on that soon.
cheers,
Opher
Hi Opher,
Thanks for the update. I also found another full version of the paper:
http://rewerse.net/publications/download/REWERSE-RP-2007-031.pdf
… and updated the links in the post to match.
Thanks again!
Yours sincerely, Tim
As I have all too often only commented on this site when I disagree, let me take this opportunity of saying that my understanding is the same as yours - ECA rules and production rules, in the context of BRMS, are both generally regarded as ‘reactive’.
To be a bit more exacting, I understand a ‘reactive’ rule to be one that is fired in response to some change to system state or environment. Clearly, this always applies to ECA rules where the event has the semantics of ‘something that the system reacts to’ by conditionally firing actions. In production systems (typically BRMS, expert systems, etc), ‘facts’ about the external world are asserted to the engine and result in the firing of production rules. A ‘fact’ (really just a data tuple) could represent some event, or could have other semantics. I suppose that how ‘reactive’ a production rule is deemed to be depends on the semantics of the facts asserted to the production system. Production rules are rather informal in nature, and hence can be exploited for a range of different purposes.