Geeks With Blogs

@JReuben1
  • JReuben1 AngularJS Directive templateUrl --> halfway to W3C WebComponents ! about 534 days ago
  • JReuben1 Yeoman AngularJS generator - generate controllers, views, routes, services - NICE! about 535 days ago
  • JReuben1 A comparison of HTML5 Canvas 2D JS libs http://t.co/fcB7jvnhqY KineticJS , EaselJS, fabric.js, Paper.js, processing.js seen as the leaders about 536 days ago

Josh Reuben

I recently asked question this question as a post on the Microsoft modeling and tools forum:

Various Microsoft attempts at MDD have failed or been put on the back burner: WhiteHorse, Software Factories, Oslo.

Does Microsoft have any strategy for Model Driven Development? Will any of the forementioned tools ever see the light of day?

Stuart Kent responded to my question here:  http://blogs.msdn.com/b/stuart_kent/archive/2011/04/07/is-model-driven-development-feasible.aspx - Have a look at his post: there is a nice reference frame illustrating the continuum from model-assisted development, through model-driven development to model-centric development.

I think that the approaches that Stuart listed (DSL Tools, UML, LightSwitch and Dynamix) are a) not united or integrated; and b)  far from delivering on the promise of model assisted/driven/centric approaches.

 
1) DSL Tools - Having recently worked through the VMSDK tutorials and built a DSL for a customer, I can say that these are hardly user friendly. There is no declarative API, and the VSIX development (e.g. EnvDTE , Introspection, etc.) is archaic and begs for abstraction. See my forum post http://social.msdn.microsoft.com/Forums/en-US/dslvsarchx/thread/5ae59afe-e046-4aac-b3f8-e3a6868d1fb0/
 
2) UML and the Feature Pack - While it is great that you can shape T4 transforms of UML XMI, there is no round-trip, and I have yet to see a software product that can be completely described using the OO centric UML approach (e.g. UI, SOA architecture) . see my forum post here detailing the limits of UML as a modeling tool: http://social.msdn.microsoft.com/Forums/en-US/modelingandtools/thread/0ca397f3-1c1a-4b54-8bf0-8eb8bfcfd27d/#6f51f8c6-504d-4551-8b71-3c9e33fe6df9  . While I like the Software Factory approach now found in Feature Builder Blueprints, I believe it is not widely adopted because of the effort involved - it is not a seamless or transparent part of ALM.
 
3) LightSwitchThere is no ability to define entities, screens, relationships and queries through code / markup / a DSL - the DSL is not exposed - you cannot shape the T4, and have to rely on the Designer. There is no programmatic access to the API underlying the LightSwitch designer, in order to automate LightSwitch application generation (i.e. meta-programming). See the forum discussion I initiated here: http://social.msdn.microsoft.com/Forums/en-US/lightswitchgeneral/thread/321e75a7-7d0b-4b8b-a4ab-228817ddf349/  
 
4) Dynamix - ERP / CRM only cover a fraction of Information System development, which ranges in scale and addresses a wide range of differing functionality- you don't expect most applications to be repackaged CRM systems?
 
I look forward to hearing about Microsoft's top-secret next-generation Modeling and Meta-programming approach.

Until then, I'll keep on coding!

Posted on Thursday, April 7, 2011 6:49 PM Meta-Programming | Back to top


Comments on this post: Does Microsoft have a Model Driven Development strategy?

# re: Does Microsoft have a Model Driven Development strategy?
Requesting Gravatar...
> I look forward to hearing about Microsoft's
> top-secret next-generation Modeling and
> Meta-programming approach. Until then, I'll
> keep on coding!

Of course, if you're not restricted to tools from Microsoft, there are other modeling and meta-modeling tools out there. The best have full automation of the creation of modeling tools from a declarative language definition - without XML hacking, magic GUIDs, etc. See MetaEdit+ at http://www.metacase.com if that sounds interesting.

It's not for me to compare the user-friendliness of our tool with a competitor, especially since I know we too can always improve. Users seem to prefer it though: "Extremely user-friendly maintenance of metamodels, especially when compared to Microsoft's DSL Tools" <http://www.metacase.com/cases/testimonials.html>.
Left by Steven Kelly on Apr 08, 2011 11:50 AM

# re: Does Microsoft have a Model Driven Development strategy?
Requesting Gravatar...
Microsoft has completely abandoned model-driven development. DSL tools is for hobbyists - no offense :-). They are now really focused on code-first approach (Entity Framework, Roslyn). On the .NET platform, there are indeed model-first alternatives though. Here is one that is there for many years (not very well known though): CodeFluent Entities (http://www.softfluent.com/products/codefluent-entities)
Left by Gunwald Darko on Oct 23, 2012 2:26 PM

Your comment:
 (will show your gravatar)


Copyright © JoshReuben | Powered by: GeeksWithBlogs.net | Join free