
Questions Schedule Lec. Notes Videos KeYmaera X Piazza Autolab Grand Prix 

 DESCRIPTION:

Cyberphysical 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 safetycritical 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 cyberphysical 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.
The cornerstone of our course design are hybrid programs (HPs), which capture relevant dynamical aspects of CPSs in a simple programming language with a simple semantics. One important aspect of HPs is that they directly allow the programmer to refer to realvalued variables representing real quantities and specify their dynamics as part of the HP.
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 safetycritical 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.
 NEWS:

 KeYmaera X is being updated frequently for this course.
 The preparatory assignment (theory assignment 0) is due in the first week of class.
 PREREQUISITES:

 15122 Principles of Imperative Computation (or equivalent)
 and 21122 Integration, Differential Equations, and Approximation (or equivalent)
 and (15251 Great Theoretical Ideas in Computer Science or 21241 Matrix algebra or 18202 Mathematical Foundations of Electrical Engineering or equivalent)
This course counts as a Logics/Languages elective in the Computer Science curriculum or as fulfilling the Programming Languages star requirement.  TEXTBOOK: (optional)


André Platzer.
Logical Analysis of Hybrid Systems:
Proving Theorems for Complex Dynamics.
Springer, Heidelberg, 2010. 426 pages. ISBN 9783642145087.
[bib  doi  book  web  errata  abstract]

André Platzer.
Foundations of CyberPhysical Systems.
Lecture Notes, Computer Science Department, Carnegie Mellon University. 2016.
[bib  pdf  textbook  course  abstract]

André Platzer.
 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 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 02/25 during lecture time. Closed book, one doublesided sheet of handwritten notes permitted. Final: 150 points, Thu 04/07 during lecture time. Closed book, one doublesided sheet of handwritten notes permitted. Grand Prix: Thu 05/05, 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 Brandon Bohrer, on advancing KeYmaera X.