Domain Specific Languages

Course Description (EP-5I-9119)

This course deals with Model-driven Engineering (MDE), from the point of view of Domain Specific Languages (DSL) definition. It focuses on the definition of a meta-model associated to a given domain, and its specific tooling to support domain experts. It emphasises the need for DSLs in modern systems.

Teaching Staff

Firstame Lastname Contact Office Role
Benjamin Benni (email) Templiers Ouest, #443 Labs
Sébastien Mosser +33 4 92 96 50 58, (www), (email) Templiers Ouest, #444 Coordinator

Level 4 of the “Templiers Ouest” building implements a restrictive access control policy, with respect to CNRS regulations. Thus, if you want to visit your teacher, you must contact him by phone to unlock the entry door. Use your cellphone or the public intercom available at the door (replacing +33 4 92 96 by 2).


  • Students are expected to have strong skills in software development and object-oriented languages;
  • Students must understand fluently class models
  • Students must have (basic) notions of language compilation

Planning & Course Material

Week Topic Lecturer Delivery
51 Introduction to DSLs, kick-off lab SM
52 Christmas Break
1 Christmas Break
2 Implementing DSLs SM
3 project work SM
4 project work SM
5 project work SM
6 project work SM
7 project work SM
8 project work SM
9 Final Exam ArduinoML

  • Piazza forum
  • Deliveries are expected through the Git repository.

Tooling & Resources


The students are individually evaluated according to the following assignments: (i) kickoff lab, (ii) ArduinoML project and (iii) final exam.


  • Domain-specific languages
    • Martin Fowler
  • DSL Engineering
    • Markus Voelter
  • Presentation of MPS by Fabien Campagne.
teaching/17_18/dsl/start.txt · Last modified: 2017/07/19 18:10 by Sebastien Mosser