.net – Microsoft Visual Studio SDK DSL Tools – Any serious takers

dsldsl-toolsnetvisual studiovisual-studio-sdk

We are considering Microsoft DSL toolkit for creating some abstract designers. I already did some POCs, but would like to get some opinions on the same.

Any one here to share their experiences working with Microsoft DSL Toolkit and T4? Also, any pointers to open source DSL projects will help – Eg. Microsoft Service Factory modeling edition is heavily relying on DSL toolkit.

As OSLO/Quadrant will take some time to get released, I think the only option we have is to rely on Microsoft DSL designer. (See Kieth's blog on the same)

Also, here is some information I already have on DSL:

1 – A Nice Lab in MSDN on DSL tools

2 – A List of Projects in Codeplex using DSL toolkit

Best Answer

We have done considerable work with the DSLs and have a number of them for in house and client based consultant use, though it has not me who has done most work with them. Once you have ironed out the modeling(no small feat) I would say that these are great tools.

I cannot point you at any open source projects unfortuanetly, and I will add that investment in getting a non trivial DSL up and running with is quite large, however if you get them right then the productivity boost is impressive.

edit - after a few years experience I make the following observations:

  1. The VS DSLs have bad visual performance large diagrams, you need fold the model elements away (hide/show)
  2. large diagrams with many interconnecting lines are hard to navigate (layouts are hard)
  3. Large Models perform adequately for code gen etc, with the time taken mostly on deserialisation (as expected)
  4. Model comparison is difficult due to the large number of GUIDs
  5. A good developer experience requires a lot of development over the out of the box properties dialogs.
  6. Models can be encrypted to protect IP, this makes comparison later extremely hard (but this is true for all encrypted files.)