Posted by Mitchell Harris on January 23, 2014 in Development

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.


Mitchell Harris

I'm a software engineer on the Narrative and Context team. We try to tell the story of your ancestors lives. By discovering interesting context about ancestors and communicating them in compelling natural language stories, we hope to bring or relatives lives into a vivid story, rather than a collection of records and facts.