At the end of this course, the students; 1) Learn real time systems. 2) Understand real time operating systems concepts. 3) Learn task switching, time attunement and data communication concepts. 4) Understand real time software development methods. 5) Learn real time software development tools.
MODE OF DELIVERY
Face to face
PRE-REQUISITES OF THE COURSE
No
RECOMMENDED OPTIONAL PROGRAMME COMPONENT
None
COURSE DEFINITION
Introduction to real-time systems. Reliability and fault tolerance. Exceptions and exception handling. Concurrent programming. Shared variable-based synchronization and communication. Message-based synchronization and communication. Atomic actions, concurrent processes and reliability. Resource control. Programming real-time abstractions. Scheduling real-time systems. Programming schedulable systems. Tolerating timing faults. Low-level programming.
COURSE CONTENTS
WEEK
TOPICS
1st Week
Introduction to real-time systems.
2nd Week
Reliability and fault tolerance.
3rd Week
Exceptions and exception handling.
4th Week
Concurrent programming.
5th Week
Shared variable-based synchronization and communication.
6th Week
Message-based synchronization and communication.
7th Week
Atomic actions, concurrent processes and reliability.
8th Week
Mid-term
9th Week
Resource control.
10th Week
Programming real-time abstractions.
11th Week
Scheduling real-time systems.
12th Week
Programming schedulable systems.
13th Week
Tolerating timing faults.
14th Week
Low-level programming.
RECOMENDED OR REQUIRED READING
1. Burns A., Wellings A., Real-Time Systems and Programming Languages, 3/E, Addison Wesley, 2001 2. Jane W., Liu S., Real-Time Systems, Prentice Hall, 2000. 3. Cottet F., Scheduling in real-time systems, John Wiley and Sons, 2002