We just released a new open source package here at Ancestry: Daisy. Daisy is a business writeable domain specific language for business rules. It lets business experts write the rules, and software developers define how they are implemented. Daisy itself is domain agnostic, but allows domain experts and software developers to create the rule domain together. An example rule is:
Any User
Is Active
Has Account
Balance is less than 0
OR Balance is greater than 250000
The idea behind Daisy, is that we wanted our domain users to be writing rules, but not code. Rather than using some high-powered rules engine, we wanted something exceptionally light-weight. We also wanted our domain experts to be inventive, and invent rules as they needed them. This is exactly what Daisy does.
Domain experts can write any rule they want, as long as it complies with the basic Boolean algebra syntax. Then, developers come along and write implementations to any rules that haven’t yet been implemented. In this way, it’s just like gherkin, but for business rules. Take a look at the code on GitHub or download the Nuget package.