A Synchronous-based Code Generator For Explicit Hybrid Systems Languages - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Communication Dans Un Congrès Année : 2015

A Synchronous-based Code Generator For Explicit Hybrid Systems Languages

Résumé

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).
Fichier non déposé

Dates et versions

hal-01242732 , version 1 (14-12-2015)

Identifiants

  • HAL Id : hal-01242732 , version 1

Citer

Timothy Bourke, Jean-Louis Colaço, Bruno Pagano, Cédric Pasteur, Marc Pouzet. A Synchronous-based Code Generator For Explicit Hybrid Systems Languages. International Conference on Compiler Construction (CC), Jul 2015, London, United Kingdom. ⟨hal-01242732⟩
108 Consultations
0 Téléchargements

Partager

Gmail Facebook X LinkedIn More