Instruction generation for hybrid reconfigurable systems
ACM Transactions on Design Automation of Electronic Systems (TODAES)
Tutorial: Compiling concurrent languages for sequential processors
ACM Transactions on Design Automation of Electronic Systems (TODAES)
Generating fast code from concurrent program dependence graphs
Proceedings of the 2004 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems
Towards direct execution of esterel programs on reactive processors
Proceedings of the 4th ACM international conference on Embedded software
An Esterel processor with full preemption support and its worst case reaction time analysis
Proceedings of the 2005 international conference on Compilers, architectures and synthesis for embedded systems
Software thread integration for embedded system display applications
ACM Transactions on Embedded Computing Systems (TECS)
Generating optimized code from SCR specifications
Proceedings of the 2006 ACM SIGPLAN/SIGBED conference on Language, compilers, and tool support for embedded systems
Optimization for faster execution of Esterel programs
Formal methods and models for system design
Optimizing system models for simulation efficiency
Formal methods and models for system design
A concurrent reactive Esterel processor based on multi-threading
Proceedings of the 2006 ACM symposium on Applied computing
Mapping esterel onto a multi-threaded embedded processor
Proceedings of the 12th international conference on Architectural support for programming languages and operating systems
Synthesis of time-constrained multitasking embedded software
ACM Transactions on Design Automation of Electronic Systems (TODAES)
Worst Case Reaction Time Analysis of Concurrent Reactive Programs
Electronic Notes in Theoretical Computer Science (ENTCS)
Compilation and worst-case reaction time analysis for multithreaded Esterel processing
EURASIP Journal on Embedded Systems - Model-driven high-level programming of embedded systems: selected papers from SLA++P'07 and SLA++P'08
SystemJ compilation using the tandem virtual machine approach
ACM Transactions on Design Automation of Electronic Systems (TODAES)
Separate compilation for synchronous programs
Proceedings of th 12th International Workshop on Software and Compilers for Embedded Systems
Computing SyncCharts Reactions
Electronic Notes in Theoretical Computer Science (ENTCS)
JVM Independent Replay in Java
Electronic Notes in Theoretical Computer Science (ENTCS)
Compiling Esterel into Static Discrete-Event Code
Electronic Notes in Theoretical Computer Science (ENTCS)
Static data-flow analysis of synchronous programs
MEMOCODE'09 Proceedings of the 7th IEEE/ACM international conference on Formal Methods and Models for Codesign
A higher-order extension for imperative synchronous languages
Proceedings of the 13th International Workshop on Software & Compilers for Embedded Systems
SystemJ: A GALS language for system level design
Computer Languages, Systems and Structures
Tools for programming, code generation, and design
Embedded Systems Design
GALS-HMP: A heterogeneous multiprocessor for embedded applications
ACM Transactions on Embedded Computing Systems (TECS) - Special section on ESTIMedia'12, LCTES'11, rigorous embedded systems design, and multiprocessor system-on-chip for cyber-physical systems
Robust and extensible task implementations of synchronous finite state machines
Proceedings of the Conference on Design, Automation and Test in Europe
Passive code in synchronous programs
ACM Transactions on Embedded Computing Systems (TECS) - Special Section ESFH'12, ESTIMedia'11 and Regular Papers
Optimizing the implementation of real-time Simulink models onto distributed automotive architectures
Journal of Systems Architecture: the EUROMICRO Journal
Hi-index | 0.03 |
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