Queen's Logo

Beyond Code: An Introduction to Model-Driven Software Development (CISC 836, Winter 2020)

Detailed course content

[Home] [Content] [Schedule] [Projects]

Important note
These are the webpages for last year's version (Winter 2020) of the course. For this year's version (Winter 2021), go here.

Course structure

The course will consist of 3 parts:
  1. Lectures accompanied by 4 assignments.
  2. Discussion of research papers:
  3. Student projects with presentations.

Topics to be covered

The lecture part of the course will cover the following topics:
  1. Introduction, motivation and overview
  2. What is a model?
  3. Models in software engineering
  4. Modeling languages
  5. MDD for real-time, embedded systems
  6. Code generation from models
  7. Domain-specific languages (DSLs)
    1. examples
    2. defining DSLs
      1. syntax:
        • abstract: grammars vs metamodels, metamodel languages (MOF, ECore)
        • concrete: textual, graphical
        • serialization (XML)
      2. semantics: translational
    3. model transformation with Xtend
    4. tools: Xtext