A Synchronous-Based Code Generator for Explicit Hybrid Systems Languages

  • Timothy Bourke
  • Jean-Louis Colaço
  • Bruno Pagano
  • Cédric Pasteur
  • Marc Pouzet
Conference paper

DOI: 10.1007/978-3-662-46663-6_4

Part of the Lecture Notes in Computer Science book series (LNCS, volume 9031)
Cite this paper as:
Bourke T., Colaço JL., Pagano B., Pasteur C., Pouzet M. (2015) A Synchronous-Based Code Generator for Explicit Hybrid Systems Languages. In: Franke B. (eds) Compiler Construction. CC 2015. Lecture Notes in Computer Science, vol 9031. Springer, Berlin, Heidelberg

Abstract

Modeling languages for hybrid systems are cornerstones of embedded systems development in which software interacts with a physical environment. Sequential code generation from such languages is important for simulation efficiency and for producing code for embedded targets. Despite being routinely used in industrial compilers, code generation is rarely, if ever, described in full detail, much less formalized. Yet formalization is an essential step in building trustable compilers for critical embedded software development.

This paper presents a novel approach for generating code from a hybrid systems modeling language. By building on top of an existing synchronous language and compiler, it reuses almost all the existing infrastructure with only a few modifications. Starting from an existing synchronous data-flow language conservatively extended with Ordinary Differential Equations (ODEs), this paper details the sequence of source-to-source transformations that ultimately yield sequential code. A generic intermediate language is introduced to represent transition functions. The versatility of this approach is exhibited by treating two classical simulation targets: code that complies with the FMI standard and code directly linked with an off-the-shelf numerical solver (Sundials CVODE).

The presented material has been implemented in the Zélus compiler and the industrial Scade Suite KCG code generator of Scade 6.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2015

Authors and Affiliations

  • Timothy Bourke
    • 1
    • 3
  • Jean-Louis Colaço
    • 2
  • Bruno Pagano
    • 2
  • Cédric Pasteur
    • 2
  • Marc Pouzet
    • 4
    • 3
    • 1
  1. 1.INRIA Paris-RocquencourtParisFrance
  2. 2.ANSYS/Esterel-TechnologiesToulouseFrance
  3. 3.DI, École normale supérieureParisFrance
  4. 4.Université Pierre et Marie CurieParisFrance

Personalised recommendations