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
Link To Document