• DocumentCode
    1559579
  • Title

    An Esterel compiler for large control-dominated systems

  • Author

    Edwards, Stephen A.

  • Volume
    21
  • Issue
    2
  • fYear
    2002
  • fDate
    2/1/2002 12:00:00 AM
  • Firstpage
    169
  • Lastpage
    183
  • Abstract
    Embedded hard real-time software systems often need fine-grained parallelism and precise control of timing, things typical real-time operating systems do not provide. The Esterel language has both, but compiling large Esterel programs has been challenging, producing either needlessly slow or large code. This paper presents the first Esterel compiler able to compile large Esterel programs into fast, small code. By choosing a concurrent control-now graph (CCFG) as its intermediate representation, it preserves many of the control constructs to produce code that can be 100 times faster and half the size than code from other compilers with similar capacity. The primary contribution is an algorithm that generates efficient sequential code from a CCFG. While developed specifically for compiling Esterel, the algorithm could be used to compile other synchronous languages with fine-grained parallelism
  • Keywords
    embedded systems; program compilers; scheduling; specification languages; Esterel compiler; Esterel language; concurrent control-flow graph; concurrent synchronous language; embedded hard real-time software systems; fine-grained parallelism; intermediate representation; large Esterel programs; large control-dominated systems; real-time language; real-time operating systems; sequential code generation; Clocks; Concurrent computing; Control systems; Operating systems; Processor scheduling; Program processors; Real time systems; Size control; Timing; Yarn;
  • fLanguage
    English
  • Journal_Title
    Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0278-0070
  • Type

    jour

  • DOI
    10.1109/43.980257
  • Filename
    980257