print · login   

Theme: Model-based Software Engineering

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

Model Synthesis from PlantUML Diagrams

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).

Model-Driven Optimization

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:

  • Making MDO efficient. The main drawback of MDO, so far, was that using MDE models lead to worse performance than using a traditional (vector-based) SBSE encoding, because a run of the optimization technique involves a large number of copying steps, and copying a MDE model is more expensive than copying a simple bit or integer vector. A previous work presents a first step towards solving this problem by automatically deriving a vector encoding from the given model representation, which allows a more efficient copying. However, another bottleneck remains: The search operators is still executed on the MDE models, which is another costly operation. This project aims to make the execution of search operators smarter, by directly transforming the encoding instead of the underlying MDE models. This would hopefully lead to a breakthrough of the optimization performance.
  • A benchmark set of optimization problems. To enable a systematic advancement during the development of MDO approaches, we need a benchmark set of available optimization problems. Such a benchmark set would consist of a framework to support the evaluation and comparison of approaches, and a dataset of available problems, expressed as instances of the framework.

View-based editing of software product lines

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.