Academic
Publications
Divide and recycle: types and compilation for a hybrid synchronous language

Divide and recycle: types and compilation for a hybrid synchronous language,10.1145/1967677.1967687,Albert Benveniste,Timothy Bourke,Benoît Caillaud,M

Divide and recycle: types and compilation for a hybrid synchronous language   (Citations: 1)
BibTex | RIS | RefWorks Download
Hybrid modelers such as Simulink have become corner stones of embedded systems development. They allow both discrete controllers and their continuous environments to be expressed in a single language. Despite the availability of such tools, there remain a number of issues related to the lack of reproducibility of simulations and to the separation of the continuous part, which has to be exercised by a numerical solver, from the discrete part, which must be guaranteed not to evolve during a step. Starting from a minimal, yet full-featured, Lustre-like synchronous language, this paper presents a conservative extension where data-flow equations can be mixed with ordinary differential equations (ODEs) with possible reset. A type system is proposed to statically distinguish discrete computations from continuous ones and to ensure that signals are used in their proper domains. We propose a semantics based on non-standard analysis which gives a synchronous interpretation to the whole language, clarifies the discrete/continuous interaction and the treatment of zero-crossings, and also allows the correctness of the type system to be established. The extended data-flow language is realized through a source-to-source transformation into a synchronous subset, which can then be compiled using existing tools into routines that are both efficient and bounded in their use of memory. These routines are orchestrated with a single off-the-shelf numerical solver using a simple but precise algorithm which treats causally-related cascades of zero-crossings. We have validated the viability of the approach through experiments with the Sundials library.
Cumulative Annual
View Publication
The following links allow you to view full publications. These links are maintained by other sources not affiliated with Microsoft Academic Search.
    • ...Building on earlier work [1], we propose a language for hybrid systems by extending an existing synchronous language with ODEs and an o-the-shelf numerical solver ( als CVODE [8] is used in our prototype compiler)...
    • ...Given that synchronous programs with control structures (Data-ow+Auto ) can already be translated to data-ow synchronous code ( Data-ow ) [12, 5], and that (Data-ow + ODE ) can be translated to dataow synchronous code ( Data-ow ) [1], there are two possible approaches...
    • ...In [1], an elementary, Lustre-like language extended with...
    • ...Following [1], we reject such programs statically...
    • ...They are, however, considered elsewhere [1] and implemented in our prototype...
    • ...In the work presented in this paper, we try to extend our earlier approach [1] as conservatively as possible...

    Albert Benvenisteet al. A hybrid synchronous language with hierarchical automata: Static typin...

Sort by: