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 and deterministic 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, companies like Airbus/EADS, Panasonic, Polar and Elektrobit report 5-10 fold productivity increase.


MetaEdit+ Domain-Specific Modeling environment

MetaEdit+ is a completely integrated environment for building and using your own Domain-Specific Modeling (DSM) solution. It's been built from the ground up to offer the most powerful and flexible solution possible for model-based development, while taking into account the key needs of today's software development teams:  support for multi-user and multi-platform environments, easy integration with 3rd party development tools and distributed data sources, universal language support, absolutely no vendor locking of data (freely import/export), and years of proven results.

Unlike other tools or home-grown solutions which require months or even years to begin receiving even minimal results, with MetaEdit+ you can begin to benefit from all the productivity and quality improvements DSM offers in just few days. Alternative approaches such as coding from scratch or use of modeling frameworks (e.g. Eclipse GMF) require a large amount of investment (man-years) in building and maintenance and do not achieve anywhere near the same levels of improvement. At Helvetia Versicherungen it took only one to a few person days to completely create their modeling languages. MetaEdit+ has consistently proven to achieve 5x-10x (500% - 1000%) productivity improvements at many of the world's leading companies and this is why it has remained the industry's most-trusted, best-performing DSM tool for the past 15 years.


Key benefits of DSM with MetaEdit+

Increased productivity: MetaEdit+ users consistently report radical productivity improvements of 500-1000%! These numbers are not random occurrences, but have been demonstrated time and time again by industry leaders such as EADS, Nokia and Panasonic. The source of all this increased productivity is automation.

Improved quality: MetaEdit+ not only radically improves productivity, but there is also a marked improvement in code quality. By relying on automatic generation, manual coding errors are completely eliminated. Every developer in the company is able to produce the same high-quality code that precisely matches the organization's development standards because the generators are written by the experts that define those standards.

Better communication and understanding: Because the language is created by the organization to meet their own needs, it is able to use concepts that would be more familiar to company stakeholders than jargon coming from the IT world. This shared language reduces common communication barriers between domain experts, developers, managers, and customers empowering them to positively contribute throughout the entire development process.

Faster time-to-market: A higher level of productivity combined with improved communication translates into a faster time-to-market. While this holds true for a wide variety of companies, it is particularly the case for product-line organizations due to MetaEdit+'s ability to effectively handle large numbers of product variants.  

