Domain-Specific Modeling (DSM) raises the level of abstraction beyond programming by specifying the solution directly using domain concepts. In many cases, the final products can be 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.

This demonstration introduces DSM by showing real world cases from various fields of software development: enterprise application development into Symbian smartphones, financial product definition into B2B J2EE web site, voice menu development into 8-bit microcontroller and MMS/SMS telecom service configuration. These cases illustrate how DSM, giving first class support for modeling, can prevent incorrect or unwanted designs at early stages of the development, how underlying platform complexity is hidden, and how full code can be generated from the modeler's point of view.

Second part of the demonstration will show in an interactive manner both the design side and the use side of DSM languages and generators. On the DSM use side, we implement the OOPSLA/GPCE conference registration application into a mobile phone. This is done by modeling in MetaEdit+ tool. Then we shift to the DSM design side: Using MetaEdit+ tool for metamodeling, we extend the modeling language as well as the generator. Language extensions deal with adding domain constraints, rules and new concepts. Once the DSM is extended, this allows us to revert to modeling in order to finalize our sample conference registration application.