Abstract
We present a new method for modular compilation of synchronous programs given in imperative languages like Quartz or Esterel. The main idea of our approach consists of computing sequential jobs that correspond with control flow locations of the program. Each job encodes that part of an instantaneous reaction that is triggered by the activation of the corresponding control flow location. The special consideration of the initial job that is executed at initial time yields a simple method for modular code generation.
Chapter PDF
Similar content being viewed by others
REFERENCES
Andrews, G. Concurrent Programming-Principles and Practice. The Benjamin/Cummings Publishing Company, Redwood City, California, 1991.
Benveniste, A., Cash, P., Edwards, S., Halbwachs, N., Leguernic, P., AND DE Simone, R. The synchronous languages twelve years later. Proceedings of the IEEE 91, 1 (2003), 64–83.
Berry, G. The foundations of Esterel. In Proof Language and Interaction: Essays in Honour of Robin Milner, G. Plotkin, C. Stirling, and M. Tofte, Eds. MIT, 1998.
Berry, G. The constructive semantics of pure Esterel. http://www-sop.inria.fr/esterel.org, July 1999.
Berry, G. The Esterel v5_91_language primer, June 2000.
Berry, G., AND Gonthier, G. The Esterel synchronous programming language: Design, semantics, implementation. Science of Computer Programming 19, 2 (1992), 87–152.
Closse, E., Poize, M., Pulou, J., Sifakis, J., Venter, P., Weil, D., AND Yovine, S. TAXYS: A tool for the development and verification of real-time embedded systems. In Conference on Computer Aided Verification (CAV) (Paris, France, 2001), vol. 2102 of LNCS, Springer, pp. 391–395.
Closse, E., Poize, M., Pulou, J., Venier, P., AND Weil, D. SAXO-RT: Interpreting Esterel semantics on a sequential execution structure. Electronic Notes in Theoretical Computer Science (ENTCS) 65, 5 (2002). Workshop on Synchronous Languages, Applications, and Programming (SLAP).
Edwards, S. An Esterel compiler for large control-dominated systems. IEEE Transactions on Computer Aided Design of Integrated Circuits and Systems 21, 2 (February 2002), 169–183.
Edwards, S. ESUIF: An open Esterel compiler. Electronic Notes in Theoretical Computer Science (ENTCS) 65, 5 (2002). Workshop on Synchronous Languages, Applications, and Programming (SLAP).
Edwards, S., Kapadia, V., AND Halas, M. Compiling Esterel into static discrete-event code. In Synchronous Languages, Applications, and Programming (SLAP) (Barcelona, Spain, 2004).
Esterel Technology. Website. http://www.esterel-technologies.com.
Halbwachs, N. Synchronous programming of reactive systems. Kluwer, 1993.
Lavagno, L., AND Sentovich, E. ECL: A specification environment for system-level design. In International Design Automation Conference (DAC) (New Orleans, Louisiana, USA, 1999), ACM, pp. 511–516.
Logothetis, G., AND Schneider, K. Exact high level WCET analysis of synchronous programs by symbolic state space exploration. In Design, Automation and Test in Europe (DATE) (Munich, Germany, March 2003), IEEE Computer Society, pp. 196–203.
Poignié, A., AND Holenderski, L. Boolean automata for implementing pure Esterel. Arbeitspapiere 964, GMD, Sankt Augustin, 1995.
Potop-butucaru, D., AND DE Simone, R. Optimizations for faster execution of Esterel programs. In Formal Methods and Models for Codesign (MEMOCODE) Mont Saint-Michel, France, 2003), IEEE Computer Society, pp. 227–236.
Schneider, K. A verified hardware synthesis for Esterel. In Workshop on Distributed and Parallel Embedded Systems (DIPES) (SchloB Ehringerfeld, Germany, 2000), F. Rammig, Ed., Kluwer, pp. 205–214.
Schneider, K. Embedding imperative synchronous languages in interactive theorem provers. In Conference on Application of Concurrency to System Design (ACSD) (New-castle upon Tyne, UK, June 2001), IEEE Computer Society, pp. 143–156.
Schneider, K. The synchronous programming language Quartz. Internal Report to appear, Department of Computer Science, University of Kaiserslautern, 2006.
Schneider, K., Brandy, J., AND Schuele, T. A verified compiler for synchronous programs with local declarations. Electronic Notes in Theoretical Computer Science (ENTCS) (2006).
Schneider, K., AND Wenz, M. A new method for compiling schizophrenic synchronous programs. In Conference on Compilers, Architecture, and Synthesis for Embedded Systems (CASES) (Atlanta, USA, November 2001), ACM, pp. 49–58.
Zeng, J., AND Edwards, S. Separate compilation of synchronous modules. In International Conference on Embedded Software and Systems (ICESS) (Xian, China, 2005).
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 International Federation for Information Processing
About this paper
Cite this paper
Schneider, K., Brandt, a., Vecchié, a. (2006). Modular Compilation of Synchronous Programs. In: Kleinjohann, B., Kleinjohann, L., Machado, R.J., Pereira, C.E., Thiagarajan, P.S. (eds) From Model-Driven Design to Resource Management for Distributed Embedded Systems. DIPES 2006. IFIP International Federation for Information Processing, vol 225. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-39362-9_9
Download citation
DOI: https://doi.org/10.1007/978-0-387-39362-9_9
Publisher Name: Springer, Boston, MA
Print ISBN: 978-0-387-39361-2
Online ISBN: 978-0-387-39362-9
eBook Packages: Computer ScienceComputer Science (R0)