Increase productivity by a factor of 10!

Domain-Specific Modeling is fundamentally faster than manual coding with a programming language.The largest productivity boost software developers have seen was the step from assembler to third-generation languages decades ago. Since then newer programming languages have had little impact on productivity, as they have not significantly raised the level of abstraction. For example, the average productivity in Java is only 20% better than in BASIC.

Traditional modeling languages like UML have not significantly changed the situation, since the core models are at substantially the same level of abstraction as the programming languages supported. The benefits of visual modeling are offset by the resources used in keeping all models and code synchronized with only semi-automatic support. In practice, part of the code structure is duplicated in the static models, and the rest of the design - user view, dynamics, behavior, interaction etc. - and code is maintained manually.

Domain-Specific Modeling languages fundamentally raise the level of abstraction, while at the same time narrowing down the design space, often to a single range of products for a single company. With a domain-specific language, the problem is solved only once by visually modeling the solution using only familiar domain concepts. The final products are automatically generated from these high-level specifications with domain-specific code generators (examples). There is no longer any need to make error-prone mappings from domain concepts to design concepts and on to programming language concepts. Experiences have shown that this kind of approach is 5-10 faster than the usual current practices. After a gap of decades, a fundamental increase in productivity is once again possible!