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 |
||