Options
RT.js: Practical Real-Time Scheduling for Web Applications
Publikationstyp
Conference Paper
Date Issued
2019
Sprache
English
TORE-URI
Citation
40th IEEE Real-Time Systems Symposium (2019)
Contribution to Conference
Publisher DOI
Publisher
IEEE Computer Society Press
Real-time control applications are usually imple-mented by mapping their real-time model (i.e., tasks, sharedresources, and external events) onto software instances of RTOSabstractions, such as threads, locks and ISRs. These instantiatedobjects and their interactions define what actually happens onthe imperative machine; they implement the desired behavior.However, during the lifetime of many projects, the initial real-time model gets lost, becomes outdated, or never existed atall, as all (further) development has been code centric: Thesource code is all that we have. So developers face a situationwhere further modifications of the real-time system, but also anyattempt of static RTOS tailoring, requires the extraction andthe understanding of the employed RTOS instances and theirconcrete interactions from the source code.We present ARA, a tool capable of automatically retrievinginstance-level knowledge (e.g., the instanciated threads, locks, orISRs) from a given (real-time) application. ARA is an RTOS-aware static analyzer that derives, given the application source,a graph of the employed RTOS abstractions, their concreteinstances, and how these instances interact with each other atrun time. We describe the design principles behind ARA andvalidate its implementation with four example applications forOSEK/AUTOSAR and FreeRTOS.