Arkadeb Ghosal, Thomas A. Henzinger, Christoph M. Kirsch, Daniel Iercan, and Alberto Sangiovanni-Vincentelli
We designed and implemented a new programming language called Hierarchical Timing Language (HTL) for hard real-time systems. Critical timing constraints are specified within the language, and ensured by the compiler. Programs in HTL are extensible in two dimensions without changing their timing behavior: new program modules can be added, and individual program tasks can be refined. The mechanism supporting time invariance under parallel composition is that different program modules communicate at specified instances of time. Time invariance under refinement is achieved by conservative scheduling of the top level. HTL is a coordination language, in that individual tasks can be implemented in "foreign" languages. As a case study, we present a distributed HTL implementation of an automotive steer-by-wire controller.
Proceedings of the Sixth Annual Conference on Embedded Software (EMSOFT), ACM Press, 2006, pp. 132-141.