This page gives highlights of past lectures and provides lecture notes, reading assignments, and exercises.
Chapters and sections in readings are from the textbook, and so are exercises.
| Dates | Topics | Readings | Exercises | 
|---|---|---|---|
| Jan 19 | 
 
Course introduction and administration.
  | 
Syllabus
 Chap. 1  | 
|
| Jan 21 | 
 
More on Embedded systems.
  | 
Sect. 2.1 | |
| 
Jan 26 Jan 28  | 
 
The Synchronous Model. 
Reactive components and their properties.
  | 
Sect. 2.1-2.2 | 2.1, 2.2, 2.4, 2.5, 2.7, 2.9, 2.12, 2.13 | 
| 
Feb 2 Feb 4  | 
 Task graphs and await dependencies. Parallel composition of components. Designing synchronous systems. Notes: | 
Sect. 2.3-2.4 | 2.6, 2,15, 2.17 | 
| 
Feb 9 Feb 11  | 
 Safety Requirements. Transition systems. Safety properties and invariants. Verifying invariants. Notes:
  | 
Sect. 3.1-3.3 | 3.1, 3.6, 3.8 | 
| 
Feb 16 Feb 18  | 
 More on verifying invariants. Inductive strengthening. Examples of inductive proofs. Complexity of automated invariant verification. Requirement-based design. Notes: | 
Sect. 3.1-3.3 | Exercises in class notes (Part I and II) | 
| 
Feb 23 Feb 25  | 
 Introduction to the Asynchronous Model. Asynchronous processes. Input, output channels, states and tasks. Executions and interleaving semantics. Asynchronous parallel composition. Safety requirements. Notes:
  | 
Sec. 4.1 | 4.2, 4.4, 4.5 | 
| 
Mar 1 Mar 3  | 
 Asynchronous design primitives. Synchronization. Deadlocks. Shared memory. The mutual exclusion problem. Fairness assumptions. Weak and strong fairness. Correctness under fairness assumptions. Notes:
  | 
Sec. 4.2 | Exercises in class notes | 
| Mar 8 | 
 Asynchronous Coordination protocols. Leader election. Reliable transmission. Wait-free consensus. Notes:
  | 
Sec. 4.3 | |
| Mar 10 | 
 Midterm  | 
||
| 
Mar 15 Mar 17  | 
 Spring break  | 
||
| Mar 22 | 
 Discussion of midterm and midterm solutions.  | 
Sample midterm solution | |
| Mar 24 | 
 
More on midterm solution: proof of inductiveness and invariance. 
  | 
Sec. 6.1 | |
| 
Mar 29 Mar 31  | 
 Continuous time components: definition and examples. Sufficient conditions for the existence and uniqueness of executions. Notes: | 
Sec. 6.1 | 6.1, 6.4, 6.6 | 
| 
Apr 5 Apr 7  | 
 More on dynamical systems. Equilibria and Stability. Lyapunov and input-output stability. Linear systems. Solving linear differential equations. Eigenvalues and Eigenvectors. Similarity transformations. Stability analysis for linear systems. Notes: | 
Sec. 6.1, 6.2 | |
| Apr 12 | 
 Designing controllers. Open- and closed-loop controllers. Stabilizing controllers. Gain matrix and controllability for linear systems. PID controllers. Notes:
  | 
Sec. 6.3 | |
| Apr 14 | 
 Introduction to hybrid systems. Hybrid dynamical models. Motivations and examples. Notes:
  | 
Sec. 9.1 | |
| 
Apr 19 Apr 21  | 
 
More on hybrid systems.
Formal definition.
Executions.
Composition of hybrid processes. Examples.
 
  | 
Sec. 9.1 | 9.2, 9.5 | 
| Apr 26 | 
 Designing hybrid systems. Examples and discussion. Notes:
  | 
Sec. 9.2 | |
| Apr 28 | 
 The timed model. Clocks. Motivation and examples. Formal definition. Notes: | 
Sec. 7.1 | |
| 
May 3 May 5  | 
 More on the timed model. Parallel composition. Modeling imperfect clocks. Timed based protocols. Examples. Notes: | 
Sec. 7.2 | 
Exercises in class notes
 7.1, 7.2  | 
| May 9 | 
 Final  | 
||