Introduction to Domain-Specific Modeling

Domain-Specific Modeling (DSM) is a model-based software development approach that uses visual models as primary artifacts in the development process. DSM raises the level of abstraction beyond normal programming languages by directly specifying the solution in a language that uses concepts and rules from the problem domain — a Domain-Specific Language (DSL).

The process

With DSM, a company expert — or a small team of them — defines a Domain-Specific Modeling language and the generators that will transform designs made with that language into the artifacts the company needs (e.g. code, configuration files, documentation). Developers then use this modeling language to create high-level models.

Once these high-level models are created, full-code can then be automatically generated from them using customized code generators. Code can be produced in any programming language or for any development paradigm and does not require any subsequent manual editing. This automated code generation from models is possible because of domain specificity: the modeling language, code frameworks, and generators are designed to tightly fit the requirements of a single company. Existing platforms, libraries, components, and legacy code can all be effectively utilized during the generation process.

The results

DSM offers the largest improvement in software development productivity since the move from Assembler to 3GLs. Industrial experiences with DSM consistently show it to be 5-10 times faster than current practices, including UML-based implementations of MDA. However, without the right tool support building a DSM solution can be a large undertaking, potentially preventing a company from adopting DSM. MetaEdit+ offers all the tool support companies need to benefit from DSM.

MetaEdit+ from MetaCase reduces the time needed  to build a custom DSM solution from years to days. MetaEdit+ is the most advanced visual modeling environment to offer full support for DSM, generations ahead of the competition. As such, a rapidly growing number of companies in such varied industries as telecommunications, financial services, medical, and automotive are now using MetaEdit+ to radically improve their software development process. The results are no less than remarkable. For example, companies like EADS, Panasonic, Polar and Elektrobit report 5-10 fold productivity increase!

  • For additional information on DSM, including a variety of industry cases, please visit DSM Forum.