DSL as a Means of Improving Developer Productivity
The reduction of the transformation activities between man thoughts and executable software has been the quest of the software development world for a very long time, and though Domain-Specific Modeling is a major step in that direction, maintaining different levels of abstraction and making them work together is never an easy task.
The key to achieving mature development of software systems lies in the understanding of Business Domain and the Problem Domain that the software is expected to solve. An obvious observation is that one single model (in a single file or single repository) will not suffice for describing a complete application. Multiple Models driven by many Meta-Models integrating in a defined cohesion controls the modeling and the eventual representation of the actual software.
Shawn Wildermuth is writing a series of articles on building and using domain specific languages for developing software. Read the first part of the series here http://msdn.microsoft.com/en-us/library/dd441702.aspx.
Domain Specific Modeling is a key aspect of developer productivity as I would be discussing them in my columns here. This article series would be a good reference point complementing my ideas.