Model-based software engineering (MBSE) is an advanced software development paradigm, in which models not just auxiliary artifacts, but first-class citizens throughout the development process. These models can be created using general-purpose languages such as UML, as well as domain-specific languages that are tailored to the application domain at hand. MBSE offers various advantages to companies, such as (i.) the possibility to analyze the system with regard to important properties (like safety, security, and performance), even before the system is implemented and deployed; (ii.) improved long-term system maintenance by decoupling domain concepts from underlying technology knowledge; and (iii.) automated generation of implementation prototypes based on an available code generators and transformation tools.
We are interested in all aspects of MBSE. Available thesis topics in current areas of interest are listed below. If you are interested in any of these topics or other topics related to MBSE, please contact Daniel Strüber.
Last update: January 21, 2024
See description. This topic involves an industry collaboration with Xitaso and would entail spending a (funded) period during the thesis at one of their sites in Germany (Augsburg, Krumbach, Berlin, Ingolstadt, Erlangen, Leipzig, Münster, München, Karlsruhe).
Optimization is a concern of relevance in many societal sectors, including healthcare, logistics, and education. There is a wealth of optimization technologies available which could be helpful for decision-makers, but choosing an appropriate one and customizing it to the domain at hand requires significant technical expertise. In previous work, we introduced Model-Driven Optimization (MDO) as a paradigm that leverages models to significantly reduce the required learning curve for applying optimization technologies in a given application domain.
The following thesis topics are focused on advancing this new paradigm:
Software product lines are collections of software products that are developed based on a common codebase. View-based editing of software product lines simplifies the development of software product lines as the developers can interact with a single, specific product -- the view -- and then have changes to that product propagated to all products in the overall product line. The goal of this project is to formalize and implement a model-based representation to facilitate the propagation of changes during the view-based editing of a software product line.