Separate compilation of hierarchical real-time programs into linear-bounded Embedded Machine code

  • Authors:
  • Arkadeb Ghosal;Daniel Iercan;Christoph M. Kirsch;Thomas A. Henzinger;Alberto Sangiovanni-Vincentelli

  • Affiliations:
  • University of California, Berkeley, CA, USA;Politehnica University of Timisoara, Romania;University of Salzburg, Austria;Institute of Science and Technology (IST), Austria;University of California, Berkeley, CA, USA

  • Venue:
  • Science of Computer Programming
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Hierarchical Timing Language (HTL) is a coordination language for distributed, hard real-time applications. HTL is a hierarchical extension of Giotto and, like its predecessor, based on the logical execution time (LET) paradigm of real-time programming. Giotto is compiled into code for a virtual machine, called the Embedded Machine (or E machine). If HTL is targeted to the E machine, then the hierarchical program structure needs to be flattened; the flattening makes separate compilation difficult, and may result in E machine code of exponential size. In this paper, we propose a generalization of the E machine, which supports a hierarchical program structure at runtime through real-time trigger mechanisms that are arranged in a tree. We present the generalized E machine, and a modular compiler for HTL that generates code of linear size. The compiler may generate code for any part of a given HTL program separately in any order.