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 22 |
Course introduction and administration.
|
Syllabus
Chap. 1 |
|
Jan 24 |
More on Embedded systems.
|
Sect. 2.1 | |
Jan 27-31 |
The Synchronous Model.
Reactive components and their properties.
Deterministic vs. non-deterministic,
Combinational vs. stateful components.
Event triggered components.
Notes: |
Sect. 2.1-2.4 | 2.1, 2.2, 2.4, 2.5, 2.7, 2.9 2.12, 2.13 |
Feb 3-7 |
Parallel composition of components.
|
Sect. 2.3-2.4 | 2.6, 2,15, 2.17 |
Feb 10-14 |
Safety Requirements. Transition systems. Safety properties and invariants. Verifying invariants. Inductive strengthening. Examples of inductive proofs. Requirement-based design. Complexity of automated invariant verification. Notes: |
Sect. 3.1-3.2
Sect. 3.4 (recommended) |
3.1, 3.6, 3.8, Exercises in class notes |
Feb 17-21 |
Introduction to the Asynchronous Model.
Asynchronous processes.
Input, output channels, states and tasks.
Executions and interleaving semantics.
Asynchronous parallel composition.
|
Sect. 4.1-4.2 |
4.2, 4.4, 4.5 Exercises in class notes |
Feb 24-26 |
Fairness assumptions. Weak and strong fairness.
Correctness under fairness assumptions.
|
Sect. 4.2-4.3 except 4.3.3 | Exercises in class notes |
Apr 27 |
Midterm I |
||
Mar 2-6 |
More on asynchronous coordination protocols.
The alternating bit protocol.
Wait-free consensus.
|
Sect. 4.3, except proof of Theorem 4.1 Sect. 5.1 |
|
Mar 9-13 |
Derived LTL operators. Specifying system requirements in LTL. Examples. LTL equivalences. LTL specifications. Encoding fairness assumptions in LTL. Examples. Correspondence between LTL formulas and Büchi automata. Examples. Checking LTL properties of reactive systems by reduction to Büchi automata. Notes: |
Sect. 5.1-5.2.1
Sec 5.2.2, 5.2.4 (recommended) |
Exercises in class notes |
Mar 17-26 |
Extended spring break |
||
Mar 30 - Apr 6 |
The timed model. Clocks. Motivation and examples. Formal definition. Parallel composition. Modeling imperfect clocks. Timed based protocols. Examples. Notes: |
Sect. 7.1-2 |
Exercises in class notes +
7.1, 7.2 |
Apr 8-10 |
Introduction to dynamical systems. General concepts and motivation. Feedback control loops. Examples of continuous-time components. Brief recap of derivatives and differential equations. Continuous-time components: definition and examples. Sufficient conditions for the existence and uniqueness of executions. Notes:
|
Sect. 6.1 | 6.1 |
Apr 13-17 |
More on dynamical systems. The pendulum example. Equilibria and Stability. Lyapunov and input-output stability. Linear systems. Solving linear differential equations. Notes and readings:
|
Sect. 6.1, 6.2 Chap. 2 of Hefferon (as needed) |
6.1, 6.4, 6.6 |
Apr 20-24 |
Designing controllers.
Open- and closed-loop controllers.
Stabilizing controllers.
Gain matrix and controllability for linear systems.
PID controllers.
|
Sect. 6.3, 9.1 | 9.2 |
Apr 27 |
Midterm II |
||
Apr 29 - May 1 |
Zeno executions, states and processes.
Zeno processes and reachability.
Stability of hybrid systems.
|
Sect. 9.1,9.2 | 9.5 |
May 4-8 |
Modeling and checking reactive systems with the Kind 2 model checker. Modeling examples from the textbook in Kind 2. Notes:
|
Experiment with Kind 2 examples online | |