2. and 3. year engineering students in Information Technology.
The students shall learn:
1. Principles, methods and programming technics of realtime programming.
2. To develop real-time applications in a modern programming environment
3. To program "embedded systems".
1. Interrupt system and asynchroneous events.
Processes and Threads. Reentrant programs. Concurrent programming. The "Java Concurrency Model". Priority. "Context switching". Synchronism.
2. Internal resources and resource allocation: Local and global variables. Monitor. Condidtion variables. Semaphore, Event flags. Signals. Barriers. Buffers. Blackboard. Broadcast. Multicast.
3. Interaction with external processes: Timer, I/O-ports, serial communication etc.
4. Concurrent programming in Java. Real-time specification for Java (RTSJ).
5. Programming of "embedded systems".
Class lectures 6 hours weekly.
Computer lab 4 hours weekly.
Student project in groups of 2-3 students.
The course includes a mandatory project in groups of 2-3 students. The project shall lead to the development of a complete realtime application by using the tools governed by the course. The project is the basis for the evalution of the course.
The evaluation is based on: Final project report and individual oral examination.
Both the project and the oral examination must be successfully completed to fulfill the course.