Fall 2014 textbook list
The Fall 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.
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.
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.
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
|Introduction to Real-Time Systems||5%|
|Resource Access Protocols||5%|
|Handling Overload Conditions||10%|
|Real-Time Operating systems (kernel design)||10%|
|Real-Time Programming Languages||15%|
|Reliability and Fault-Tolerance||15%|
|Real-Time Design Methods||10%|