Skip to content

Instantly share code, notes, and snippets.

Last active September 11, 2017 08:24
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save mosser/0d2addf932cdd3028eba81ae58ea9810 to your computer and use it in GitHub Desktop.
Software Engineering & Compilation

Software Engineering & Compilation

The complexity of ultra large scale systems triggers challenges in the way such systems can be designed and implemented. Following Dijkstra intuition of separation of concerns (1974), it is natural to separate the different domains constituting a given system. Eventually, there is a need to model each business domain separately, with respect to each domain of expertise involved in the design of such a system.

In this course, we will focus on the definition of Domain-Specific Languages (DSLs) to support such a software engineering activity. It leverages compilation theory, methods and tools to design languages, coupled to model-driven engineering formalisms to address the definition of generic and reusable software artefacts used to tackle such challenges. The key idea is to apply results from the compilation field to a very specific class of langages, and then provide an in-depth support for the definition of DSLs. The course then covers both the theoretical background associated to DSLs (leveraging the compilation and modelling research field) as well as the practical definition of a dedicated language, applied to scientific computation.


  • 50%: Lab #2 delivery (code + report)
  • 50%: Bibliographic study (paper + presentation)

Relevant conferences & journals

  • Models
  • ASE
  • ICSE
  • GPCE
  • SLE
  • SoSym
  • TSE
  • JSS
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment