Lecture Time: Tuesday 11:30AM - 2:20PM
Room: EIT 3151 Moved to EIT 3141
Office Hour: Based on appointment
This course covers concepts, theory and research issues in safety-critical embedded systems and Cyber-Physical Systems (CPS), with a focus on the architectural design and analysis of the underlying hardware/software computing system.
Topics include: challenges in CPS design, predictable computer architectures, scheduling of hardware resources, operating system abstractions for CPS, timing and performance analysis, modeling and verification, CPS applications.
Cyber-Physical Systems (CPS) are systems featuring a tight integration of computation with physical processes. Applications of CPS include new generation automotive systems, high confidence medical devices, avionics, smart power infrastructure, process control, distributed robotics, and others. All such systems exhibit stringent real-time and safety requirements: computation must progress in parallel with physical processes in the environment, and system disruption can lead to catastrophic consequences. Compared to traditional embedded systems, the vision for CPS calls for open, interconnected systems rather than closed, "black box" devices.
The goal of this course is to introduce the students to the key challenges, design methodologies and research directions in the field of cyber-physical systems, with an emphasis on the design of the underlying computing architecture. In particular, we will show how CPS requirements of predictability and reliability lead to significant changes in the hardware architecture, and we will study state-of-the-art solutions in this area. Due to the multidisciplinary nature of CPS design, the course will also touch on related topics, including: predictable operating system abstractions, timing analysis, modeling and verification.
You should make sure to read the required papers before coming to class. The list of required papers for a given class will be published by Wednesday 11:59PM the week before. You are not required to read the other references, but you might want to keep a copy on hand because they might be discussed in class.
Lecture Topic | Slides | Papers | Student Presentations |
---|---|---|---|
Lecture 1: Introduction to CPS and Course Overview | |||
Lecture 2: Introduction to Real-Time Systems | Required Reading: Further References: | ||
Lecture 3: CPS Applications | Required Reading: Further References: | ||
Lecture 4: Predictable Computer Architectures - Memories |
Required Reading:
|
||
Lecture 5: Predictable Computer Architectures - Interconnects | Required Reading: Further References: | ||
Lecture 6: Predictable Computer Architectures - Microarchitecture | Required Reading: Further References: | ||
Lecture 7: Predictable Computer Architectures - Heterogeneous |
Required Reading:
|
||
Lecture 8: OS | Required Reading: Further References: | ||
Lecture 9: Timing Analysis 1 | Required Reading: Further References: | ||
Lecture 10: Timing Analysis 2 |
Required Reading:
|
||
Lecture 11: Models and Verification | Required Reading: Further References: | ||
Lecture 12: Project Presentations |
Required Reading:
|
This is a list of papers that will be required reading during the course. Please see the table above to determine which papers are assigned for each class. You can not select one of these papers for your formal presentation. For students selecting the applied track, the final exam will be focused on the required papers and additional instructor slides. I reserve the right to change this list before the end of the course.
Each student is required to provide a formal seminar presentation during lecture. Each seminar presentation covers one or two related research papers and shall provide an introduction followed by sufficient details for the class to understand the motivation, problems, and main solutions provided by the authors. Papers can be selected from the list below (divided by topic). If you wish to cover a different but related topic, please contact the instructor.
This year, each presentation will be allocated a 18 minutes slot + 5 minutes for questions. The presentation will be run "conference style", i.e., all questions will be asked at the end. Keep into mind this essential points when preparing your presentation:
You will be evaluated based on: 1. oral presentation 2. slides quality and organization 3. content. To simplify running the presentation during class, if possible provide your slides to the instruction in either .pdf or powerpoint format before the start of the lecture (either by email of USB stick). If you prefer to use a different file format, you can alternatively use your own laptop.
List of deadlines for the course project - research track. Please see the syllabus and Lecture 1 slides for additional details.
List of deadlines for the applied track. Please see the syllabus and Lecture 1 slides for additional details.
This is an example text for the final exam, research track. Students will be generally assigned a topic close to their interests. The actual number of questions in the exam could be different from the exam, but it will be similarly structured.
The final exam for the applied track consists of a traditional 2 hours and 30 mins written exam. See Lecture 1 slides for more details. This is an example set of questions for the final exam, applied track - note that the question set is not necessarily representative of the length of the exam, but it covers the main types of questions that will appear in the exam.