We shall look at problems in the formal modeling, verification and validation of embedded real-time control systems. More and more computer systems interact with the physical world: from medical devices to automobiles to smart power grids. The design and analysis of these cyber-physical systems is difficult, as they must integrate the physical world with the discrete world of computation. This course will study formal techniques underlying the design and analysis of embedded computation. This is an active research area, and part of the course objective is to provide a coherent introduction to this emerging discipline. The first two-thirds of the class will consist of lectures covering the basic theory of cyber-physical systems. The last one-third will focus on recent research literature in the area.
The course requires basic mathematical maturity, and is suitable for students with undergraduate background in computer science, computer engineering, or electrical engineering. I will assume basic familiarity with algorithms and logic, but try to keep the course self-contained. Background in formal verification (e.g., CS 234) or control systems will be helpful, but not necessary.
Potential project topics, both theoretical and experimental, will be announced during the first weeks of the course. Any suggestions for designing your own project according to your interests are very welcome. Every project will require a mentor. Projects will involve verifying or validating a system using existing tools, or extending the capabilities and applicability of existing tools by implementing new algorithms or proving new theorems.
Students may collaborate on homeworks, but each student needs to individually write up a solution set and be prepared to present it in class on the due date. Paper presentations will be done in groups. Projects must be done individually, or as clearly identifiable parts of a larger effort.
Lecture 1 Monday September 28
Introduction to cyber-physical systems.
Finite state systems.
Lecture 2 Wednesday September 30
Model checking for safety properties. Reachability analysis.
Lecture 3 Monday October 5
Symbolic model checking.
Invariants and invariant checking.
Temporal logics and temporal logic model checking.
Source materials:
CS234
lecture notes
BDDs
Clarke, Grumberg, and Peled. Model Checking. MIT Press.
Lecture 4 Wednesday October 7
No class.
Homework 1 is available.
Lecture 5 Monday October 12
Fairness and fair CTL model checking.
Discrete state control problems.
Lecture 6 Wednesday October 14
Games on graphs. Reachability, safety, and Parity games.
Source materials:
W. Zielonka. Infinite games on finitely colored
graphs with applications to automata on infinite trees.
Marcin Jurdzinski, Mike Paterson, and Uri Zwick.
A Deterministic Subexponential Algorithm for Solving Parity Games.
Proceedings of ACM-SIAM Symposium on Discrete Algorithms, SODA 2006.
Lecture 7 Monday October 19 Solution of parity games. Continuous systems -- control.
Lecture 8 Wednesday October 21
Continuous systems -- definition of stability.
Source materials:
There are many excellent textbooks on control.
I am mentioning two of them (both available online).
The second is more mathematically advanced.
Richard Murray Feedback Systems: An Introduction for Scientists and Engineers
Eduardo Sontag, Mathematical Control Theory
We only cover small portions of either text.
Lecture 9 Monday October 26 No class.
Lecture 10 Wednesday October 28
Lyapunov functions.
HW 2 is available.
Important: Disprove the last problem.
Lecture 11 Monday November 2
Common ideas between discrete and continuous systems:
(a) Barrier certificates and inductive invariants.
(b) Lyapunov functions and rank functions.
Timed automata.
R. Alur. Timed automata.
R. Alur and D. Dill. A Theory of timed automata.
Lecture 12 Wednesday November 4
Region graph construction.
Hybrid automata.
R. Alur et al. The algorithmic
analysis of hybrid systems
T. Henzinger.
The theory of hybrid automata
Lecture 13 Monday November 9
Symbolic model checking for timed and linear
hybrid systems. Uppaal. HyTech.
Symbolic computation for linear systems.
Reduction to the theory of reals.
T. Henzinger.
Hybrid automata with finite bisimulations
Gerardo Lafferriere, George J. Pappas, and Sergio Yovine.
Symbolic Reachability Computation for Families of
Linear Vector Fields
Wednesday November 11 Veteran's day. No class.
Lecture 14 Monday November 16 Symbolic reachability continued. Simulation and bisimulation on systems. Metrics -- motivation.
Homework 3 Read the following three research papers.
Lecture 15 Wednesday November 18
Metrics on systems.
Source: Paulo Tabuada's textbook.
Lecture 16 Monday November 21
Real time scheduling.
Liu and Layland. Scheduling Algorithms for Multiprogramming in a Hard-
Real-Time Environment.
Lecture 17 Wednesday November 23
Real-time programming with Giotto and the E-machine.
T. Henzinger, B. Horowitz, and C. Kirsch.
Giotto: A Time triggered
language for embedded programming.
Thomas A. Henzinger and Christoph M. Kirsch.
The Embedded Machine: Predictable, Portable Real-Time Code
For general discussions on requirements of real-time programming models,
see the following (very well-written) position papers.
Edward Lee. Computing needs time.
Edward Lee. Time is a resource
and other stories.
Edward Lee.
Cyber Physical Systems: Design Challenges
.
Tom Henzinger.
Two challenges in embedded systems design.
The end term exam is now available. Please try to work on the exam individually.
Lecture 18 Monday November 30
Probabilistic concurrent games.
Luca de Alfaro and Rupak Majumdar. Quantitative solution of
concurrent games.
Lecture 19 Wednesday December 2
Continuation on probabilistic games.
K. Chatterjee and T. Henzinger.
A survey of stochastic omega-regular games.
That's all folks!