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

ARA is a whole-system analyzer and operating-system generator for real-time applications. With ARA, we are able to statically detect otherwise dynamically determined characteristics of real-time applications running in embedded systems. By using this static knowledge, ARAs goal is to improve the nonfunctional properties of the system by statically preparing and optimizing operating system functionality highly specialized towards a given application.

Previous work on the Sloth research project has shown, it is beneficial to offload scheduling decisions onto the interrupt controller to reduce reaction times and their jitter. Every task is mapped to an interrupt source and the interrupt source is assigned the tasks priority. Scheduling, thereby, is reduced to activate all interrupts of ready-to-run tasks.

Goal of this Thesis is to integrate the Sloth approach as a backend into ARAs operating-system generator. The backend should support FreeRTOS and OSEK alike. To reflect the dynamic character of FreeRTOS alike, the backend should support dynamic task creation and deletion alike. The improvements should be evaluated by measuring characteristic like memory consumption and run time.

Topics covered by this thesis:
whole system compiler, static analysis, LLVM, C++, Python

Further Reading

Sloth

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]
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]