CENG 383
Real-Time Systems
Specification and verification techniques for real-time systems with many interacting components. formal design of real-time systems using (a) programming languages with unambiguous semantics of time – related behavior and (b) scheduling algorithms. Real-time operating systems, concepts of programming languages for real-time systems. Synchronous programming languages for reactive systems and their mathematical background. Software development for real-time systems.
Course Objectives
To introduce the fundamentals of real-time systems. To be able to create real-time operating systems.
Recommended or Required Reading
Phillip Laplante, Real-Time Systems Design and Analysis – An Engineer’s Handbook, IEEE Press, 1993.
S.H.Son, Advances in real-time systems, Englewood Cliffs, N.J.: Prentice Hall, c1995.
Learning Outcomes
1. To classify various kinds of real-time systems
2. To identify real-time sytems and design by formal techniques.
3. To be able to create real-time kernels, and to develop programmes on operating systems
4. To demonstrate the ability to use formal methods
| Topics |
| Fundamentals of Real-Time Systems |
|
Review of Computer Architectures in terms of the Realization of Real-Time Systems
|
| Real-Time Definition and Design Techniques |
|
Formal Methods: Timed Automata and Petri-Nets, Model Checking
|
| Real-Time Programming Languages |
| Synchronous Programming Languages |
|
Real-Time Kernels – I: Theoretical Findings, Scheduling Algoritms
|
|
Laboratory Work – I (Advanced C and Assembly Programming)
|
| Real-Time Kernels – II: POSIX |
| Fault-Tolerance |
|
HW/SW Integration, Performance Analysis and Optimization
|
|
Laboratory Work – II (Real-Time Kernel Design: Bootstrap, process management)
|
|
Laboratory Work – III (Real-Time Kernel Design: Time Management, Interrupt Mechanisms)
|
|
Laboratory Work – IV(Real-Time Kernel Design: Coding Real-Time Scheduling Algorithms)
|
Grading
Written Midterm Exam: 20%
Written Final Exam: 30%
Assignments: 10%

