ACM Home Page
Please provide us with feedback. Feedback
Loops in esterel
Full text PdfPdf (692 KB)
Source
ACM Transactions on Embedded Computing Systems (TECS) archive
Volume 4 ,  Issue 4  (November 2005) table of contents
Pages: 708 - 750  
Year of Publication: 2005
ISSN:1539-9087
Authors
Olivier Tardieu  INRIA, Sophia Antipolis, France
Robert de Simone  INRIA, Sophia Antipolis, France
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 15,   Downloads (12 Months): 64,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1113830.1113832
What is a DOI?

ABSTRACT

ESTEREL is a synchronous design language for the specification of reactive systems. Thanks to its compact formal semantics, code generation for ESTEREL is essentially provably correct. In practice, due to the many intricacies of an optimizing compiler, an actual proof would be in order. To begin with, we need a precise description of an efficient translation scheme, into some lower-level formalism. We tackle this issue on a specific part of the compilation process: the translation of loop constructs. First, because of instantaneous loops, programs may generate runtime errors, which cannot be tolerated for embedded systems, and have to be predicted and prevented at compile time. Second, because of schizophrenia, loops must be partly unfolded, making C code generation, as well as logic synthesis, nonlinear in general. Clever expansion strategies are required to minimize the unfolding. We first characterize these two difficulties w.r.t. the formal semantics of ESTEREL. We then derive very efficient, correct-by-construction algorithms to verify and transform loops at compile time, using static analysis and program rewriting techniques. With this aim in view, we extend the language with a new gotopause construct, which we use to encode loops. It behaves as a noninstantaneous jump instruction compatible with concurrency.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
André, C. 1996a. Representation and analysis of reactive behaviors: A synchronous approach. In Proceedings of the IMACS/IEEE SMC Multiconference on Computational Engineering in Systems Applications. IEEE-SMC, Lille, France. 19--29.
 
2
André, C. 1996b. SyncCharts: a visual representation of reactive behaviors. Tech. Rep. RR 95-52, rev. RR 96-56, I3S, Sophia-Antipolis, France.
 
3
Barendregt, H. P. 1981. The Lambda Calculus, Its Syntax and Semantics. Studies in Logics and the Foundations of Mathematics, Vol. 103. North-Holland, Amsterdam, The Netherlands.
 
4
Benveniste, A., Caspi, P., Edwards, S., Halbwachs, N., Le Guernic, P., and de Simone, R. 2003. The synchronous languages twelve years later. Embedded Systems, Proceedings of the IEEE, Special issue 91, 1, 64--83.
 
5
Berry, G. 1999. The constructive semantics of pure Esterel. http://www-sop.inria.fr/esterel.org/.
 
6
Berry, G. 2000a. The Esterel language primer v5_91. http://www-sop.inria.fr/esterel.org/.
 
7
 
8
 
9
 
10
Boussinot, F. and de Simone, R. 1991. The Esterel language. Another Look at Real Time Programming, Proceedings of the IEEE, Special Issue 79, 9, 1293--1304.
 
11
 
12
 
13
Closse, E., Poize, M., Pulou, J., Venier, P., and Weil, D. 2002. Saxo-RT: Interpreting Esterel semantics on a sequential execution structure. In Proceedings of the Synchronous Languages, Applications, and Programming Workshop. Electronic Notes in Theoretical Computer Science, Vol. 65. Elsevier, Grenoble, France.
14
 
15
 
16
Edwards, S. A., Kapadia, V., and Halas, M. 2004. Compiling Esterel into static discrete-event code. In Proceedings of the Synchronous Languages, Applications, and Programming Workshop. Electronic Notes in Theoretical Computer Science. Elsevier, Barcelona, Spain.
 
17
Gonthier, G. 1988. Sémantique et modèles d'exécution des langages réactifs synchrones: application à Esterel. Ph.D. thesis, Université d'Orsay.
 
18
 
19
Halbwachs, N., Caspi, P., Raymond, P., and Pilaud, D. 1991. The synchronous dataflow programming language Lustre. Another Look at Real Time Programming, Proceedings of the IEEE, Special Issue 79, 9, 1305--1320.
 
20
Hardin, R., Har'El, Z., and Kurshan, R. 1996. COSPAN. In Proceedings of the Eighth International Conference on Computer Aided Verification. Lecture Notes in Computer Science, Vol. 1102. Springer, New Brunswick, NJ.
 
21
INRIA, ENSMP, and ARMINES. 2000. The Esterel v5_92 Compiler. http://www-sop.inria.fr/esterel.org/.
 
22
 
23
Maraninchi, F. 1991. The Argos language: Graphical representation of automata and description of reactive systems. In Proceedings of the IEEE Workshop on Visual Languages. IEEE, Kobe, Japan.
 
24
 
25
Mignard, F. 1994. Compilation du langage Esterel en systèmes d'équations booléen-nes. Ph.D. thesis, Ecole des Mines de Paris.
 
26
 
27
 
28
Plotkin, G. 1981. A structural approach to operational semantics. Report DAIMI FN-19, Aarhus University, Denmark.
 
29
Potop-Butucaru, D. 2002. Optimizations for faster execution of Esterel programs. Ph.D. thesis, Ecole des Mines de Paris.
 
30
31
 
32
Schneider, K., Brandt, J., and Schüle, T. 2004. A verified compiler for synchronous programs with local declarations. In Proceedings of the Synchronous Languages, Applications, and Programming Workshop. Electronic Notes in Theoretical Computer Science. Elsevier, Barcelona, Spain.
 
33
 
34
Tardieu, O. 2004a. Goto and concurrency: Introducing safe jumps in Esterel. In Proceedings of the Synchronous Languages, Applications, and Programming Workshop. Electronic Notes in Theoretical Computer Science. Elsevier, Barcelona, Spain.
 
35
Tardieu, O. 2004b. Loops in Esterel: from operational semantics to formally specified compilers. Ph.D. thesis, Ecole des Mines de Paris. http://olivier.tardieu.free.fr/papers/these.pdf.
 
36
Tardieu, O. and de Simone, R. 2003. Instantaneous termination in pure Esterel. In Proceedings of the 10th International Symposium on Static Analysis. Lecture Notes in Computer Science, Vol. 2694. Springer, San Diego, CA. 91--108.
 
37
Tardieu, O. and de Simone, R. 2004. Curing schizophrenia by program rewriting in Esterel. In Proceedings of the Second ACM-IEEE International Conference on Formal Methods and Models for Codesign. IEEE, San Diego, CA.

Collaborative Colleagues:
Olivier Tardieu: colleagues
Robert de Simone: colleagues