Queen's Logo

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

Detailed course content

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


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 course will cover the following topics:
  1. Modeling, abstraction and automation in engineering and software development
  2. Specifying software structure and behaviour:
    1. UML: class diagrams, object diagrams, composite structure diagrams, sequence diagrams, state machines
    2. UML-RT: capsules, ports, parts, protocols, state machines, action code; formal semantics
  3. The actor model and its relevance for modern software system development
  4. Developing reactive systems with UML-RT and IBM RSARTE: design, validation, code generation, build, testing, debugging, best practices, (anti-)patterns
  5. Using the Eclipse Modeling Framework (EMF) for developing applications based on structured data models
  6. Specifying domain specific languages (DSLs)
    1. Syntax: concrete syntax, abstract syntax, grammars, metamodels, serialization, constraints
    2. Semantics: operational, translational
  7. Using Xtext for the development of DSLs
  8. Case studies: Applications of MDSD techniques and tools to address software engineering challenges in different domains

Last modified: Sun Aug 29 2021 11:03:09