This is how Microsoft defines DSLs and model driven development, there is a belief among those involved in software development that somehow, modeling can be applied to make their lives easier.
Our vision is to change the way developers perceive the value of modeling. To shift their perception that modeling is a marginally useful activity that precedes real development, to recognition that modeling is an important mainstream development task and not an activity primarily focused on documentation. When models are regarded as first-class development artifacts, developers write less conventional code since more powerful application abstractions can be employed. Model-driven development is thus inherently more productive and agile. Moreover, others involved in development, from business analysts, architects, designers to network staff, and system management specialists, will perceive modeling as adding value to the tasks for which they are responsible. When models span development and run-time activities in this way, communication between people can be optimized, and traceability enabled across the life cycle in any direction. We hold that making modeling mainstream in this way can ultimately change the economics of software development and ensure software systems meet the needs of a business. This approach to model-driven development is part of an initiative at Microsoft called
Software Factories."
I am a big fan of Microsofts software factory initiative, model driven development and DSLs. Why? Because I believe that this approach drives the industrialization of software. What do I mean by software industrialization? In my view, it is making the software development process a predictable and repeatable activity, which given the
state of the art today, it certainly is not. Also, as a 15 year veteran programmer, I am looking for anything that will make my life easier in developing software.
I believe in the software factory vision so much that Barry Varga and I invented a product called
BRIDEGWERX, which is a software factory for generating application integrations. We built this product using
Microsofts BizTalk Server product as the integration engine and developed a Domain Specific Language (DSL) for business analysts and developers to model application integration scenarios using a visual designer, which then outputs a factory schema, which is then used by our software factory template to code generate the resulting application integration solution.
While this may seem like a plug for our product (it is

, I am also very concerned about the state of the art of software development in our industry. The last statement in Microsofts definition of DSLs states, We hold that making modeling mainstream in this way can ultimately change the economics of software development and ensure software systems meet the needs of a business. Isnt that what software is all about? Meeting the needs of the business?
In any other industrialized industry, such as building architecture, manufacturing, electronics engineering, bridge building, etc., modeling (blueprints) is a considered a first class development artifact. As the subtext to the title of this blog site states, if you cant model it, you cant build it. John Walker, the inventor of AutoCAD, figured this out in 1982! It seems in 2005 we are still trying to figure this out for our software industry. At least one major software corporation and our small company
BRIDGEWERX, is trying to advance the industrialization of software.