Software Engineering & Compilation
- Sebastien Mosser (Université Côte d'Azur / I3S)
- Laure Gonnord (Lyon 1 / LIP)
- Course website: https://github.com/mosser/sec-labs/blob/master/README.md
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