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.12.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.32.4  2.6, 2,15, 2.17 
Feb 9 Feb 11 
Safety Requirements. Transition systems. Safety properties and invariants. Verifying invariants. Notes:

Sect. 3.13.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. Requirementbased design. Notes: 
Sect. 3.13.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. Waitfree 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 inputoutput 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 closedloop 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 
