A Synchronous Look at the Simulink Standard Library

Abstract : Hybrid systems modelers like Simulink come with a rich collection of discrete-time and continuous-time blocks. Most blocks are not defined in terms of more elementary ones—and some cannot be—but are instead written in imperative code and explained informally in a reference manual. This raises the question of defining a minimal set of orthogonal programming constructs such that most blocks can be programmed directly and thereby given a specification that is mathematically precise, and whose compiled version performs comparably to handwritten code. In this paper, we show that a fairly large set of blocks of a standard library like the one provided by Simulink can be programmed in a precise, purely functional language using stream equations, hierarchical automata, Ordinary Differential Equations (ODEs), and deterministic synchronous parallel composition. Some blocks cannot be expressed in our setting as they mix discrete-time and continuous-time signals in unprincipled ways that are statically forbidden by the type checker. The experiment is conducted in Zélus, a synchronous language that conservatively extends Lustre with ODEs to program systems that mix discrete-time and continuous-time signals.
Liste complète des métadonnées

Cited literature [29 references]  Display  Hide  Download

https://hal.inria.fr/hal-01575631
Contributor : Timothy Bourke <>
Submitted on : Monday, August 21, 2017 - 12:15:30 PM
Last modification on : Thursday, February 7, 2019 - 4:55:40 PM

File

emsoft2017.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : hal-01575631, version 1

Citation

Timothy Bourke, Francois Carcenac, Jean-Louis Colaço, Bruno Pagano, Cédric Pasteur, et al.. A Synchronous Look at the Simulink Standard Library. EMSOFT 2017 - 17th International Conference on Embedded Software, Oct 2017, Seoul, South Korea. pp.23. ⟨hal-01575631⟩

Share

Metrics

Record views

292

Files downloads

249