Lectures: Tuesday, 12:20, SW1 (Tomáš Bureš, Milad Ashqi Abdullah)
Page in SIS: NSWI164
Grading: Credit
About this course
Model Driven Development (MDD) is a software development methodology that focuses on creating models as the primary artifacts of the development process. These models serve as blueprints that can be transformed into executable code, documentation, and other artifacts. MDD enables developers to work at higher levels of abstraction, improving productivity, code quality, and maintainability. This course explores the fundamental concepts, tools, and techniques used in model-driven development.
You will learn:
- Core concepts of Model Driven Development and Model Driven Architecture (MDA)
- How to create and work with domain-specific languages (DSLs)
- Model transformations and code generation techniques
- UML modeling and its applications in software development
- Eclipse Modeling Framework (EMF) and related tools
- Meta-modeling concepts and practices
- How to design and implement model-to-model and model-to-text transformations
- Best practices for model-driven software development
- … and much more!
How to Download Course Content
All course materials, including lecture slides, assignments, and additional resources, will be made available through the course repository. You can access the materials by:
- Visiting the course Teams page
- Downloading individual files on this page
- All PDFs and supplementary materials will be updated weekly
Weekly Schedule
Week 1: (30/9) Introduction
- Topics: Introduction to Model Driven Development
- Materials:
mdd1-introduction.pdf
Week 2: (7/10) Unified Modeling Language (UML)
- Topics: UML fundamentals and modeling techniques
- Materials:
mdd2-uml.pdf
Week 3: (21/10) MetaModel Examples
- Topics: Meta-modeling concepts and practical examples
Week 4: (4/11) EMF (Graphical Representation)
- Topics: Eclipse Modeling Framework and graphical representations
- Materials:
mdd4-emf.pdf
Week 5: (11/11) XText (Textual Representation)
- Topics: XText framework for textual domain-specific languages
- Materials:
mdd5-xtext.pdf
Week 6: (18/11) Model to Model Transformation
- Topics: Model-to-model and model-to-text transformations
- Materials:
mdd6-m2m.pdf
Week 7: (25/11) Xtend and Language Server tools
- Topics: Xtend programming language and Language Server Protocol tools
- Materials:
mdd7-xtend.pdf
Eclipse Modeling Tools Installation
To participate in the practical exercises, you will need to install Eclipse with modeling tools:
Prerequisites
- Download OpenJDK
- Visit: https://openjdk.org/projects/jdk/21/
- Download and install OpenJDK 21
Eclipse Installation
-
Download the Eclipse installer
- Visit: https://www.eclipse.org/downloads/
- Download the Eclipse Installer
-
Run the installer and pick Eclipse Modeling Tools
- Launch the Eclipse Installer
- Select “Eclipse Modeling Tools” from the available packages
- Follow the installation wizard
XText Installation
- Install XText (if not included in Eclipse Modeling Tools)
- Open Eclipse
- Go to Help → Eclipse Marketplace
- Search for “Xtext”
- Install “Xtext Complete SDK”
- Restart Eclipse when prompted
Alternatively, you can install via update site:
- Go to Help → Install New Software
- Add update site:
https://download.eclipse.org/modeling/tmf/xtext/updates/releases/
- Select Xtext SDK and install
Course Completion
-
The course must be completed by firm deadline 15.09.2026
-
4 completed homeworks (mandatory)
- Each homework focuses on different aspects of model-driven development
- Homework assignments will be released throughout the semester
-
Term project (mandatory)
- Design and implement a complete model-driven solution
- Project proposal must be approved by the instructor
- Final presentation and demonstration required