Being free from the manual creation and maintenance of source code means domain-specific language can significantly improve developer productivity.
[1] The reliability of automatic generation compared to manual coding will also reduce the number of defects in the resulting programs thus improving quality.
For example, a domain-specific modeling language for mobile phones could allow users to specify high-level abstractions for the user interface, as well as lower-level abstractions for storing data such as phone numbers or settings.
The resulting tool may either work within the domain-specific language environment, or less commonly be produced as a separate stand-alone program.
The increasing popularity of domain-specific language has led to domain-specific language frameworks being added to existing IDEs, e.g. Eclipse Modeling Project (EMP) with EMF and GMF, or in Microsoft's DSL Tools for Software Factories.
For example, in the domain of automotive engineering, there will be software models to represent the properties of an anti-lock braking system, or a steering wheel, etc.
UML includes a profile mechanism that allows it to be constrained and customized for specific domains and platforms.
UML is a popular choice for various model-driven development approaches whereby technical artifacts such as source code, documentation, tests, and more are generated algorithmically from a domain model.