What's New

- DSM'21 workshop: program and presentations
- Industrial use of DSM: Summary of the panel
- Better meta: seminal Welke paper online
- Join the DSM Forum group on LinkedIn

DSM Forum

The DSM Forum exists to spread the knowledge and know-how of Domain-Specific Modeling. It is an independent body made up of the leading DSM tool and solution providers, along with expert DSM users.

As part of its mission, the DSM Forum maintains this site as a central point for information on DSM, and to link to existing information elsewhere. To contribute, email us at: DSMForum@DSMForum.org.

What is Domain-Specific Modeling?

Domain-Specific Modeling raises the level of abstraction beyond programming by specifying the solution directly using domain concepts. The final products are generated from these high-level specifications. This automation is possible because both the language and generators need fit the requirements of only one company and domain. Your expert defines them, your developers use them.

Industrial experiences of DSM consistently show it to be 5-10 times faster than current practices, including current UML-based implementations of MDA. As Booch et al. say* "the full value of MDA is only achieved when the modeling concepts map directly to domain concepts rather than computer technology concepts." For example, DSM for cell phone software would have concepts like "Soft key button", "SMS" and "Ring tone", and generators to create calls to corresponding code components. DSM fulfils the promise of model-driven development.

Since your expert specifies the code generators - for your domain and your components - the resulting code is better than most developers write by hand. No "one size fits all" generated code, no stubs, no "round trip" problems. Instead, full, top quality code. DSM does to code what compilers did to assembly language.

* Grady Booch, Alan Brown, Sridhar Iyengar, James Rumbaugh, Bran Selic, An MDA Manifesto, MDA Journal, May '04

MDA and UML are registered trademarks of Object Management Group.