15-424: Foundations of Cyber-Physical Systems (Sp'17)

15-424 Foundations of Cyber-Physical Systems
15-624 Foundations of Cyber-Physical Systems
15-824 Foundations of Cyber-Physical Systems
(Spring 2017)
Instructor: André Platzer
(office: Thu 4:00-5:00, GHC 9103)
Teaching
Assistant:
Brandon Bohrer
(office: Wed 5:00-7:00, GHC 5215 study carrel)
Units: 12
Semester: Spring 2017
Time: Tue+Thu noon-1:20
Place: GHC 4307
Recitation: Fri 3:00-4:20 in GHC 4307
The respective sections of this course are listed in the Computer Science Department as 15-424/15-624/15-824, respectively, at Carnegie Mellon University. The 15424 Foundations of CPS course counts as a Logics/Languages elective in the Computer Science curriculum. The 15824 Foundations of CPS course counts as fulfilling the Programming Languages star requirement.
Questions
Schedule Videos KeYmaera X Piazza Autolab Grand Prix
15-424: Foundations of Cyber-Physical Systems -- Schedule (Spring 2017)
DESCRIPTION:
Cyber-physical systems (CPSs) combine cyber capabilities (computation and/or communication) with physical capabilities (motion or other physical processes). Cars, aircraft, and robots are prime examples, because they move physically in space in a way that is determined by discrete computerized control algorithms. Designing these algorithms to control CPSs is challenging due to their tight coupling with physical behavior. At the same time, it is vital that these algorithms be correct, since we rely on CPSs for safety-critical tasks like keeping aircraft from colliding. In this course we will strive to answer the fundamental question posed by Jeannette Wing:
"How can we provide people with cyber-physical systems they can bet their lives on?"
 

Students who successfully complete this course will:

  • Understand the core principles behind CPSs.
  • Develop models and controls.
  • Identify safety specifications and critical properties of CPSs.
  • Understand abstraction and system architectures.
  • Learn how to design by invariant.
  • Reason rigorously about CPS models.
  • Verify CPS models of appropriate scale.
  • Understand the semantics of a CPS model.
  • Develop an intuition for operational effects.

This course will give you the required skills to formally analyze the CPSs that are all around us -- from power plants to pace makers and everything in between -- so that when you contribute to the design of a CPS, you are able to understand important safety-critical aspects and feel confident designing and analyzing system models. It will provide an excellent foundation for students who seek industry positions and for students interested in pursuing research.

PREREQUISITES:
  • 15-122 Principles of Imperative Computation (or equivalent)
  • and 21-122 Integration, Differential Equations, and Approximation (or equivalent)
  • and (15-251 Great Theoretical Ideas in Computer Science or 21-241 Matrix algebra or 18-202 Mathematical Foundations of Electrical Engineering or equivalent)
As elaborated in the syllabus, the course assumes prior exposure to basic computer programming and mathematical reasoning. This course covers the basic required mathematical and logical background of cyber-physical systems. You will be expected to follow the lecture notes and extra background reading material, which we will provide, as needed.
The 15-424 course counts as a Logics/Languages elective in the Computer Science curriculum. The 15-824 course fulfills the Programming Languages star requirement.
TEXTBOOK:
  1. André Platzer.
    Foundations of Cyber-Physical Systems.
    Lecture Notes, Computer Science Department, Carnegie Mellon University. 2017.
    [bib | course | abstract]

METHOD OF EVALUATION:
Grading will be based on a set of homework assignments (22%), labs (51%) including a final project entering the CPS V&V Grand Prix worth 22%, a midterm exam (11%), a final exam (11%), and active participation in class and in online comments (5%). Grading is based on the point total of 1360 points giving the above percentages approximately. The exact distribution of points is still in flux but will work roughly as indicated.
Midterm: 150 points, Thu 03/02 during lecture time. Closed book, one double-sided sheet of hand-written notes permitted.
Final: 150 points, Thu 04/13 during lecture time. Closed book, one double-sided sheet of hand-written notes permitted.
Grand Prix: Thu 05/11, CPS V&V Grand Prix for presenting final projects to a panel of experts in CPS.

The instructors greatly appreciate the help by other members of the Logical Systems Lab, especially Stefan Mitsch and Nathan Fulton, on advancing KeYmaera X.