Understanding Model Driven Approaches to Software Development
Conclusion: Within the software engineering community only few people fully understand the difference between the traditional use of models in software engineering, and newer so called "model-driven" approaches. In particular the discipline of Enterprise Architecture makes extensive use of modeling techniques, and mainstream practice has not yet caught up with the model-driven approaches that are possible with today's leading edge software tools.
The problem is largely educational, and is compounded by a reluctance to step out of the comfort zone and rise to the challenge of producing precise and unambiguous models that can be used to power a highly automated software production facility. In model-driven approaches models and model transformations take on the same role as traditional source code - requiring a mindshift comparable to the one that was required in the transition from assembler programming to modern 3rd generation programming languages.