Model-Driven Software Engineering of Evolving Software

Page content

Context

Model-Driven Software Engineering (MDSE) aims at increasing the automation when developing complex software. The usage of (formal) models to express (parts of) the software raises the level of abstraction which benefits not only understanding, planning the development of the software system and its generation but also analyzing it. Model transformations represent the key instrument to automate tasks of generating source code and keeping the information in various heterogeneous software artifacts consistent.

Particularly for evolving software, transformations and similar techniques are substantial to maintain the software over time but lack from shortcomings which can be addressed in the following topics.

Topics

Potential thesis topics lie in the area of

  • model transformations (e.g., implemented with general purpose languages, comparisons, ….)
  • traceability among artifacts
  • reverse engineering models from source code
  • low-code and no-code platforms
  • DSL engineering

and they may include the intersection with software product line engineering.

Minimally Required Skills

  • Good programming skills.
  • Experience with working with Eclipse and ideally with the Eclipse Modeling Framework are beneficial.

Specific skills depend on the concrete topic

Remark

Concrete topics for a bachelor or master thesis can be discussed with Sandra Greiner.

Further Reading