Most software systems are designed to automate processes that are described by business rules.
Business rules are therefore fundamental to the development process, as they encapsulate the knowledge that is necessary to formulate the requirements of software systems.
Eliciting and explicitly referencing business rules helps ensure that the finished software fulfills its goals [1]}.
Indeed, business rules have even been called “first-class citizen[s] of the requirements world” [2]}.
Business rules may originate from multiple sources, and in most cases are formulated in response to external factors (e.g., policies, regulations, and industry standards) [1]}.
Not only is it important to correctly implement these business rules to comply with applicable regulations [4]}, but the traces between the business rules and their implementations should also be made explicit to facilitate maintenance in the inevitable case where the business rules change [5]}, [6]}, [7]}.
