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

Saranya Natarajan, Mitra Nasri, David Broman, Bjorn B. Brandenburg, Geoffrey Nelissen

Research output: Chapter in Book/Conference proceedings/Edited volumeConference contributionScientificpeer-review

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
PublisherIEEE
Pages167-180
Number of pages14
ISBN (Electronic)9781728144030
DOIs
Publication statusPublished - 2019
Event40th IEEE Real-Time Systems Symposium, RTSS 2019 - Hong Kong, China
Duration: 3 Dec 20196 Dec 2019

Publication series

NameProceedings - Real-Time Systems Symposium
Volume2019-December
ISSN (Print)1052-8725

Conference

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

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