ECE 720 topic 5 - Cyber-Physical Systems
General Information
Instructor:
Rodolfo
Pellizzoni,
E5
4113,
rpellizz@uwaterloo.ca
Lecture
Time:
11:30AM-02:20PM
Tuesday
Room:
EIT
3151
Office
Hour:
Based
on
appointment
See
the
course
website
for
more
details.
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 Objectives
- Introduce the challenges in CPS design and how they correlate to the areas of computer architecture and system programming.
- Provide a multidisciplinary overview of key topics in CPS design.
- Appreciate the CPS requirements of timeliness, composability and predictability and be able to apply them to the design of computing architectures.
- Teach essential skills to perform research and development in the CPS field.
Detailed 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.
Course Outline
The following topics will be covered in class; the number of hours per topic and the detailed content is approximate.
Introduction
to
CPS
(3h)
CPS
as
the
next
evolution
of
embedded
systems.
Key
issues
in
CPS
design:
timing
predictability,
verification
and
certifiability,
integration
and
composability,
modeling
and
abstraction,
COTS
components
and
time-to-market.
Overview
of
topics
covered
in
the
course.
Research
opportunities
in
CPS.
Introduction
to
course
project.
Introduction
to
Real-Time
Systems
(3h)
Task
model.
Quality
of
service.
Interplay
between
timing
properties
and
digital
control.
Basic
schedulability
results.
The
worst-case
execution
problem.
The
end-to-end
delay
problem.
Applications
of
Cyber-Physical
Systems
(3h)
Overview
of
CPS
applications.
IMA
(Integrated
Modular
Avionics)
design.
Issues
in
ARINC
653.
AUTOSAR
(AUTomotive
Open
System
ARchitecture).
Further
examples
of
medical
systems,
power
grid
control,
monitoring
applications.
Predictable
Computer
Architectures
(12h)
Impact
of
architectural
features
on
predictability.
Controllable
pipelines.
Cache
partitioning
strategies.
Scratchpad
memories.
Bus
scheduling.
Network-on-chips
and
real-time.
Predictable
memory
controllers.
Heterogeneous
systems
(FPGA,
GPGPU).
Predictable
OS
Abstractions
(3h)
Overview
of
Real-Time
OS
and
Hypervisors.
Interrupt
scheduling.
Hierarchical
and
component-based
OS.
Predicable
task
execution.
Parallel
execution
models.
Timing
and
Performance
Analysis
(6h)
Overview
of
static
analysis
methodologies.
Measurement-based
techniques.
Cache,
bus
and
memory
analyses.
Real-time
queuing
theory.
Network
calculus.
Real-time
calculus.
Introduction
to
Models
of
Computation
and
Verification
for
CPS
(3h)
Hybrid
models.
Timing
verification.
Hardware
run-time
monitoring.
Tools
and
architectural
description
languages.
Project
Seminar
(3h)
Project
presentations
in
class.
Prerequisites
Undergraduate-level knowledge of computer architecture (ECE429) and operating systems (ECE354/254), or consent of instructor. Previous exposure to real-time embedded systems is welcomed but not required.
Reference Material
There is no required textbook. Papers and lecture notes will be provided on the course website.
Students with no previous background in real-time systems may consider one of the following texts:
- J. Liu: Real-Time Systems. Prentice Hall, 2000.
- G.C. Buttazzo: Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications. Springer, 2011.
Lectures on performance analysis will use material from:
- J.Y. Le Boudec, P. Thiran: Network Calculus. Springer, 2001.
Evaluation
- Lecture Participation 5%
- Seminar Presentation 10%
- Project Milestones 25%
- Project Presentation 10%
- Final Exam 50%
Lecture participation: lectures will consist of a mix of instructor’s presentations and discussion of research articles. Lecture participation is measured by physical presence in the class room and participation in paper discussion. Students will be assigned 2-3 papers to read every week.
Seminar presentation: each student will be asked to provide a formal seminar presentation during lecture. Each seminar presentation will cover one or two 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. Presentations will be evaluated based on the quality of presentation material, clarity of exposition, and ability to critique the paper content. The instructor will accommodate student preferences for seminar topic and schedule whenever possible.
Course project: the course includes a project by each student on a topic of his/her choice related to the course content. Project ideas will be presented at the beginning of the course, but PhD and MASc students are especially encouraged to formulate new ideas or apply existing ideas in the CPS field to their own research. Group projects are acceptable if the size of the project warrants it and responsibilities within the group are clearly defined. A more structured project option will be offered to MEng students, albeit they are free to choose the research option. Each project will be evaluated based on: 1) intermediate milestones during the course, including a project proposal and literature review for the research option; 2) an in-class final project presentation, to be held during the last course lecture. The final exam will also incorporate project topics.
The instructor reserves the right to grade exams on a curve.
Relevant University Policies
- Academic integrity: In order to maintain a culture of academic integrity, members of the University of Waterloo community are expected to promote honesty, trust, fairness, respect and responsibility.
- Grievance: A student who believes that a decision affecting some aspect of his/her university life has been unfair or unreasonable may have grounds for initiating a grievance. Read Policy 70, Student Petitions and Grievances, Section 4. When in doubt please be certain to contact the department’s administrative assistant who will pro- vide further assistance.
- Discipline: A student is expected to know what constitutes academic integrity to avoid committing an academic offence, and to take responsibility for his/her actions. A student who is unsure whether an action constitutes an offence, or who needs help in learning how to avoid offences (e.g., plagiarism, cheating) or about “rules” for group work/collaboration should seek guidance from the course instructor, academic advisor, or the undergraduate Associate Dean. For information on categories of offences and types of penalties, students should refer to Policy 71, Student Discipline. For typical penalties check Guidelines for the Assessment of Penalties.
- Appeals: A decision made or penalty imposed under Policy 70 (Student Petitions and Grievances) (other than a petition) or Policy 71 (Student Discipline) may be appealed if there is a ground. A student who believes he/she has a ground for an appeal should refer to Policy 72 (Student Appeals).
- Note for students with disabilities: The AccessAbility Services, located in Needles Hall, Room 1132, collaborates with all academic departments to arrange appropriate accommodations for students with disabilities without compromising the academic integrity of the curriculum. If you require academic accommodations to lessen the impact of your disability, please register with the AccessAbility Services at the beginning of each academic term.