Title :
RTFM-core: Language and implementation
Author :
Per Lindgren;Marcus Lindner;Andreas Lindner;David Pereira;Luis Miguel Pinho
Author_Institution :
Luleå
fDate :
6/1/2015 12:00:00 AM
Abstract :
Robustness, real-time properties and resource efficiency are key properties to embedded devices of the CPS/IoT era. In this paper we propose a language approach RTFM-core, and show its potential to facilitate the development process and provide highly efficient and statically verifiable implementations. Our programming model is reactive, based on the familiar notions of concurrent tasks and (single-unit) resources. The language is kept minimalistic, capturing the static task, communication and resource structure of the system. Whereas C-source can be arbitrarily embedded in the model, and/or externally referenced, the instep to mainstream development is minimal, and a smooth transition of legacy code is possible. A prototype compiler implementation for RTFM-core is presented. The compiler generates C-code output that compiled together with the RTFM-kernel primitives runs on bare metal. The RTFM-kernel guarantees deadlock-lock free execution and efficiently exploits the underlying interrupt hardware for static priority scheduling and resource management under the Stack Resource Policy. This allows a plethora of well-known methods to static verification (response time analysis, stack memory analysis, etc.) to be readily applied. The proposed language and supporting tool-chain is demonstrated by showing the complete process from RTFM-core source code into bare metal executables for a lightweight ARM-Cortex M3 target.
Keywords :
"Hardware","Synchronization","Metals","Instruction sets","Grammar","Job shop scheduling","Programming"
Conference_Titel :
Industrial Electronics and Applications (ICIEA), 2015 IEEE 10th Conference on
DOI :
10.1109/ICIEA.2015.7334252