ECE 4550 Real-Time Systems
ECE 5550G Advanced Real-Time Systems Spring 2023
Course Syllabus
Real-time computing is an important sub-discipline of Computer Engineering. Many applications such as industrial automation (process control and discrete manufacturing), automotive, avionics, robotics, defense, biomedical devices, and telecommunications require real-time computing. 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 stimulate research interest. The course presents the underlying theory, concepts, and practice of real-time systems. Main topics of the course include an introduction to real-time systems, real-time scheduling and resource management, real-time operating systems and kernels, real- time programming languages, and real-time application development using experimental or commercial real-time operating systems/middleware. The course enables students to design, analyze, and implement real-time systems, and prepares them for careers in real-time computing and related fields (e.g., embedded systems, mission-critical systems, and safety-critical systems).
Upon completion of the course, the student will be able to:
1. Demonstrate real-time scheduling and resource management algorithms and protocols that
enable timing requirements of real-time systems to be satisfied
2. Conduct real-time schedulability analysis
3. Design and implement real-time scheduling algorithms and analyze timing behaviors
4. Design and implement real-time synchronization protocols and analyze timing behaviors
5. Demonstrate facilities available in real-time programming languages/operating systems for
programming real-time systems (e.g., real-time POSIX, RTSJ)
Prerequisites:
4550: ECE 3574 Applied Software Design (MIN grade of C-) or CS 3214 Computer Systems (MIN grade of P)
5550: Graduate standing. Strong programming skill is also required.
ECE 4550/5550G: Real-Time Systems/Advanced Real-Time Systems ¨ Spring 2023 1
Course Meeting Times and Location:
Tuesdays, Thursdays, 11:00AM–12:15PM
This is an online, LIVE class. To attend lectures, log on to the following zoom meeting during lecture times. Lectures will also be recorded and can be accessed via Media Gallery in Canvas.
https://virginiatech.zoom.us/j/87492631000?pwd=TVRUTzNadGlONjVXR2dqeFBtT2FWUT09
Meeting Number: 874 9263 1000 Passcode: 193852
Required Text:
Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications, Giorgio C. Buttazzo, Springer, Real-Time Systems Series, Vol. 24, 3rd ed. 2011, XVI, 524 p., ISBN 978-1-4614- 0676-1. A Free PDF is available online (e.g., through VT library).
Papers from the literature will be made available on the course website.
Course Website:
The website of the course is in Canvas: https://canvas.vt.edu. Use your Virginia Tech PID and password to access the web site. The website will be used to distribute lecture notes, homework assignments, programming projects, additional readings, and solutions. News, due dates, and any modifications to the syllabus will also be posted on the course website. It is your responsibility to regularly check Canvas for important updates.
Piazza:
Students are asked to use Piazza to pose their questions instead of emailing the instructor or GTAs to streamline the process, as students often ask similar questions. Piazza is a community-based message boards where students can help to answer questions, post anonymously, and send private messages to the instructor or GTA. The link to the Piazza discussion board for this class is https://canvas.vt.edu/courses/165624/external_tools/7835. Kindly remember to keep your posts professional and respectful of others.
Grading
4550
5550G
Projects (individual) Homework
Midterm Exam Final Exam
60% (4 projects)
20% (5-6 homework assignments)
10% (tentative: Thursday 03/17, in class) 10% (Friday 05/07, 10:05AM–12:05PM)
Projects (individual)
Homework
Midterm Exam
Research project (+ presentation) 20%
Notes:
1. You will generally have 1-2 weeks to complete each homework assignment, and 2-4 weeks to
complete each project.
2. Four programming projects (with different grade percentages) are planned. The projects will
involve implementation of real-time scheduling algorithms and resource access protocols
discussed in lectures.
3. The midterm and final exams will be open-book and open-notes, and the final exam will be
comprehensive.
4. The (group) research project for 5550G will be on a topic from a selected list of topics available in
Canvas when the time comes. Groups can also, and are strongly encouraged to, propose their own topics related to their research interests (proposals of such projects will be due around the midterm). Each group will have at most two students. Each group will present their project in
50% (4 projects)
20% (5-6 homework assignments)
10% (tentative: Thursday 03/17, in class)
ECE 4550/5550G: Real-Time Systems/Advanced Real-Time Systems ¨ Spring 2023 2
class, provided that we have time to do so. There will be a grade component for in-class
presentation.
5. Semester grades will be determined after all course work is completed and graded. Point ranges
for letter grades will be based on several factors, including relative performance. Letter grades will not be based on a fixed, predetermined curve or point range. If you have questions or concerns about your performance or grades, please discuss them with the instructor.
Important Grading Policies:
All homework must be turned in by the time/date indicated on the assignment. No late homework will be accepted. However, projects can be submitted late with a reduction of 10% per each 24-hour time period. Work submitted after the submission site closes will not be accepted unless extenuating circumstances exist and arrangements are made prior to the due date. Also, no makeup exams will be given. The only exceptions are medical emergencies or other extraordinary circumstances that must be justified with proper documentation.
If you feel that an error is made in grading a homework assignment, project, or an exam, you must present a written appeal within one week after the graded work is returned to you (appeal by e-mail is sufficient). Verbal appeals are not allowed and grades will not be changed after the one-week period. Your appeal should be specific. Submit your appeal to the GTAs for homework and projects, and to the instructor for exams.
Honor Code Policy:
The Undergraduate Honor Code pledge that each member of the university community agrees to abide by states: “As a Hokie, I will conduct myself with honor and integrity at all times. I will not lie, cheat, or steal, nor will I accept the actions of those who do.” Students enrolled in this course are responsible for abiding by the Honor Code. A student who has doubts about how the Honor Code applies to any assignment is responsible for obtaining specific guidance from the course instructor before submitting the assignment for evaluation. Ignorance of the rules does not exclude any member of the University community from the requirements and expectations of the Honor Code.
All graded work is expected to be the original work of the individual student unless otherwise directed by the instructor. In working on the assignments, discussion and cooperative learning are allowed and, in fact, encouraged for recitation problem sets. However, copying or otherwise using another person's solutions to the homework problems is an honor code violation. Solutions are to be the work of the individual student. In all assignments, including homework, you may discuss general concepts, such as algorithms, C++ syntax, Internet resources, or class and text topics, with others. However, copying of specific homework program-code is an honor code violation. We will use automated comparison tools to detect such violations. Such tools have been very effective in the past. Any violations of the honor code will automatically be forwarded to the Office of the Honor System.
If you have questions or are unclear about what constitutes academic misconduct on an assignment, please speak with me. I take the Honor Code very seriously in this course. The normal sanction I will recommend for a violation of the Honor Code is an F* sanction as your final course grade. The F represents failure in the course. The “*” is intended to identify a student who has failed to uphold the values of academic integrity at Virginia Tech. A student who receives a sanction of F* as their final course grade shall have it documented on their transcript with the notation “FAILURE DUE TO ACADEMIC HONOR CODE VIOLATION.” You would be required to complete an education program administered by the Honor System in order to have the “*” and notation “FAILURE DUE TO ACADEMIC HONOR CODE VIOLATION” removed from your transcript. The “F” however would be permanently on your transcript.
For additional information about the Honor Code, please visit: https://www.honorsystem.vt.edu/.
ECE 4550/5550G: Real-Time Systems/Advanced Real-Time Systems ¨ Spring 2023 3
Special Needs or Circumstances:
Any student with special needs or circumstances should feel free to meet with or otherwise contact the
instructor.
Disability accommodation:Reasonable accommodations are available for students who have documentation of a disability from a qualified professional. Students should work through Virginia Tech’s Services for Students with Disabilities (SSD). Any student with accommodations through the SSD Office
should contact the instructor during the first two weeks of the semester.
Religious accommodation: If participation in some part of this class conflicts with your observation of specific religious holidays during the semester, please contact the instructor during the first two weeks of
class to make alternative arrangements.
Accommodations for medical or personal/family emergencies: If you miss class due to illness, especially in the case of an exam or some deadline, see a professional in Schiffert Health Center (or a health care
provider if you are not in Blacksburg or do not have school insurance). If deemed appropriate, documentation of your illness will be sent to the Dean’s Office for distribution to the instructor. If you experience a personal or family emergency that necessitates missing class, contact the Dean of Students.
Course Topic Outline (tentative):
Topic
Introduction to Real-time Systems Basic Concepts
Aperiodic Task Scheduling Periodic Task Scheduling
Fixed Priority Servers
Handling Overload Conditions
Resource Access Protocols
Multiprocessor Scheduling
Resource-Constrained Scheduling
Real-time Operating Systems (Kernel Design, RTOSes)
Real-Time POSIX
Optional topic: Real-time Programming Languages (Real-Time Java) Optional topic: Real-Time Virtualization
Buttazzo
Chapter 1
Chapter 2
Chapter 3
Chapter 4
Chapter 5
Chapter 9, Lecture Notes Chapter 7
Lecture Notes
Lecture Notes
Chapters 10, 12, Lecture Notes Lecture notes
Lecture notes
Lecture notes
ECE 4550/5550G: Real-Time Systems/Advanced Real-Time Systems ¨ Spring 2023