The ESTEREL synchronous programming language: design, semantics, implementation
Science of Computer Programming
A general method for compiling event-driven simulations
DAC '95 Proceedings of the 32nd annual ACM/IEEE Design Automation Conference
A case study in computer-aided co-design of embedded controllers
Design Automation for Embedded Systems
Generating efficient protocol code from an abstract specification
IEEE/ACM Transactions on Networking (TON)
Advanced compiler design and implementation
Advanced compiler design and implementation
Basic compiler algorithms for parallel programs
Proceedings of the seventh ACM SIGPLAN symposium on Principles and practice of parallel programming
ECL: a specification environment for system-level design
Proceedings of the 36th annual ACM/IEEE Design Automation Conference
Esterel: a formal method applied to avionic software development
Science of Computer Programming
Automatic Distribution of Reactive Systems for Asynchronous Networks of Processors
IEEE Transactions on Software Engineering
Efficient compilation of ESTEREL for real-time embedded systems
CASES '00 Proceedings of the 2000 international conference on Compilers, architecture, and synthesis for embedded systems
Making cyclic circuits acyclic
Proceedings of the 40th annual Design Automation Conference
Constructive Analysis of Cyclic Circuits
EDTC '96 Proceedings of the 1996 European conference on Design and Test
Synthesis of software programs for embedded control applications
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
An Esterel compiler for large control-dominated systems
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
Mapping esterel onto a multi-threaded embedded processor
Proceedings of the 12th international conference on Architectural support for programming languages and operating systems
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
Hi-index | 0.00 |
The fine-grained parallelism and the need for determinism are traditional issues in the design of real-time embedded software. In addition, the increasing complexity of the specifications requires an increasing use of higher level formalisms. The Esterel language offers natural solutions to all these problems, but its compilation proved challenging, so that efficient compilation techniques have only recently been proposed. Consisting essentially in direct simulation of the reactive primitives of the language, these techniques now need to be accommodated with traditional issues of Esterel: the definition of formal semantics, the constructive causality, and the design of analysis and optimization methods that are both efficient and correct.We address these problems by defining a new intermediate model, called GRC, for the representation of Esterel programs. The GRC representation preserves much of the initial program structure while making the control flow pattern and the hierarchical state structure explicit. It fully complies with the semantics of Esterel, and, most important, it is a good support for efficient analysis, optimization, and code generation algorithms based on static analysis.The use of a GRC-based approach results in significant efficiency and generality gains. The approach could be extended to the hardware compilation of Esterel and to the compilation of other synchronous languages with fine-grained parallelism.