I will start this blog by debating on differences between MDA (Model Driven Architecture) en MDSD (Model Driven Software Development) approaches. One could see MDSD as a deprecated version of the standard MDA. But another will see that MDSD has a wider scope than MDA. So I will try to explain what MDSD embraces and what's it is useful for.
First, let's compare what we've got on both sides. For MDA :
Standardized by the OMG since 1999
Based on XMI, MOC, OCL, UML...
Aims at automating all transformations between models to code, suppressing the coding part
Driven by the Y cycle and CIMs, PIMs, PSMs and PDMs
Tries to define standard meta-models shared across industry domains
For MDSD :
Based on the ideas brought by MDA
Not bound to its standards : can be any meta-model like DSLs, not only UML and profiles
Try to promote customized DSLs answering to each need, not assuming that every body will have the same needs on a given domain
Use models as abstraction and still leave a place for development tasks
Defines its own ideas of PIMs and PDMs depending on projects or needs contexts
From the use I can see in my job,the MDA standard is more something made for the big players in the industry, whereas MDSD is a more flexible approach that can be used by a larger group of users, less attached to standards and with smaller scale needs.
To conclude, I will just say that MDSD is a pragmatic way of using MDA concepts. With the new wave of tools such as Eclipse, EMF, GMF, Acceleo..., you can use these kind of approaches on large scale projects and I would recommend anyone to have a deep look into it as it really helps to cut down software development costs !
And the quickest way to do that is to try it using Acceleo I think !