ECE: Electrical & Computer Engineering
Accredited by ABET
Undergraduate Programs

ECE 4550 Real-Time Systems


Spring 2014 textbook list

The Spring 2014 ECE textbook list is available online for students.

Current Prerequisites & Course Offering

For current prerequisites for a particular course, and to view course offerings for a particular semester, see the Virginia Tech Course Timetables.

Return to course list

ECE 4550 Real-Time Systems (3C)

Introduction to real-time systems, real-time scheduling including multiprocessor scheduling, real-time operating systems (kernels), real-time communication, real-time programming languages, reliability and fault-tolerance, and real-time system requirements and design methods. Design, analysis, and implementation of real-time kernel mechanisms and real-time applications using kernels such as Linux and programming languages such as C (with POSIX primitives) and Ada 95.

What is the reason for this course?

Real-time computing has become an important sub-discipline of Computer Science and Computer Engineering. Many applications such as industrial automation (process control and discrete manufacturing), defense, avionics, and telecommunications require real-time computing. This course presents the underlying theory, concepts, and practice for such systems. The main objectives of the course are to develop a strong understanding of the broad concept of real-time systems, obtain a practical understanding for the industry, and to stimulate research interest. Main topics of the course include an introduction to real-time systems, real-time scheduling, real-time operating systems (kernels), real-time communication, real-time programming languages, reliability and fault-tolerance, and real-time system requirements and design methods. Currently, our CpE curriculum does not cover real-time systems. Therefore, computer engineering students do not get an opportunity to be exposed to the field. Another value to this course is how it brings together material that students have had in other courses such as computer architecture, operating systems, programming languages, and software engineering. The course thus exposes CpE students to real-time systems, enables them to design, analyze, and implement such systems, and prepares them for careers in real-time computing and related fields (e.g., embedded systems and safety-critical systems).

Design Technical Elective for CPE; Technical Elective for EE. Typically offered: Spring. Program Area: Computers.

Prerequisites: C- or better in 4534 or CS 3204.

Why are these prerequisites or corequisites required?

The prerequisites of the course include ECE 4534 (Embedded System Design) or CS 3204 (Operating Systems). In addition, the course also requires knowledge of C/C++ that the students automatically acquire when they complete the course sequence leading to CS 3204.

Department Syllabus Information:

Major Measurable Learning Objectives:
  • Explain what real-time systems are and their fundamental characteristics.
  • Explain how real-time scheduling algorithms enable the response time requirements of real-time systems to be achieved and their design and implementation issues (as part of real-time kernels)
  • Design and implement real-time scheduling algorithms within kernels
  • Explain the facilities available in programming languages for programming real-time systems
  • Explain software fault-tolerance techniques such as N-version programming and recovery blocks
  • Design and implement real-time (and non real-time) embedded system applications

Course Topics
Topic Percentage
Introduction to Real-Time Systems 5%
Real-Time Scheduling 20%
Resource Access Protocols 5%
Handling Overload Conditions 10%
Real-Time Operating systems (kernel design) 10%
Real-Time Communication 10%
Real-Time Programming Languages 15%
Reliability and Fault-Tolerance 15%
Real-Time Design Methods 10%

Return to course list