Domain-specific languages (like the Matlab/Simulink library or the Verilog hardware
 description language) are used in many engineering fields to model systems in the
 design phase. DSLs, which always use textual syntax, require professional tool and
 editor support. Although such a support might already be achieved for different
 languages as a result of a large and costly software development effort, the basic
 ideas of model-driven system engineering, namely, to extensively use models
 during the whole design process, to abstract away from technological choices and to
 facilitate the port to the specific target mean a viable technological solution for
 DSLs as well.
The main benefits of model-driven engineering include the ability
- to reduce costs by revealing design errors in early phases by running simulation
 or verification techniques on models, and
- to automatically generate code from model-based specifications for different
 execution platforms and for large parts of the system.
The lecture presents several aspects of model-driven software engineering
 including approaches, best practices, methodologies, and techniques for
- defining application domain concepts in a model-driven way,
- describing systems by models,
- transforming models to other models, and
- transforming models to text or program code.
Content of lectures:
- Introduction and motivation
- Metamodeling, XML schemas
- Eclipse Modeling Framework (EMF)
- Graph transformation
- Model transformation
- Bidirectional transformation
- Template-based code generation
- Editors for Domain-Specific Languages
Content of laboratory exercises:
- Metamodeling, EMF, code generation
- Graph transformation
- Model transformation
- Template-based code generation
For all further information please consult the corresponding forum:
 
 
 
