.net – What technology to use in creating DSL for rules engine


What technology would you recommend to create a DSL for a Business Rules and Validation Application Block for .NET? And why?

The architecture of the framework is established and proof-tested by a production. I just want to create a .NET processor to transform human-readable rules to a compiled Rule implementations.

The options that I'm aware of are:

Unfortunately none of these approaches provides anything to build more-or-less friendly IDE for editing DSL, given the DSL syntax (which would evolve).

Any ideas or hints?

Best Solution

Microsoft's next generation application development platform, codenamed Oslo (now Delve)

Makes it easier for people to write things down in ways that make sense for the problem domain they are working in

Oslo seems to consist of a visual design tool named "Quadrant", a modelling language named "M", and the "Oslo" repository (a SQL Server database) storing the rules.

So if I read things correctly, you could define a modelling language in M, use Quadrant to define and edit your validation rules using your own modelling language, and write an application that makes use of the Oslo repository, generating your Business Rules and Validation Application Block for .NET.

Related Question