Queen's Logo

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

Detailed course content

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

Important note
These are the webpages for last term's version (Winter 2021) of the course. For this term's version (Fall 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. General purpose modeling languages
  5. MDSD for real-time, embedded systems
  6. Code generation from models
  7. The actor model
  8. Domain-specific languages (DSLs)
    1. examples
    2. defining DSLs
      1. syntax:
        • abstract: grammars vs metamodels, metamodel languages (MOF, ECore)
        • concrete: textual, graphical
        • serialization
      2. semantics: translational
    3. model transformation with Xtend
    4. tools: Xtext