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: June 20, 2022

Model-based software engineering for optimization technologies

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.

Model-based software engineering for variant-rich software systems

Many systems today are developed as variant-rich systems: They come in a significant number of variants, sharing some parts of their implementations, while differing in others. A common strategy to develop a variant-rich system involves the explicit specification of a feature model, giving an overview of the features implemented in each variant, and the use of implementation techniques that support variant-specific changes on the implementation level. Models can support the development of variant-rich systems by providing a high-level view of the system with its variant-specific implementation components.

In this context, the following thesis topics are available:

  • Model transformation of software product lines. In the standard MBSE scenario, models are transformed in manifold ways, e.g., to refactor, optimize or refine them. The automated transformation of models is supported by a wealth of available transformation tools. The goal of this thesis project is to extend an existing model transformation language to support combined changes to two the involved artifacts in a variant-rich system: a feature model and an system model. This would allow to better support the development and analysis of an evolving variant-rich system.
  • Control-flow variability in model transformations. In previous work, we considered the scenario that the model transformation itself is a variant-rich system. We extended a given transformation language so that it supports the specification of variant-specific differences, and allows an efficient execution of such transformations by considering shared parts only once, rather than for each variant individually. However, our extension only considered the rule-based part of the considered transformation language. The goal of this project is to further extend the language, so that variations in the control-flow language used to orchestrate the rules are supported as well.

Model-based software engineering for new emerging paradigms of software systems

Various success stories are available for MBSE in well-known software domains with established best practices, such as embedded systems, telecommunication systems, and web applications. We are further interested in applications to emerging paradigms.

Specifically, the following thesis topics are available:

  • Analyzing decision-making software with regard to discrimination. In the age of machine learning, important legal and operational decisions are made based on massive available data sets. To ensure a responsible processing of data, the goal of this project is to explore the use of models, combined with available data, to support the analysis of systems with regard to discrimination.
  • Modeling conversational AI systems. In various domains such as messaging apps, social media platforms, and automotive interaction systems, we now see the use of conversational AI systems as a means to establish customized consumer experiences. Companies interested in using such systems rely on a large variety of available conversational AI platforms, which, however, all differ in their available features and specification formats. The goal of this project is to enable the model-based development of a conversational AI system by supporting a high-level, model-based specification of the AI system as well as an automated transformation to one or several back-ends.