Abstract
The Embedded Machine is a virtual machine that mediates in real time the interaction between software processes and physical processes. It separates the compilation of embedded programs into two phases. The first phase, the platform-independent compiler phase, generates E code (code executed by the Embedded Machine), which supervises the timing, not the scheduling of, application tasks relative to external events such as clock ticks and sensor interrupts. E code is portable and, given an input behavior, exhibits predictable (i.e., deterministic) timing and output behavior. The second phase, the platform-dependent compiler phase, checks the time safety of the E code, that is, whether platform performance (determined by the hardware) and platform utilization (determined by the scheduler of the operating system) enable its timely execution. We have used the Embedded Machine to compile and execute high-performance control applications written in Giotto, such as the flight control system of an autonomous model helicopter.
- Armstrong, J. 1997. The development of Erlang. In Proceedings of the ACM International Conference on Functional Programming. 196--203. Google Scholar
Digital Library
- Berry, G. 2000. The foundations of Esterel. In Proof, Language, and Interaction: Essays in Honour of Robin Milner, G. Plotkin, C. Stirling, and M. Tofte, Eds. MIT Press. Google Scholar
Digital Library
- Burns, A. and Wellings, A. 1997. Real-Time Systems and Programming Languages. Addison-Wesley. Google Scholar
Digital Library
- Buttazzo, G. 1997. Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications. Kluwer. Google Scholar
Digital Library
- Dean, T. and Boddy, M. 1988. An analysis of time-dependent planning. In Proceedings of the National Conference on Artificial Intelligence. 49--54.Google Scholar
- Ferdinand, C., Heckmann, R., Langenbach, M., Martin, F., Schmidt, M., Theiling, H., Thesing, S., and Wilhelm, R. 2001. Reliable and precise WCET determination for a real-life processor. In Proceedings of the International Workshop on Embedded Software. Lecture Notes in Computer Science, Vol. 2211, Springer, 469--485. Google Scholar
Digital Library
- Halbwachs, N. 1993. Synchronous Programming of Reactive Systems. Kluwer. Google Scholar
Digital Library
- Halbwachs, N., Caspi, P., Raymond, P., and Pilaud, D. 1991. The synchronous dataflow programming language Lustre. In Proceedings of the IEEE 79, 1305--1320.Google Scholar
Cross Ref
- Henzinger, T., Horowitz, B., and Kirsch, C. 2003. Giotto: A time-triggered language for embedded programming. In Proceedings of the IEEE 91, 84--99.Google Scholar
Digital Library
- Henzinger, T., Kirsch, C., Majumdar, R., and Matic, S. 2002. Time-safety checking for embedded programs. In Proceedings of the International Workshop on Embedded Software. Lecture Notes in Computer Science, Vol. 2491, Springer, 76--92. Google Scholar
Digital Library
- Henzinger, T., Kirsch, C., and Matic, S. 2003. Schedule-carrying code. In Proceedings of the International Workshop on Embedded Software. Lecture Notes in Computer Science, Vol. 2855, Springer, 241--256.Google Scholar
Cross Ref
- Henzinger, T., Kirsch, C., and Matic, S. 2005. Composable code generation for distributed Giotto. In Proceedings of the ACM Conference on Languages, Compilers, and Tools for Embedded Systems. 21--30. Google Scholar
Digital Library
- Kirsch, C., Sanvido, M., and Henzinger, T. 2005. A programmable microkernel for real-time systems. In Proceedings of the ACM International Conference on Virtual Execution Environments. 35--45. Google Scholar
Digital Library
- Kirsch, C., Sanvido, M., Henzinger, T., and Pree, W. 2002. A Giotto-based helicopter control system. In Proceedings of the International Workshop on Embedded Software. Lecture Notes in Computer Science, Vol. 2491, Springer, 46--60. Google Scholar
Digital Library
- Liu, C. and Layland, J. 1973. Scheduling algorithms for multiprogramming in a hard-real-time environment. J. ACM 20, 46--61. Google Scholar
Digital Library
- Plaice, J. and Saint, J.-B. 1998. The Lustre-Esterel portable format. Tech. rep. INRIA Sophia Antipolis.Google Scholar
- Sanvido, M. 1999. A computer system for model helicopter flight control; Technical memo Nr. 3: The software core. Tech. rep. 317, ETH Zurich.Google Scholar
- Weil, D., Bertin, V., Closse, E., Poize, M., Venier, P., and Pulou, J. 2000. Efficient compilation of Esterel for real-time embedded systems. In Proceedings of the ACM International Conference on Compilers, Architectures, and Synthesis for Embedded Systems. 2--8. Google Scholar
Digital Library
- Wirth, N. 1977. Toward a discipline of real-time programming. Comm. ACM 20, 577--583. Google Scholar
Digital Library
- Wirth, N. 1996. Tasks versus threads: An alternative multiprocessing paradigm. Software: Concepts Tools 17, 6--12.Google Scholar
Index Terms
The embedded machine: Predictable, portable real-time code
Recommendations
The embedded machine: predictable, portable real-time code
The Embedded Machine is a virtual machine that mediates in real time the interaction between software processes and physical processes. It separates the compilation of embedded programs into two phases. The first, platform-independent compiler phase ...
The embedded machine: predictable, portable real-time code
PLDI '02: Proceedings of the ACM SIGPLAN 2002 conference on Programming language design and implementationThe Embedded Machine is a virtual machine that mediates in real time the interaction between software processes and physical processes. It separates the compilation of embedded programs into two phases. The first, platform-independent compiler phase ...
Improving GPOS Real-Time Responsiveness Using vCPU Migration in an Embedded Multicore Virtualization Platform
CSE '13: Proceedings of the 2013 IEEE 16th International Conference on Computational Science and EngineeringIn this paper, a vCPU (virtual CPU) migration mechanism in order to improve real-time responsiveness in a GPOS (General Purpose Operating System) is presented in the embedded multicore virtualization platform and can also be applied to CPS environment. ...






Comments