From code to weakly hard constraints: A pragmatic end-to-end toolchain for timed C

Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

11 Citations (Scopus)

Abstract

Complex real-time systems are traditionally developed in several disjoint steps: (i) decomposition of applications into sets of recurrent tasks, (ii) worst-case execution time estimation, and (iii) schedulability analysis. Each step is already in itself complex and error-prone, and the composition of all three poses a nontrivial integration problem. In particular, it is challenging to obtain an end-to-end analysis of timing properties of the whole system due to practical differences between the interfaces of tools for extracting task models, execution time analysis, and schedulability tests. To address this problem, we propose a seamless and pragmatic end-to-end compilation and timing analysis toolchain, where source programs are written in a real-time extension of C, called Timed C. The toolchain automatically translates timing primitives into executable code, measures execution times, and verifies temporal correctness using an extended schedulability test for non-preemptive generalized multiframe task sets. Novel aspects of our approach are: (i) both soft and firm tasks can be expressed at the programming language level and stated timing requirements are automatically verified by the schedulability test, and (ii) the schedulability test outputs per-job response-time information that enables a new approach to sensitivity analysis. Specifically, we perform a weakly hard sensitivity analysis that determines the worst-case execution time margins for the strongest still-satisfied (M,K) constraint, where M = m1 +...+ mN denotes the number of deadline misses across the entire task set, and K = {k1,..., kN} is the set of windows of interest of the different tasks. The toolchain is implemented as a source-to-source compiler, freely available as open source, and conveniently distributed as a Docker container.

Original languageEnglish
Title of host publicationProceedings - 2019 IEEE 40th Real-Time Systems Symposium, RTSS 2019
PublisherInstitute of Electrical and Electronics Engineers
Pages167-180
Number of pages14
ISBN (Electronic)9781728144030
DOIs
Publication statusPublished - Dec 2019
Externally publishedYes
Event40th IEEE Real-Time Systems Symposium, RTSS 2019 - Hong Kong, China
Duration: 3 Dec 20196 Dec 2019

Conference

Conference40th IEEE Real-Time Systems Symposium, RTSS 2019
Country/TerritoryChina
CityHong Kong
Period3/12/196/12/19

Funding

IX. ACKNOWLEDGMENTS The authors would like to thank Daniel Lundén, Elias Castegren, Viktor Palmkvist, Oscar Eriksson, and Christian Schulte for their valuable input and feedback. We also thank the anonymous reviewers and the shepherd for their insightful comments and suggestions. This project is financially supported by the Swedish Foundation for Strategic Research (FFL15-0032) as well as by national funds through FCT/MCTES (Portuguese Foundation for Science and Technology), within the CISTER Research Unit (UID/CEC/04234), by the Operational Competitiveness Programme and Internationalization (COMPETE 2020) under the PT2020 Partnership Agreement through the European Regional Development Fund (ERDF), and by national funds through FCT within project POCI-01-0145-FEDER-029119 (PReFECT).

Keywords

  • Job level fixed priority
  • Job level response time
  • Non preemptive scheduling
  • Programming languages
  • Real-time systems
  • Schedulability analysis
  • Sensitivity analysis

Fingerprint

Dive into the research topics of 'From code to weakly hard constraints: A pragmatic end-to-end toolchain for timed C'. Together they form a unique fingerprint.

Cite this