2004 Articles
Compiling Esterel into Static Discrete-Event Code
Executing concurrent specifications on sequential hardware is important for both simulation of systems that are eventually implemented on concurrent hardware and for those most conveniently described as a set of concurrent processes. As with most forms of simulation, this is easy to do correctly but difficult to do efficiently. Solutions such as preemptive operating systems and discrete-event simulators present significant overhead. In this paper, we present a technique for compiling the concurrent language Esterel into very efficient C code. Our technique minimizes runtime overhead by making most scheduling decisions at compile time and using a very simple linked-list-based event queue at runtime. While these techniques work particularly well for Esterel with its high-level concurrent semantics, the same technique could also be applied to efficiently execute other concurrent specifications.
Subjects
Files
- edwards2004compiling.pdf application/pdf 190 KB Download File
Also Published In
- Title
- Electronic Notes in Theoretical Computer Science
- DOI
- https://doi.org/10.1016/j.entcs.2006.02.027
More About This Work
- Academic Units
- Computer Science
- Published Here
- March 8, 2012