.NET Business Rule Engine
NxBRE is the first (timely speaking) open-source rule engine for the .NET platform and a lightweight Business Rules Engine (aka Rule-Based Engine) that offers two different approaches:
the **Inference Engine**, which is a forward-chaining (data driven) deduction engine and that supports concepts like Facts, Queries and Implications (as defined in [RuleML](http://ruleml.org) Naf Datalog sub-language) and like Rule Priority, Mutual Exclusion and Precondition (as found in many commercial engines). It is designed in a way that encourages the separation of roles between the expert who designs the business rules and the programmer who binds them to the business objects.
the **Flow Engine**, which uses XML as a way to control process flow for an application in an external entity. It is basically a wrapper on C#, as it offers all its flow control commands (if/then/else, while, foreach), plus a context of business objects and results. It is a port of [http://sourceforge.net/projects/jxbre/](JxBRE) v1.7.1 (SourceForge Project from Sloan Seaman) to .NET's Visual C#.
NxBRE 's interest lies first into its simplicity, second in the possibility of easily extending its features by delegating to custom code in the Flow Engine or by writing custom RuleBase adapters or Business Objects binders in the Inference Engine. NxBRE can be really useful for projects that have to deal with:
complex business rules that can not be expressed into one uniform structured manner but require the possibility to have free logical expressions,
changing business rules that force recompilation if the new rules must meet unexpected requirements.
NxBRE is released under the MIT license in order to allow users to legally build commercial solutions that embed NxBRE.