ABSTRACT
Synchronous programming languages have proved to be advantageous for designing software and hardware for embedded systems. Despite their clear semantics, their compilation is remarkably difficult: In particular, one has to take care of potential schizophrenia problems. Although these problems are correctly translated with existing compilers, there is still a need for clean algorithms. In this paper, we present the first solution to eliminate schizophrenia problems by program transformations. These transformations are used for compilation, but also for increasing the readability of programs.
- 1.G. Berry. The foundations of Esterel. In G. Plotkin, C. Stirling, and M. Tofte, Proof, Language and Interaction: Essays in Honour of Robin Milner. MIT Press, 1998. Google ScholarDigital Library
- 2.G. Berry. The constructive semantics of pure Esterel, July 1999.Google Scholar
- 3.G. Berry. The Esterel v5_91 language primer. http://www.esterel.org, June 2000.Google Scholar
- 4.F. Boussinot. SugarCubes implementation of causality. Research Report 3487, INRIA, Sophia Antipolis Cedex, France, September 1998.Google Scholar
- 5.J. Brzozowski and C.-J. Seger. Asynchronous Circuits. Springer Verlag, 1995.Google Scholar
- 6.Cadence Design Systems,Inc. Website, 2000. http://www.cadence.com.Google Scholar
- 7.Esterel Web. Website, 2000. http://www.esterel.org.Google Scholar
- 8.A. Girault and G. Berry. Circuit generation and verification of Esterel programs. Research report 3582, INRIA, December 1998.Google Scholar
- 9.M. Gordon and T. Melham. Introduction to HOL: A Theorem Proving Environment for Higher Order Logic. Cambridge University Press, 1993. Google ScholarDigital Library
- 10.N. Halbwachs and F. Maraninchi. On the symbolic analysis of combinational loops in circuits and synchronous programs. In Euromicro Conference, Como, Italy, September 1995.Google Scholar
- 11.Jester Home Page. Website, 2000. http://www.parades.rm.cnr.it/projects/jester/jester.html.Google Scholar
- 12.L. Lavagno and E. Sentovich. ECL: A specification environment for system-level design. In ACM/IEEE Design Automation Conference (DAC), 1999. Google ScholarDigital Library
- 13.S. Malik. Analysis of cycle combinational circuits. IEEE Transactions on Computer Aided Design, 13(7):950-956, July 1994.Google ScholarDigital Library
- 14.POLIS Homepage, 2000. http://www-cad.eecs.berkeley.edu/Google Scholar
- 15.K. Schneider. A verified hardware synthesis for Esterel. In F. Rammig, editor, International IFIP Workshop on Distributed and Parallel Embedded Systems, pages 205-214. Kluwer Academic Publishers, 2000. Google ScholarDigital Library
- 16.K. Schneider. Embedding imperative synchronous languages in interactive theorem provers. In International Conference on Application of Concurrency to System Design (ICACSD 2001). IEEE Computer Society Press, June 2001. http://goethe.ira.uka.de/fmg/ps/Schn01a.ps.gz. Google ScholarDigital Library
- 17.T. Shiple, G. Berry, and H. Touati. Constructive analysis of cyclic circuits. In European Design and Test Conference (EDTC), Paris, France, 1996. IEEE Computer Society Press. Google ScholarDigital Library
Index Terms
- A new method for compiling schizophrenic synchronous programs
Recommendations
Towards a simple and safe Objective Caml compiling framework for the synchronous language SIGNAL
This paper presents a simple and safe compiler, called MinSIGNAL, from a subset of the synchronous dataflow language SIGNAL to C, as well as its existing enhancements. The compiler follows a modular architecture, and can be seen as a sequence of source-...
Clock-directed modular code generation for synchronous data-flow languages
LCTES '08The compilation of synchronous block diagrams into sequential imperative code has been addressed in the early eighties and can now be considered as folklore. However, separate, or modular, code generation, though largely used in existing compilers and ...
Imperative streams—a monadic combinator library for synchronous programming
ICFP '98: Proceedings of the third ACM SIGPLAN international conference on Functional programmingThe paper presents a generalization of Haskell's IO monad suitable for synchronous concurrent programming. The new monad integrates the deterministic concurrency paradigm of synchronous programming with the powerful abstraction features of functional ...
Comments