This lecture (on the BSc level) provides a gentle introduction to MDE. What is a model? What is a meta-model? What are meta-levels? Abstraction levels? Model transformations? All these basic questions and more are handled in this course using the development of Domain-Specific Languages (DSLs) as a motivation for MDE.
MDE has a lot to do with automation and tooling, so the model transformation tool eMoflon::IBeX will be used throughout the lecture to provide practical hands-on experience. eMoflon is based on the mature formalism of graph transformation, providing a uniform and visual set of languages for many important model management tasks.
As the course is all about software development, so-called mini-projects run parallel to the lecture and involve developing a small DSL of some kind. Participating in a mini-project can earn you a bonus if completed successfully. Wondering what can be developed in such a mini-project? Click on a picture below to view a screen cast from past mini-projects.
While it is important to develop an intuitive and practical understanding for central concepts such as models, metamodels, and model transformations, it is equally important to establish solid formal foundations for at least the basic concepts. This is especially the case when providing reliable tool support (e.g., static analyses) for MDE activities.
This lecture (on MSc level) introduces basic MDE concepts including models, metamodels, and model transformations, providing a precise and detailed formalisation using very basic category theory. FMDE is designed to be especially accessible to computer scientists by providing a hands-on constructive mapping of all definitions and results to programs in a main stream OO language (Java). While FMDE complements MBSE and revists the most important concepts in full detail, you can also attend FMDE without having attended MBSE.