SEDS 518
Development of Real-Time Software
Real-time operating systems, real-time task scheduling algorithms, formal methods used in software specifications, modeling and verification using timed automata, software design, programming languages, testing, performance analysis and optimization, documentation, software reuse, and fault tolerance.
Reference book(s):
- Real-Time Systems Design and Analysis. Phillip A. Laplante. A John Wiley & Sons,
- Software Engineering for Real-Time Systems”, J.E. Cooling, Addison Wesley
Course Objectives: To give the students the latest research issues on the software development, programming, design, test and documentation for real-time systems.
| Week | Topics |
|---|---|
| 1 | Introduction to Real-Time Systems |
| 2 | Basics of Developing Software for Real-Time Systems |
| 3-4 | Real-Time Operating Systems |
| 5 | Software Requirements |
| 6-7 | Model Checking |
| 8-9 | Software Design |
| 10 | Programming Languages |
| 11 | Testing |
| 12 | Performance Analysis and Optimization |
| 13 | Safety-Critical Systems and Fault-Tolerance |
| 14 | Documentation, Software Re-Use and Continuous Improvement |
Grading:
- Final Exam %40
- Practice Assignments %30
- Reading Assignments + participation %10
Course Learning Outcomes:
CO1 To have knowledge of real-time systems fundamentals
CO2 To understand the state-of-the-art of safety critical and fault-tolerant systems
CO3 Ability to design real-time software
Contribution of Program Learning Outcomes:
P01 P02 P03 P04 P05 P06 P07
C01 x x
C02 x x
C03 x
Justification of the course: It is an elective course of the Software Engineering and Data Science Master of Science Program. The course introduces the fundamentals of real-time software development for safety critical systems.
