Abstract
We present a new high-level programming language, called xGiotto, for programming applications with hard real-time constraints. Like its predecessor, xGiotto is based on the LET (logical execution time) assumption: the programmer specifies when the outputs of a task become available, and the compiler checks if the specification can be implemented on a given platform. However, while the predecessor language xGiotto was purely time-triggered, xGiotto accommodates also asynchronous events. Indeed, through a mechanism called event scoping, events are the main structuring principle of the new language. The xGiotto compiler and run-time system implement event scoping through a tree-based event filter. The compiler also checks programs for determinism (absence of race conditions).
This research is supported by the AFOSR MURI grant F49620-00-1-0327, the DARPA SEC grant F33615-C-98-3614, the MARCO GSRC grant 98-DT-660, and the NSF grants CCR-0208875 and CCR-0225610.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Burns, A., Wellings, A.: Real-Time Systems and Programming Languages. Addison-Wesley, Reading (2001)
Buttazzo, G.: Hard Real-Time Computing Systems. Kluwer, Dordrecht (1997)
Halbwachs, N.: Synchronous Programming of Reactive Systems. Kluwer, Dordrecht (1993)
Girault, A., Ménier, C.: Automatic production of globally asynchronous, locally synchronous systems. In: Sangiovanni-Vincentelli, A.L., Sifakis, J. (eds.) EMSOFT 2002. LNCS, vol. 2491, pp. 266–281. Springer, Heidelberg (2002)
Girault, A., Nicollin, X.: Clock-driven automatic distribution of Lustre programs. In: Alur, R., Lee, I. (eds.) EMSOFT 2003. LNCS, vol. 2855, pp. 206–222. Springer, Heidelberg (2003)
Henzinger, T.A., Kirsch, C.M., Sanvido, M.A.A., Pree, W.: From control models to real-time code using GIOTTO. IEEE Control Systems Magazine 23, 50–64 (2003)
Henzinger, T.A., Horowitz, B., Kirsch, C.M.: GIOTTO: a time-triggered language for embedded programming. Proc. IEEE 91, 84–99 (2003)
Sanvido, M.A.A., Ghosal, A., Henzinger, T.A.: xGIOTTO language report. Technical Report UCB//CSD-03-1261, UC Berkeley (2003)
Henzinger, T.A., Kirsch, C.M.: The Embedded Machine: predictable, portable real-time code. In: Proc. Programming Language Design and Implementation, pp. 315–326. ACM, New York (2002)
Henzinger, T.A., Kirsch, C.M., Majumdar, R., Matic, S.: Time-safety checking for embedded programs. In: Sangiovanni-Vincentelli, A.L., Sifakis, J. (eds.) EMSOFT 2002. LNCS, vol. 2491, pp. 76–92. Springer, Heidelberg (2002)
Kirsch, C.M., Henzinger, T.A., Sanvido, M.A.A.: A programmable microkernel for real-time systems. Technical Report UCB/CSD-03-1250, UC Berkeley (2003)
Liu, J., Lee, E.A.: Timed multitasking for real-time embedded software. IEEE Control Systems Magazine 23, 65–75 (2003)
Boussinot, F., de Simone, R.: The Esterel language. Proc. IEEE 79, 1293–1304 (1991)
Halbwachs, N., Caspi, P., Raymond, P., Pilaud, D.: The synchronous data-flow programming language Lustre. Proc. IEEE 79, 1305–1320 (1991)
Bertin, V., Closse, E., Poize, M., Pulou, J., Sifakis, J., Venier, P., Weil, D., Yovine, S.: Taxys = Esterel + Kronos. A tool for verifying real-time properties of embedded systems. Proc. Decision and Control 3, 2875–2880 (2001)
Caspi, P., Curic, A., Maignan, A., Sofronis, C., Tripakis, S., Niebert, P.: From Simulink to Scade/Lustre to TTA: a layered approach for distributed embedded applications. In: Proc. Languages, Compilers, and Tools for Embedded Systems, pp. 153–162. ACM, New York (2003)
Gay, D., Levis, P., von Behren, R., Welsh, M., Brewer, E., Culler, D.: The nesC language: a holistic approach to networked embedded systems. In: Proc. Programming Languages Design and Implementation, pp. 1–11. ACM, New York (2003)
Armstrong, J., Virding, R., Wikström, C., Williams, M.: Concurrent Programming in Erlang. Prentice-Hall, Englewood Cliffs (1992)
Kligerman, E., Stoyenko, A.: Real-time Euclid: a language for reliable real-time systems. IEEE Trans. Software Engineering 12, 941–949 (1986)
Kenny, K., Lin, K.J.: Building flexible real-time systems using the Flex language. IEEE Computer 24, 70–78 (1991)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ghosal, A., Henzinger, T.A., Kirsch, C.M., Sanvido, M.A.A. (2004). Event-Driven Programming with Logical Execution Times. In: Alur, R., Pappas, G.J. (eds) Hybrid Systems: Computation and Control. HSCC 2004. Lecture Notes in Computer Science, vol 2993. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24743-2_24
Download citation
DOI: https://doi.org/10.1007/978-3-540-24743-2_24
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-21259-1
Online ISBN: 978-3-540-24743-2
eBook Packages: Springer Book Archive