04-801-O4   Model-driven Software Engineering

Location: Africa

Units: 6

Semester Offered: Spring

Course discipline

Software engineering

Course description

Model-driven Software Engineering (MDSE) practices have proved to increase efficiency and effectiveness in software development. The aim of this course is to introduce the students to the MDSE world, thus allowing them to understand and apply its basic principles and techniques. The course is organized into two main parts. The first part discusses the foundations of MDSE in terms of basic concepts. The second part covers the technical aspects of MDSE: how to build a domain-specific modeling language, the description of Model-to-Text and Model-to-Model transformations, and the tools that support the management of MDSE projects.

Learning objectives

  • To learn the basic principles and techniques of Model-Driven Software Engineering
  • To put them at work on widely available Eclipse-based tools

Content details

PART 1: Foundations of MDSE

  • Introduction to MDSE
  • UML usage (recap)
  • SysML
  • OCL
  • MDSE Principles
  • Features of Modeling Languages
  • MDSE Use Cases
  • Model-driven Architecture (MDA)
  • Integration of MDSE in the software development process

PART 2: Technical aspects of MDSE

  • How to develop a modeling language
  • Agile development
  • Model-to-model transformations (ATL)
  • Model-to-text transformations, code generation
  • Managing models


  • Knowledge of object orientation
  • Basic knowledge of IDEs
  • Basic knowledge of UML
  • Programming capabilities in object-oriented languages


Eric Umuhoza