NRules / NRules Rules engine for .NET, based on the Rete matching algorithm, with internal DSL in C#.