Thomas Vogel



My research focuses on developing methodologies and tools that support understanding, engineering, and assuring intelligent software systems, especially systems that act automatically upon itself or the environment based on automated decisions (cf. self-aware and self-adaptive software systems). In my work, I combine software engineering research with model-driven engineering, control theory, artificial/computational intelligence, and (mathematical) optimization.

My Ph.D. research was about model-driven engineering of self-adaptive software where models and model-driven engineering techniques are exceedingly leveraged at run-time to achieve a higher degree of flexibility in the design, evolution, and operation of such systems than the state of the art.

Especially in my postdoctoral studies I worked on methods and techniques to cope with the increasing level of autonomy of intelligent systems:


Self-Adaptive Search for Sapienz

Transferring self-adaptation principles to the search process of Sapienz, a search-based test suite generation tool for mobile applications (funded by the 2018 Facebook Testing and Verification Research Award).

FLASH: Fitness landscape analysis to improve search-based software engineering

Analyzing and understanding the search space and search methods for software engineering problems to improve state-of-the-art search heuristics to solve these problems (funded by DFG, project website).

Specification and Verification of Requirements and Safety Contracts

Developing a domain-specific language for specifying and verifying requirements and safety contracts in the automotive industry, and techniques for explaining counter examples of the verification process (in cooperation with BOSCH Research).

Safe.Spec: Quality Assurance for Requirements Specifications

Developing a user-friendly, model-driven approach to specify, compose, and verify scenario-based requirements. This includes the pattern-based specification of scenarios using sequence diagrams, composing scenarios to automaton-based specifications, and integrating natural language-based property specification patterns with UPPAAL. (in cooperation with TWT GmbH, funded by BMBF, project website).

EUREMA: Executable Runtime Megamodels

A model-driven engineering approach to specify, execute, adapt, and evolve feedback loops in self-adaptive software systems (project website).

MORISIA: Models at Runtime for Self-Adaptive Software

Researching runtime models for feedback loops in self-adaptive software systems to realize self-awareness and self-adaptation (project website).

mRUBiS: modular Rice University Bidding System

An exemplar for model-based architectural self-healing and self-optimization of an information system. See paper and artifact at GitHub.