ECE: Electrical & Computer Engineering

ECE 5550G Advanced 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 5550G Advanced 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 langauges such as C (with POSIX primitives) and real-time Java.

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).

Typically offered: Spring. Program Area: Computers.

Department Syllabus Information:

Major Measurable Learning Objectives:
  • Demonstrate real-time scheduling algorithms and resource access protocols that enable the response time requirements of real-time systems to be achieved
  • Demonstrate real-time scheduling algorithms for overload conditions
  • Design and implement real-time scheduling algorithms within operating system kernels
  • Demonstrate the facilities available in programming languages for programming real-time systems
  • 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 15%
Handling Overload Conditions 15%
Real-Time Operating systems (kernel design) 15%
Real-Time Programming Languages 15%
Real-Time Design Methods 15%

Return to course list