Skip to the content of the web site.

ECE720T5, Fall 2012: Cyber-Physical Systems

General Information

Lecture Time: Wednesday 11:30AM - 2:20PM

Room: EIT 3141

Office Hour: Based on appointment

Syllabus

Calendar Description

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.

Course Description

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.

Lecture Material

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 Thursday 8AM 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:
  1. -
  2. -
Lecture 4: Predictable Computer Architectures - Memories Required Reading: Further References:
  1. -
  2. -
Lecture 5: Predictable Computer Architectures - Interconnects Required Reading: Further References:
  1. Performance Implications of Cache Affinity on Multicore Processors
  2. -
Lecture 6: Predictable Computer Architectures - Microarchitecture Required Reading: Further References:
  1. -
  2. -
Lecture 7: Predictable Computer Architectures - Heterogeneous Systems Required Reading:
  • none
Further References:
  1. PRET DRAM Controller: Bank Privatization for Predictability and Temporal Isolation
  2. -
Lecture 8: Real-Time OS Required Reading: Further References:
  1. Body Area Networks: A Survey
  2. -
Lecture 9-10: Timing and Performance Analysis Required Reading (9): Required Reading (10): Further References:
  1. -
  2. -
Lecture 11: Models and Verification Required Reading: Further References:
  1. Handling Mixed Criticality in SoC-based Real-Time Embedded Systems
  2. The SAE Architecture Analysis and Design Language (AADL)
  3. A Real-Time Streaming Memory Controller
Lecture 12: Student Presentations
  1. -
  2. -
  3. -
  4. -
  5. -
  6. -
  7. -
  8. -

Required Reading List

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.

Introduction to CPS

CPS Applications

Predictable Computer Architectures

OS Abstractions

Timing and Performance Analysis

Models and Verification

Paper Presentation List

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.

We will have a maximum of two 25 minutes presentations per class. Please allocate 20 minutes to cover the paper, plus 5 minutes per question.

CPS Applications

Predictable Computer Architectures

OS Abstractions

Timing and Performance Analysis

Models and Verification

Course Deadlines

List of deadlines for the course project - research track. Please see the syllabus and Lecture 1 slides for additional details.

  • Project proposal - Oct 13 8:00AM (note: moved from Oct 8)
  • Literature Review - Oct 29 8:00AM extended to Nov 1 8:00AM
  • Project presentation - during Lecture 12, Nov 28
  • Project report - Dec 8 8:00AM (morning of the day after final exam date)
  • Final - Dec 7

List of deadlines for the applied track. Please see the syllabus and Lecture 1 slides for additional details.

  • Midterm report - Nov 12 8:00AM
  • Project presentation - during Lecture 12, November 28
  • Project report - Dec 3 11:59PM (last day of class)
  • Final - Dec 7 12:30 - 3:00PM, EIT-3141

Final Exam

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.