Divide and Recycle: Types and Compilation for a Hybrid Synchronous Language

被引:0
|
作者
Benveniste, Albert [1 ]
Bourke, Timothy [1 ]
Caillaud, Benoit [1 ]
Pouzet, Marc
机构
[1] INRIA Rennes, Rennes, France
关键词
Real-time systems; Hybrid systems; Synchronous languages; Block diagrams; Compilation; Semantics; Type Systems;
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
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.
引用
收藏
页码:61 / 70
页数:10
相关论文
共 50 条
  • [1] Divide and Recycle: Types and Compilation for a Hybrid Synchronous Language
    Benveniste, Albert
    Bourke, Timothy
    Caillaud, Benoit
    Pouzet, Marc
    [J]. ACM SIGPLAN NOTICES, 2011, 46 (05) : 61 - 70
  • [2] Modular compilation of a synchronous language
    Ressouche, Annie
    Gaffe, Daniel
    Roy, Valerie
    [J]. SOFTWARE ENGINEERING RESEARCH, MANAGEMENT AND APPLICATIONS, 2008, 150 : 157 - +
  • [3] Mechanized Semantics and Verified Compilation for a Dataflow Synchronous Language with Reset
    Bourke, Timothy
    Brun, Lelio
    Pouzet, Marc
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2020, 4
  • [4] HYBRID MICROELECTRONIC PACKAGES - COMPILATION OF VARIOUS MANUFACTUREERS TYPES
    BORWN, CE
    STECH, HG
    [J]. SOLID STATE TECHNOLOGY, 1971, 14 (08) : 44 - &
  • [5] Modular Compilation for a Hybrid Non-Causal Modelling Language
    Chupin, Guerric
    Nilsson, Henrik
    [J]. ELECTRONICS, 2021, 10 (07)
  • [6] Separate compilation for synchronous modules
    Zeng, J
    Edwards, SA
    [J]. EMBEDDED SOFTWARE AND SYSTEMS, PROCEEDINGS, 2005, 3820 : 129 - 140
  • [7] Modular compilation of synchronous programs
    Schneider, Klaus
    Brandt, Jens
    Vecchie, Eric
    [J]. FROM MODEL-DRIVEN DESIGN TO RESOURCE MANAGEMENT FOR DISTRIBUTED EMBEDDED SYSTEMS, 2006, 225 : 75 - +
  • [8] Compilation reuse and hybrid compilation - An experiment
    Loka, Raghavendra Rao
    [J]. ACM SIGPLAN NOTICES, 2006, 41 (04) : 42 - 49
  • [9] The language divide
    Vinoski, S
    [J]. IEEE INTERNET COMPUTING, 2006, 10 (02) : 82 - 84
  • [10] The language divide?
    Martin, N
    [J]. PSYCHOLOGIST, 2002, 15 (08) : 425 - 425