Building a Hybrid Systems Modeler on Synchronous Languages Principles

Albert Benveniste 1 Timothy Bourke 2, 3, 4 Benoit Caillaud 1 Jean-Louis Colaço 5 Cédric Pasteur 5 Marc Pouzet 4, 3, 2
1 HYCOMES - Modélisation hybride & conception par contrats pour les systèmes embarqués multi-physiques
Inria Rennes – Bretagne Atlantique , IRISA_D4 - LANGAGE ET GÉNIE LOGICIEL
4 Parkas - Parallélisme de Kahn Synchrone
Inria de Paris, DI-ENS - Département d'informatique de l'École normale supérieure, CNRS - Centre National de la Recherche Scientifique
Abstract : Hybrid systems modeling languages that mix discrete and continuous time signals and systems are widely used to develop Cyber-Physical systems where control software interacts with physical devices. Compilers play a central role, statically checking source models, generating intermediate representations for testing and verification, and producing sequential code for simulation and execution on target platforms. This paper presents a novel approach to the design and implementation of a hybrid systems language, built on synchronous language principles and their proven compilation techniques. The result is a hybrid systems modeling language in which synchronous programming constructs can be mixed with Ordinary Differential Equations (ODEs) and zero-crossing events, and a runtime that delegates their approximation to an off-the-shelf numerical solver. We propose an ideal semantics based on non standard analysis, which defines the execution of a hybrid model as an infinite sequence of infinitesimally small time steps. It is used to specify and prove correct three essential compilation steps: (1) a type system that guarantees that a continuous-time signal is never used where a discrete-time one is expected and conversely; (2) a type system that ensures the absence of combinatorial loops; (3) the generation of statically scheduled code for efficient execution. Our approach has been evaluated in two implementations: the academic language Zélus, which extends a language reminiscent of Lustre with ODEs and zero-crossing events, and the industrial prototype Scade Hybrid, a conservative extension of Scade 6.
Type de document :
Article dans une revue
Proceedings of the IEEE, Institute of Electrical and Electronics Engineers, 2018, Design Automation for Cyber-Physical Systems, 106 (9), pp.1568 - 1592. 〈https://ieeexplore.ieee.org/document/8466987/〉. 〈10.1109/JPROC.2018.2858016〉
Liste complète des métadonnées

https://hal.inria.fr/hal-01879026
Contributeur : Timothy Bourke <>
Soumis le : vendredi 21 septembre 2018 - 18:12:40
Dernière modification le : jeudi 15 novembre 2018 - 11:58:59

Fichier

hybridsyncieee.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

Citation

Albert Benveniste, Timothy Bourke, Benoit Caillaud, Jean-Louis Colaço, Cédric Pasteur, et al.. Building a Hybrid Systems Modeler on Synchronous Languages Principles. Proceedings of the IEEE, Institute of Electrical and Electronics Engineers, 2018, Design Automation for Cyber-Physical Systems, 106 (9), pp.1568 - 1592. 〈https://ieeexplore.ieee.org/document/8466987/〉. 〈10.1109/JPROC.2018.2858016〉. 〈hal-01879026〉

Partager

Métriques

Consultations de la notice

872

Téléchargements de fichiers

71