A hybrid synchronous language with hierarchical automata: static typing and translation to synchronous code

  • Authors:
  • Albert Benveniste;Timothy Bourke;Benoît Caillaud;Marc Pouzet

  • Affiliations:
  • INRIA, Rennes, France;INRIA, Paris-Rocquencourt, France;INRIA, Rennes, France;École Normale Supérieure, Paris, France

  • Venue:
  • EMSOFT '11 Proceedings of the ninth ACM international conference on Embedded software
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Hybrid modeling tools like Simulink have evolved from simulation platforms into development platforms on which testing, verification and code generation are also performed. It is critical to ensure that the results of simulation, compilation and verification are consistent. Synchronous languages have addressed these issues but only for discrete systems. Reprising earlier work, we present a hybrid modeler built from a synchronous language and an off-the-shelf numerical solver. The main novelty is a language with hierarchical automata that can be arbitrarily mixed with data-flow and ordinary differential equations (ODEs). A type system statically ensures that discrete state changes are aligned with zero-crossing events and that the function passed to the numerical solver has no side-effects during integration. Well-typed programs are compiled by source-to-source translation into synchronous code which is then translated into sequential code using an existing synchronous language compiler.