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

2022-07-05 RTOS-Independent Interaction Analysis in ARA at OSPERT '22

Gerion Entrup presents our paper RTOS-Independent Interaction Analysis in ARA at the 16th Workshop on Operating System Platforms for Embedded Real-Time Applications (OSPERT '22) in Modena. In the paper we describe our approach towards RTOS-independent interaction analyses in the ARA framework that makes ARA analyses compatible with many RTOS standards, among them AUTOSAR OS, FreeRTOS and POSIX. The ARA OS model is an important building block towards our goal of fully automatic application analysis in the AHA project.

2021-05-21 ARA: Static Initialization of Dynamically-Created System Objects at RTAS '21

Björn Fiedler presents our paper ARA: Static Initialization of Dynamically-Created System Objects at the 27th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS '21).

In the paper, we present ARA, a framework for static specialization of operating systems for embedded systems. ARA is capable to statically detect operating-system objects dynamically created during run-time and replace them by statically prepared equivalents. ARA is a major building block of our reserch project AHA towards the goal to fully automatically analyze and specialize applications and their system software.

The presentation videos, source code and evaluation artifacts are available at the paper's details page: ARA: Static Initialization of Dynamically-Created System Objects

More news...

Publications

ISORC Conference C Outstanding Paper Award
PSIC: Priority-Strict Multi-Core IRQ Processing
Malte Bargholz, Christian Dietrich, Daniel LohmannProceedings of the 25th International Symposium on Real-Time Distributed ComputingIEEE Computer Society2022Outstanding Paper Award.
PDF Slides 10.1109/ISORC52572.2022.9812796 [BibTex]
OSPERT Workshop B
RTOS-Independent Interaction Analysis in ARA
Gerion Entrup, Jan Neugebauer, Daniel LohmannProceedings of the 16th Annual Workshop on Operating Systems Platforms for Embedded Real-Time Applications (OSPERT '22)2022.
PDF Slides [BibTex]
RTAS Conference A
ARA: Static Initialization of Dynamically-Created System Objects
Björn Fiedler, Gerion Entrup, Christian Dietrich, Daniel LohmannProceedings 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
Gerion Entrup, Benedikt Steinmeier, Christian DietrichProceedings 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
Christian Dietrich, Stefan Naumann, Robin Thrift, Daniel LohmannProceedings 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
Björn Fiedler, Gerion Entrup, Christian Dietrich, Daniel LohmannProceedings 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
Christian Dietrich, Daniel LohmannProceedings 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
Peter Wägemann, Christian Dietrich, Tobias Distler, Peter Ulbrich, Wolfgang Schröder-PreikschatProceedings 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
Hans-Peter Deifel, Christian Dietrich, Merlin Göttlinger, Daniel Lohmann, Stefan Milius, Lutz SchröderProceedings of the 17th Conference on Formal Methods in Computer-Aided Design (FMCAD '17)ACM Press2017.
PDF 10.23919/FMCAD.2017.8102260 [BibTex]
TECS Journal A
Global Optimization of Fixed-Priority Real-Time Systems by RTOS-Aware Control-Flow Analysis
Christian Dietrich, Martin Hoffmann, Daniel LohmannACM Transactions on Embedded Computing Systems16.2ACM Press2017.
PDF Raw Data 10.1145/2950053 [BibTex]
LCTES Conference A
OSEK-V: Application-Specific RTOS Instantiation in Hardware
Christian Dietrich, Daniel LohmannProceedings of the 2017 ACM SIGPLAN/SIGBED Conference on Languages, Compilers and Tools for Embedded Systems (LCTES '17)ACM Press2017.
PDF Raw Data 10.1145/3078633.3078637 [BibTex]
ESE Invited Talk
SysWCET: Ende-zu-Ende-Antwortzeiten für OSEK-Systeme
Christian Dietrich, Peter WägemannTagungsband 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
Christian Dietrich, Peter Wägemann, Peter Ulbrich, Daniel LohmannProceedings 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

Configurable Depth Analysis: Create a meta analysis to statically analyze a system in different depths

Orchestrate different existing static analysis techniques to analyze a real-time system in different depths and show the working with an implementation in ARA.

 
Typ
Masterarbeit

 
Status
reserviert

 
Supervisors
Gerion Entrup
Daniel Lohmann

Crossing the red light: Locks that never lock don't have to be taken.

Implement and evaluate an AUTOSAR synthesis with Lock Elision

 
Typ
Masterarbeit

 
Status
reserviert

 
Supervisors
Gerion Entrup
Daniel Lohmann

Finished Theses

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)

InterSloth: Globales Hardware-gesteuertes Scheduling in einem Multikern-Echtzeitbetriebssystem auf RISC-V

[PDF]

 
Typ
Bachelorarbeit

 
Status
abgeschlossen

 
Supervisors
Gerion Entrup
Christian Dietrich
Daniel Lohmann

 
Bearbeiter
Malte Bargholz (abgegeben: 09. Aug 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)

Automatische Generierung statistisch spezialisierter FreeRTOS-Kerne mit LLVM

A compile-time generator for static FreeRTOS system objects

 
Typ
Bachelorarbeit

 
Status
abgeschlossen

 
Supervisors
Björn Fiedler
Daniel Lohmann

 
Bearbeiter
Jonas Hollmann

Statische Instanziierung von FreeRTOS Systemobjekten zur Verbesserung nichtfuntionaler Eigenschaften mit dem ARA Codegenerator Framework

A compile-time generator for static FreeRTOS system objects

 
Typ
Bachelorarbeit

 
Status
abgeschlossen

 
Supervisors
Björn Fiedler
Daniel Lohmann

Effizientes Laden dünn besetzter Datenstrukturen auf eingebetteten Systemen

Introduction of Sparse Data Segments for Embedded Systems

 
Typ
Bachelorarbeit

 
Status
abgeschlossen

 
Supervisors
Björn Fiedler
Daniel Lohmann

 
Bearbeiter
Jannis Thöle

Idealer Gebrauch von LLVM-Optimierungstechniken zur Verbesserung statischer Analyse von Echtzeitsystemen

Extend ARA - a tool for static (real-time) operating system analysis - to use as much already implemented LLVM analyses as possible

 
Typ
Bachelorarbeit

 
Status
abgeschlossen

 
Supervisors
Gerion Entrup
Daniel Lohmann

 
Bearbeiter
Manuel Breiden (abgegeben: 19. Apr 2020)

Let ARA Fly Fast: Optimizing an LLVM-Based Whole-System Optimizer for Embedded Real-Time Systems via Systematic Profiling

Make ARA fast. How fast? Really fast with profiling and performance tuning.

 
Typ
Bachelorarbeit

 
Status
abgeschlossen

 
Supervisors
Gerion Entrup
Daniel Lohmann

Whole-Program Analysis of POSIX/Linux-Applications: Design and Implementation of an Operating-System Model

Extend ARA - a (real-time) operating system analyzer - for analysis of POSIX, which enables the analysis of Linux applications.

 
Typ
Bachelorarbeit

 
Status
abgeschlossen

 
Supervisors
Gerion Entrup
Daniel Lohmann

 
Bearbeiter
Jan Neugebauer (abgegeben: 29. Jul 2021)

Fixed-Point Analysis in SVF: Iterative Value Flow Graph Construction

Extent ARA's value analysis to pointers, conditions and loops.

 
Typ
Bachelorarbeit

 
Status
abgeschlossen

 
Supervisors
Gerion Entrup
Daniel Lohmann

Design und Implementierung eines Zephyr-RTOS-Modells für ARA zur statischen Whole-System-Analyse

Extend ARA - a (real-time) operating system (RTOS) analyzer - for analysis of Zephyr, an RTOS guided by the Linux Foundation

 
Typ
Bachelorarbeit

 
Status
abgeschlossen

 
Supervisors
Gerion Entrup
Daniel Lohmann

 
Bearbeiter
Kenny Albes (abgegeben: 28. Feb 2021)

ARA in the wild: Systematic Application and Evaluation of ARA as a Whole-System Optimizer on Real-World Applications

ARA is a whole system analyzer and optimizer. This thesis should investigate in an empirical study about the improvements derived from ARA's specializations.

 
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

Extend the C preprocessor with automatic function markers that are usable in ARA

 
Typ
Bachelorarbeit

 
Status
abgeschlossen

 
Supervisors
Gerion Entrup
Daniel Lohmann

Compile-Time Malloc: Static Analysis and Replacement of Formerly Dynamic Memory Allocations using LLVM and the ARA Framework.

Move all statically analyzable allocations into compile-time.

 
Typ
Bachelorarbeit

 
Status
abgeschlossen

 
Supervisors
Björn Fiedler
Gerion Entrup
Daniel Lohmann

 
Bearbeiter
Christoph Möller

Evaluation and Adaptation of an LLVM-Based Whole-System-Compiler for Optimizing Embedded RISC-V/ARM Systems

Evaluate ARA's FreeRTOS optimizations on IronOS and InfiniTime and test in on real hardware.

 
Typ
Bachelorarbeit

 
Status
abgeschlossen

 
Supervisors
Tobias Landsberg
Gerion Entrup
Daniel Lohmann

 
Bearbeiter
Domenik Kuhn (abgegeben: 26. Sep 2022)

Slothful Bird: Extend the ARA System Generator by a Sloth Backend for FreeRTOS and OSEK

Extend the ARA Generator with a backend using the interrupt controller as scheduler and dispatcher.

 
Typ
Bachelorarbeit

 
Status
abgeschlossen

 
Supervisors
Björn Fiedler
Daniel Lohmann

System Calls as Prepared Statements: Extend ARA to Precompute Interaction System Calls

Extend the ARA to precompute interaction system calls like queue.send(data).

 
Typ
Bachelorarbeit

 
Status
abgeschlossen

 
Supervisors
Björn Fiedler
Daniel Lohmann

 
Bearbeiter
Lukas Berg (abgegeben: 20. Sep 2021)

Bringing Light into the Dark: Interactive Graph Visualization of Static Analyses for Real-Time Operating Systems

Extend the analyses steps of ARA with a multi step visualization

 
Typ
Bachelorarbeit

 
Status
abgeschlossen

 
Supervisors
Gerion Entrup
Daniel Lohmann

Investigating Microarchitectural Effects on Code Optimization for Specific Processor Models

Research the effects of compiler optimization flags on different processor architectures and their impact on the code being executed.

 
Typ
Bachelorarbeit

 
Status
abgeschlossen

 
Supervisors
Stefan Naumann
Daniel Lohmann

 
Bearbeiter
Vitali Fendel

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)

Meson Language Design: Construction and Automatic Checking of a Meson-Object Classification

Develop a classification for the Meson domain specific language and to tool to check for it

 
Typ
Bachelorarbeit

 
Status
abgeschlossen

 
Supervisors
Gerion Entrup
Daniel Lohmann

 
Bearbeiter
Paul Aumann

Automatic Real-Time System Analysis


 
Typ
Masterarbeit

 
Status
abgeschlossen

 
Supervisors
Gerion Entrup
Daniel Lohmann

 
Bearbeiter
Benedikt Steinmeier (abgegeben: 06. Mar 2019)

MultiSSE: Full Static Emulation of a Multicore System at the example of AUTOSAR RTOS

Extend the System-State Enumeration, an real-time systems analysis technique, to support multiple cores and show the working with an implementation in ARA.

 
Typ
Masterarbeit

 
Status
abgeschlossen

 
Supervisors
Gerion Entrup
Daniel Lohmann

 
Bearbeiter
Fredo Nowak (abgegeben: 24. Dec 2020)

Accelerate Micropython: Developing Accelerators for Micropython on the RISC-V platform

Benchmark Micropython, identify spots to accelerate and propose hardware accelerators for the Micropython interpreter.

 
Typ
Masterarbeit

 
Status
abgeschlossen

 
Supervisors
Stefan Naumann
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)