AHA: Automated Hardware Abstraction in Operating-System Engineering (DFG: LO 1719/4-1)
Operating systems have always served the purpose to abstract and complement the capabilities of the underlying hardware. Conceptually, the operating system generalizes and expands the instruction set of the machine by partial interpretation and multiplexing of hardware resources. It simplifies the development and portability of applications by hiding the hardware from the application developer.
The price for abstraction and generalization are inefficiencies (with regard to storage requirements, energy requirements, eventuality, predictability, security, etc.) for the concrete application: The power of the generalized concepts is not fully used – but still provided. Hardware resources are virtualized by multiplexing – even in cases a direct mapping would be possible. Even in the OS implementation itself, the hardware is often not used directly, but again accessed via a further, partially interpreting hardware abstraction layer.
Our goal with AHA (Automated Hardware Abstraction in Operating System Design) is to improve nonfunctional properties of system software by a very deep, but fully automated specialization of the application-hardware bridge represented by the operating system. We want to investigate, how more directly mapped implementation variants of the "same" OS functionality – which are semantically equivalent (only) for a particular application – can be generated fully automatically from analyzing this application and its specific interactions with the operating system.
In the context of AHA, "Application" and "operating system functionality" covers the domain of embedded special purpose systems (automotive control unit, IoT device, embedded server node ...); "Hardware" stands for commercial-of-the-shelf platforms (Infineon AURIX, ARM, ...) using their specific characteristics as well as for completely application-specific processor hardware (such as RISC-V). In an extreme case, the specific operating-system functionality required by a particular application is instantiated directly into the command set and pipeline of the processors.
The application developer can – transparently – select among different specialization stages: from "classic" software-based specialization over application-/hardware-specific specialization on standard hardware up to the specialization of the hardware itself to cover the actually needed operating-system extensions.
The basic research question we want to answer with AHA is: What is the highest possible degree of application- and hardware-specific specialization and generalization of system software? Which efficiency gains can be achieved at what cost by problem-specific specialization, on the premise that the process of specialization can be performed completely automatically?
People
Latest News
Andreas Kässens presents our paper IRx: RTOS-Aware Abstract Interpretation using an LLVM-based Interpreter at the 19th Workshop on Operating System Platforms for Embedded Real-Time Applications (OSPERT '25) in Brussels, Belgium. In the paper we propose a new approach to static analysis of embedded Real-Time Operating Systems using LLVM-based interpretation of system calls. This allows us to automatically extract the system call behavior and enables application-specific whole-system optimizations in the AHA project.
Abstract: Embedded systems are computing systems integrated into a surrounding system. In contrast to generic computing systems, they only fulfill a function that is strictly predefined before runtime. Often, it additionally contains time-critical constraints that make the system a real-time system. Both properties give a potential for static optimization that exceeds that of generic systems. Static tailoring always requires a prior static analysis that provides the necessary information for the subsequent optimization. In this work, I develop multiple such static analyses. They all analyze how an application uses the real-time operating system for a following tailoring of the operating system to the application resulting in an improvement of the non-functional properties of the overall system.
Besides foundational work, the first part of this thesis embeds the related existing analyses in a theoretical context for the first time, showing their weaknesses: In various combinations, these analyses only work with static systems, are only able to understand exactly one real-time–operating-system interface, can only deal with systems with one core or do not provide any information regarding possible optimization.
With ARA, I have created a static analysis framework that addresses these problems: It combines various existing and newly developed static analyses with different real-time– operating-system models and is thus able to automatically analyze a variety of applications providing information for a following optimization. Specifically, ARA includes the newly created static instance and interaction analysis, two analyses that can analyze applications that are written against a dynamic real-time–operating-system interface. They determine the number of dynamically created operating-system objects and their interactions. With the MultiSSE, I have also developed an analysis that allows a complete abstract analysis of a multi-core system. It creates the necessary abstract operating-system state across all cores only at those points where it is necessary due to control flow information or a time analysis. By separating the analyses into an operating-system–specific and a generic part, as well as the design of a common interface between different real-time operating systems, I was additionally able to apply the analyses in an operating-system–agnostic way with applications for AUTOSAR OS, FreeRTOS, Zephyr and POSIX.
My research group has developed various syntheses for creating an optimized system based on the analyses results. We were able to lower the system-start time for dynamic system up to 44% and an get an improvement of slack of up to 35% for multi-core systems. Furthermore, I was also able to demonstrate the effectiveness of the interface by analyzing 8 real-world applications. In the embedded-systems domain, this thesis thus demonstrates the successful extension of operating-system–aware analyses to dynamic systems and multi-core systems as well as their generalization in a common framework that enables the comparison and execution of different analyses with applications of different real-time operating systems.
Publications
-
OSPERT
Workshop
B
IRx: RTOS-Aware Abstract Interpretation using an LLVM-based Interpreter -
Proceedings of the 19th Annual Workshop on Operating Systems Platforms for Embedded Real-Time Applications (OSPERT '25)2025.
PDF [BibTex]
-
RTSJ
Journal
Applied static analysis and specialization of cross-core syscalls for multi-core AUTOSAR OS -
Real-Time SystemsSpringer2024.
PDF 10.1007/s11241-024-09429-1 [BibTex]
-
Thesis
Generische und betriebssystemgewahre statische Analysen von Echtzeitapplikationen auf Ein- und Mehrkernsystemen zur Optimierung nichtfunktionaler Eigenschaften -
PHD thesisLeibniz Universität Hannover2024.
PDF Details Slides 10.15488/18718 [BibTex]
-
RTAS
Conference
A
MultiSSE: Static Syscall Elision and Specialization for Event-Triggered Multi-Core RTOS -
Proceedings of the 29th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS'23)2023.
PDF Details Slides 10.1109/RTAS58335.2023.00028 [BibTex]
-
Thesis
Anwendungsgewahre statische Spezialisierung vormals dynamischer Systemaufrufe zur Verbesserung nichtfunktionaler Eigenschaften eingebetteter Echtzeitsysteme -
PHD thesisLeibniz Universität Hannover2023.
PDF 10.15488/13945 [BibTex]
-
OSPERT
Workshop
B
RTOS-Independent Interaction Analysis in ARA -
Proceedings of the 16th Annual Workshop on Operating Systems Platforms for Embedded Real-Time Applications (OSPERT '22)2022.
PDF Slides [BibTex]
-
ISORC
Conference
C
Outstanding Paper Award
PSIC: Priority-Strict Multi-Core IRQ Processing -
Proceedings of the 25th International Symposium on Real-Time Distributed ComputingIEEE Computer Society2022Outstanding Paper Award.
PDF Slides 10.1109/ISORC52572.2022.9812796 [BibTex]
-
RTAS
Conference
A
ARA: Static Initialization of Dynamically-Created System Objects -
Proceedings of the 27th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS'21)2021.
PDF Details Video Teaser Video 10.1109/RTAS52030.2021.00039 [BibTex]
-
OSPERT
Workshop
B
ARA: Automatic Instance-Level Analysis in Real-Time Systems -
Proceedings of the 15th Annual Workshop on Operating Systems Platforms for Embedded Real-Time Applications (OSPERT '19)2019.
PDF [BibTex]
-
RTSS
Conference
A*
RT.js: Practical Real-Time Scheduling for Web Applications -
Proceedings of the 40th IEEE Real-Time Systems Symposium 2019IEEE Computer Society Press2019.
PDF 10.1109/RTSS46320.2019.00017 [BibTex]
-
OSPERT
Workshop
B
Best Paper Award
Levels of Specialization in Real-Time Operating Systems -
Proceedings of the 14th Annual Workshop on Operating Systems Platforms for Embedded Real-Time Applications (OSPERT '18)2018Best Paper Award.
PDF [BibTex]
-
RTSS
Conference
A*
Semi-Extended Tasks: Efficient Stack Sharing Among Blocking Threads -
Proceedings of the 39th IEEE Real-Time Systems Symposium 2018IEEE Computer Society Press2018.
PDF Details Slides Raw Data 10.1109/RTSS.2018.00049 [BibTex]
-
ECRTS
Conference
A
Outstanding Paper Award
Whole-System Worst-Case Energy-Consumption Analysis for Energy-Constrained Real-Time Systems -
Proceedings of the 30th Euromicro Conference on Real-Time Systems 2018Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik2018Outstanding Paper Award.
PDF 10.4230/LIPIcs.ECRTS.2018.24 [BibTex]
-
FMCAD
Conference
Automatic Verification of Application-Tailored OSEK Kernels -
Proceedings of the 17th Conference on Formal Methods in Computer-Aided Design (FMCAD '17)ACM Press2017.
PDF 10.23919/FMCAD.2017.8102260 [BibTex]
-
LCTES
Conference
A
OSEK-V: Application-Specific RTOS Instantiation in Hardware -
Proceedings of the 2017 ACM SIGPLAN/SIGBED Conference on Languages, Compilers and Tools for Embedded Systems (LCTES '17)ACM Press2017.
PDF Raw Data 10.1145/3140582.3081030 [BibTex]
-
TECS
Journal
A
Global Optimization of Fixed-Priority Real-Time Systems by RTOS-Aware Control-Flow Analysis -
ACM Transactions on Embedded Computing Systems16.2ACM Press2017.
PDF Raw Data 10.1145/2950053 [BibTex]
-
ESE
Invited Talk
SysWCET: Ende-zu-Ende-Antwortzeiten für OSEK-Systeme -
Tagungsband des Embedded Software Engineering Kongress 20172017.
PDF Slides [BibTex]
-
RTAS
Conference
A
Outstanding Paper Award
SysWCET: Whole-System Response-Time Analysis for Fixed-Priority Real-Time Systems -
Proceedings of the 23rd IEEE International Symposium on Real-Time and Embedded Technology and Applications (RTAS '17)IEEE Computer Society Press2017Outstanding Paper Award.
PDF Raw Data 10.1109/RTAS.2017.37 [BibTex]
Theses
Currently Running
RTOS as State Machine: Synthesis of Optimized Zephyr Embedded Systems
- Typ
- Bachelorarbeit
- Status
- reserviert
- Supervisors
- Andreas Kässens
Daniel Lohmann
Finished Theses
Implementation of an ARMv6-M SAIL-Model for Fault Injection using FAIL*
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Tim-Marek Thomas
Daniel Lohmann - Bearbeiter
- Carsten Drewes
AUTOSAR on Xen: Virtualized Real-Time Operating Systems with ARA
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Andreas Kässens
Daniel Lohmann - Bearbeiter
- Sam Edding
HyperSSE: Static Analysis of Real-Time Hypervisor Systems
- Typ
- Masterarbeit
- Status
- abgeschlossen
- Supervisors
- Andreas Kässens
Daniel Lohmann - Bearbeiter
- Mareike Burg (abgegeben: 26. Sep 2025)
Development and Analysis of an AUTOSAR Real-Time Operating System on a Multicore RISC-V Hardware Platform
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Andreas Kässens
Daniel Lohmann - Bearbeiter
- Maurice Höppner (abgegeben: 19. May 2025)
RTOS of the Day: Performance Comparison and Analysis of Open Source Real-Time Operating Systems
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Andreas Kässens
Daniel Lohmann - Bearbeiter
- Jan Heinemeyer (abgegeben: 14. Feb 2025)
Power Usage Estimation of a RISC-V Platform using Zephyr-RTOS Events
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Tim-Marek Thomas
Daniel Lohmann - Bearbeiter
- Jan de Vries
Experimental Setup of an Active Magnetic Bearing for Real-Time Operating System Research
- Typ
- Studienarbeit
- Status
- abgeschlossen
- Supervisors
- Andreas Kässens
Daniel Lohmann
Controlling the Kite: Static Control-Flow System Analysis for Embedded Controllers with Zephyr RTOS in ARA
- Typ
- Masterarbeit
- Status
- abgeschlossen
- Supervisors
- Andreas Kässens
Gerion Entrup
Daniel Lohmann - Bearbeiter
- Vitali Fendel (abgegeben: 03. Dec 2024)
On the Power Estimation of a RISC-V Platform using Performance Monitoring Counters and RTOS Events
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Tim-Marek Thomas
Daniel Lohmann - Bearbeiter
- Johannes Arnold (abgegeben: 14. Oct 2024)
Implementation of Optimized AUTOSAR Systems for RISC-V with ARA
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Andreas Kässens
Daniel Lohmann - Bearbeiter
- Arved Blöcker (abgegeben: 05. Aug 2024)
Generic Metadata Transport of High-Level–Language Properties between LLVM-Compiler Front and Middle End for Static Analysis
- Typ
- Masterarbeit
- Status
- abgeschlossen
- Supervisors
- Gerion Entrup
Daniel Lohmann
De-slacking MultiSSE: Improving Timing Analysis and Code Synthesis in ARA, an LLVM-Based Whole-System Compiler for Multi-Core Real-Time Systems
- Typ
- Masterarbeit
- Status
- abgeschlossen
- Supervisors
- Gerion Entrup
Björn Fiedler
Daniel Lohmann
Synthesis of Optimized AUTOSAR Embedded Systems: Automated System-Call Specialization and Lock Elision on Multicore Applications as a Whole-System Approach
- Typ
- Masterarbeit
- Status
- abgeschlossen
- Supervisors
- Gerion Entrup
Daniel Lohmann - Bearbeiter
- Andreas Kässens (abgegeben: 14. Jun 2023)
Configurable Depth Analysis: Create a meta analysis to statically analyze a system in different depths
- Typ
- Masterarbeit
- Status
- abgeschlossen
- Supervisors
- Gerion Entrup
Daniel Lohmann
Design and Implementation of an OSEK-Conform Hard Real-Time Application Using LEGO Mindstorms EV3
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Björn Fiedler
Gerion Entrup
Daniel Lohmann - Bearbeiter
- Barbara Seidl (abgegeben: 18. Mar 2023)
Evaluation and Adaptation of an LLVM-Based Whole-System-Compiler for Optimizing Embedded RISC-V/ARM Systems
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Tobias Landsberg
Gerion Entrup
Daniel Lohmann - Bearbeiter
- Domenik Kuhn (abgegeben: 26. Sep 2022)
Mindstorming with Erika: Porting an OSEK/AUTOSAR conform operating system to ARM9
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Tim-Marek Thomas
Gerion Entrup
Daniel Lohmann - Bearbeiter
- Jasper Lorenz (abgegeben: 09. Sep 2022)
Let ARA Fly Fast: Optimizing an LLVM-Based Whole-System Optimizer for Embedded Real-Time Systems via Systematic Profiling
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Gerion Entrup
Daniel Lohmann
Bringing Light into the Dark: Interactive Graph Visualization of Static Analyses for Real-Time Operating Systems
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Gerion Entrup
Daniel Lohmann
Slothful Bird: Extend the ARA System Generator by a Sloth Backend for FreeRTOS and OSEK
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Björn Fiedler
Daniel Lohmann
Meson Language Design: Construction and Automatic Checking of a Meson-Object Classification
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Gerion Entrup
Daniel Lohmann - Bearbeiter
- Paul Aumann
ARA in the wild: Systematic Application and Evaluation of ARA as a Whole-System Optimizer on Real-World Applications
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Björn Fiedler
Daniel Lohmann
Source-to-source Transformation with Clang: Traversing the AST to Uniquely Identify and Mark C++ Macros
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Gerion Entrup
Daniel Lohmann
System Calls as Prepared Statements: Extend ARA to Precompute Interaction System Calls
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Björn Fiedler
Daniel Lohmann - Bearbeiter
- Lukas Berg (abgegeben: 20. Sep 2021)
Fixed-Point Analysis in SVF: Iterative Value Flow Graph Construction
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Gerion Entrup
Daniel Lohmann
Whole-Program Analysis of POSIX/Linux-Applications: Design and Implementation of an Operating-System Model
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Gerion Entrup
Daniel Lohmann - Bearbeiter
- Jan Neugebauer (abgegeben: 29. Jul 2021)
Design und Implementierung eines Zephyr-RTOS-Modells für ARA zur statischen Whole-System-Analyse
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Gerion Entrup
Daniel Lohmann - Bearbeiter
- Kenny Albes (abgegeben: 28. Feb 2021)
Effizientes Laden dünn besetzter Datenstrukturen auf eingebetteten Systemen
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Björn Fiedler
Daniel Lohmann - Bearbeiter
- Jannis Thöle
Compile-Time Malloc: Static Analysis and Replacement of Formerly Dynamic Memory Allocations using LLVM and the ARA Framework.
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Björn Fiedler
Gerion Entrup
Daniel Lohmann - Bearbeiter
- Christoph Möller
MultiSSE: Full Static Emulation of a Multicore System at the example of AUTOSAR RTOS
- Typ
- Masterarbeit
- Status
- abgeschlossen
- Supervisors
- Gerion Entrup
Daniel Lohmann - Bearbeiter
- Fredo Nowak (abgegeben: 24. Dec 2020)
Idealer Gebrauch von LLVM-Optimierungstechniken zur Verbesserung statischer Analyse von Echtzeitsystemen
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Gerion Entrup
Daniel Lohmann - Bearbeiter
- Manuel Breiden (abgegeben: 19. Apr 2020)
Statische Instanziierung von FreeRTOS Systemobjekten zur Verbesserung nichtfuntionaler Eigenschaften mit dem ARA Codegenerator Framework
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Björn Fiedler
Daniel Lohmann
Investigating Microarchitectural Effects on Code Optimization for Specific Processor Models
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Stefan Naumann
Daniel Lohmann - Bearbeiter
- Vitali Fendel
Automatische Generierung statistisch spezialisierter FreeRTOS-Kerne mit LLVM
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Björn Fiedler
Daniel Lohmann - Bearbeiter
- Jonas Hollmann
Accelerate Micropython: Developing Accelerators for Micropython on the RISC-V platform
- Typ
- Masterarbeit
- Status
- abgeschlossen
- Supervisors
- Stefan Naumann
Daniel Lohmann
Design and Implementation of a Real-Time Aware Robot Based on ARM9 and OSEK/AUTOSAR
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Gerion Entrup
Daniel Lohmann
Measuring Effects of Compiler Flags on Different Processor Architectures
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Gerion Entrup
Florian Rommel
Daniel Lohmann - Bearbeiter
- Carlo Schmitt (abgegeben: 21. Mar 2019)
Automatic Real-Time System Analysis
- Typ
- Masterarbeit
- Status
- abgeschlossen
- Supervisors
- Gerion Entrup
Daniel Lohmann - Bearbeiter
- Benedikt Steinmeier (abgegeben: 06. Mar 2019)
ROS Timestamps for libusb in the Linux Kernel
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Björn Fiedler
Christian Dietrich
Daniel Lohmann
Analyzing and Optimizing TLB-Induced Thread Migration Costs on Linux/ARM
- Typ
- Masterarbeit
- Status
- abgeschlossen
- Supervisors
- Björn Fiedler
Christian Dietrich
Daniel Lohmann - Bearbeiter
- Tobias Landsberg (abgegeben: 21. Nov 2018)
Integration of a Priority-Obedient Interrupt Controller into the Rocket Softcore
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Gerion Entrup
Christian Dietrich
Daniel Lohmann - Bearbeiter
- Matthias Wolf (abgegeben: 01. Nov 2018)
InterSloth: Globales Hardware-gesteuertes Scheduling in einem Multikern-Echtzeitbetriebssystem auf RISC-V
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Gerion Entrup
Christian Dietrich
Daniel Lohmann - Bearbeiter
- Malte Bargholz (abgegeben: 09. Aug 2018)
