Researchers: | N. Vinay Krishnan |
---|---|
Advisor: | Edward A. Lee |
The E-Code consists of event-driven code. It primary purpose while executing on the E-Machine is to react to the environment, in the sense of handling interrupts, or receiving messages. This results in releasing tasks to be executed to the S-Machine. The S-code subsequently schedules these tasks on the underlying system.
Thus the details of the hardware the application is running on is abstracted away from the E-Code, as any and all interactions such as timer interrupts, preemption, etc are handled by the S-Code.
The project aims to come up with an S-code interpreter, i.e. an S-Machine, which makes use of the API provided by KURT-Linux. KURT-Linux is a flavor of Linux which has real-time extensions added onto it, allowing a programmer to write his own schedulers. The S-Machine designed will analyze the different tasks that could be given it by the E-Code, and will generate an explicit schedule for the overall task set. [1] Christoph M. Kirsch, Thomas A. Henzinger, and Marco A.A. Sanvido. A programmable microkernel for real-time systems. Technical Report UCB/CSD-3-1250, University of California, Berkeley, June 2003. [2] Thomas A. Henzinger, Christoph M. Kirsch, and Slobodan Matic. Schedule carrying code. Proceedings of the Third International Conference on Embedded Software (EMSOFT), Lecture Notes in Computer Science, Springer-Verlag, 2003. [3] Thomas A. Henzinger and Christoph M. Kirsch. The Embedded Machine: Predictable, portable real-time code. Proceedings of the International Conference on Programming Language Design and Implementation (PLDI), ACM Press, 2002, pp. 315-326.
Last updated 11/20/03