Experience with rule engines in an outage scheduling system
Elisabeth Bayegan, Khosrow Moslehi · 2011
This paper presents our experience in developing an outage coordination and scheduling system specifically designed to make use of a rule engine to satisfy demanding requirements, such as supporting large rule sets, accommodating changing business requirements, and facilitating rules management, especially by the customer. The latter requirement presents a challenge where the solution must enable the customer to change rules without affecting application behavior or having access to the code. Knowledge and requirements engineering techniques from the CommonKADS and Unified Modeling Language frameworks are applied to deal with complexity and to achieve design modularity and sophistication necessary for representing large rule sets. The system is designed around a state machine and employs reusable, generic, and template-based components. Rule-engine interoperability and our experience with replacing the product is discussed. The natural separation of code and logic in a rule-based architecture proved to give immediate benefits with regard to rule-engine interoperability.