Research in the Field of Computer Science
The Computer Science research in the faculty covers a broad spectrum of practical computer science aspects, encompassing logical foundations, software technology and programming languages, network technologies and their evaluation, and distributed and mobile computing systems.
One of the research groups’ common focus area lies in the description, evaluation and realization of complex distributed and networked systems. Here, researchers work on practicable modeling methods and analysis techniques, as well as the implementation of innovative methods for practically applicable tools.
Algorithms and Complexity Theory
Numerous algorithmic problems are so complex that they cannot be calculated by computers in a resource-efficient manner or within an acceptable runtime. In practice, however, the problems still have to be solved. Particularly in security-relevant areas, but also beyond, guarantees on the quality of the calculated solution are indispensable.
This is where the group's research comes in, both in the context of classical complexity, parametric complexity, and in the development of sublinear time algorithms for very large amounts of data.
Much of the research investigates the interplay between the structural complexity of the problem inputs on the one hand and the algorithmic complexity of the problems on the other. Methods from graph theory, combinatorics and logic are used, and applications arise in areas such as databases, verification, model checking, compiler construction and AI.
The group conducts research on the edge of database systems and machine learning. We improve the interaction between database systems and machine learning applications as well as we develop native support for machine learning within database systems.
Foundations of Computer Science
The research group’s fields of activity are mathematical methods for the specification, design and validation of complex software and hardware systems, particularly physically distributed and concurrently operating applications. Among the central issues addressed are synchronization mechanisms, the transition between synchrony and asynchrony, abstraction and refinement, compositionality problems, and the semantics of model-driven design languages.
Communication Services, Telecommunications Systems and Computer Networks
Research and development of the Communication Networks Group is devoted to traffic and network management of current computer networks and wired and mobile IP networks of the next generation. Research topics include the evaluation of resource management processes in wireless local IP networks; the development of QoS/QoE management architectures for IP communication networks; teletraffic theory and performance evaluation of distributed systems; the measurement, statistical analysis and characterization of Internet traffic; and the estimation of associated generic stochastic models.
The main research focus of the group is data management at the border between the physical and the digital world: how can information coming from the real world be suitably detected, modeled, and efficiently provided to mobile, distributed and context-aware applications, thus enabling intelligent environments?
This is reflected in particular in the following topics:
- Management of data streams and event processing
- Development of sensor-based applications
- Quality aspects in multi-sensor applications
Practical Computer Science – Distributed Systems
Research at the chair deals with the area of software development for complex, especially distributed, systems on all levels of abstraction. This ranges from design methods, visual languages and tools for the development and analysis of distributed systems to the use of modern middleware and service-oriented systems for the implementation of business processes to modern cloud computing approaches.
Current work focuses on the migration of classic software architectures to cloud-based systems, analysis and test tools for programs in serverless cloud computing environments, orchestration techniques for edge computing applications in the IoT context, as well as monitoring and performance analysis of such systems.
Practical Computer Science – Systems Programming
Research at the chair deals with topics at the interface of software and hardware. The focus is on the efficient utilisation of computer systems by analysing and optimising non-functional properties (such as energy or reliability) and new approaches for interfaces between the system and architecture layer. As target systems, the chair deals with very small embedded and IoT systems as well as large and powerful computers in the high-performance computing area. Of particular interest here is the use of new technologies, such as the RISC V processor architecture and the Rust programming language, to realise projects at the system level.
Software Engineering and Programming Languages
The Software Technologies Research Group focusses on mathematical techniques for the specification, modelling and analysis of complex and frequently embedded and concurrent software systems. The focus lies on modern methods and tools for requirements engineering, model-driven software development and software verification.
Current and recent research topics:
- Interface theories and heterogeneous specification languages for concurrent systems
- Model-driven development of embedded software using synchronous languages
- Heap analysis and verification for C programs and object code
- LET (Logical Execution Time) semantics for real-time software on multi-core processors