Crossing the red light: Locks that never lock don't have to be taken.
- Typ der Arbeit: Masterarbeit
- Status der Arbeit: abgeschlossen
- Projekte: AHA
- Betreuer: Gerion Entrup, Daniel Lohmann
- Bearbeiter: Andreas Kässens
- Ende der Arbeit: 14. Jun 2023
- Ausarbeitung: [PDF]
ARA is a whole-system compiler to optimize the system's nonfunctional properties with global knowledge about the interaction between application and operating system. It consists of two parts: First, it statically analyzes a (real-time) system's source code to retrieve global knowledge based on system calls. Equipped with this knowledge, it then synthesizes an optimized system image with improved nonfunctional properties like reduced memory usage. One possible analysis of ARA is the need for inter-core locking and activation on a per-usage base. However, the synthesis part for this analysis is missing.
Your task with this thesis is to implement exactly that. For this, you first need to implement the necessary parts of the AUTOSAR standard (targeted for a multicore ARM processor). After that, you need to combine these parts with the generic analysis parts of ARA to get a full AUTOSAR system generator. Finally, you need to incorporate the concrete analysis results into the generator and evaluate the outcomings.
For large parts of the implementation you can reuse the existing code of the OSEK operating-system standard in dOSEK but need to adapt it to an partitioned multicore (as it is part of the AUTOSAR standard).
Topics covered by this thesis:
low level programming, C, C++, Python
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.
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.