As part of a course on “Software evolution and re-engineering” at University of Montpellier in 2016 for MSc students. Most of them are following a software engineering cursus. There is also an audience with an interest in research. Several (external) instructors are involved to present specific topics: refactoring, metamodeling, reverse engineering, etc. More details here.

We put here the material related to configuration, variability, reuse, and software product line engineering.

Instructor: Mathieu Acher

Location of the material

Montpellier 2016 directory

Description of the material

A set of slides used for courses. Lab sessions include: - exercices on feature modeling - exercices on JHipster

Content is mainly in English, but lab instruction is in French. Please contact instructors if you need some translations.

Description of the course

The course starts with a gentle introduction of software product lines (what and where they are, terminology and definition, SPLE process, etc.) Then we focus on feature modeling: - syntacs and semantics - feature model synthesis - feature model management (slicing, merging, etc.) Finally we explore scenarios for reverse engineering or modeling variability from existing artefacts.