Lectures

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.
Introduction to Embedded Systems.

Notes: Introduction

Syllabus
Chap. 1
 
Jan 24

More on Embedded systems.
The synchronous model of reactive computation. Reactive components.

Notes:

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.
Dividing code reactions into tasks. Task graphs, await dependencies and schedules.
Parallel composition of components. Formal definitions.



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.
Designing synchronous systems. Bottom-up vs. top-down design. Examples.
Synchronous networks.

Notes:
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.
Safety and progress requirements. Asynchronous design primitives. Synchronization. Deadlocks. Shared memory. The mutual exclusion problem.

Notes:
  • The Asynchronous Model Part I (revised)
  • The Asynchronous Model Part II
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.
Asynchronous coordination protocols. Leader election. Reliable transmission.

Notes:
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.
Specifying liveness requirements. Introduction to Linear Temporal Logic. Syntax and semantics.

Notes:
  • The Asynchronous Model Part III (revised)
  • Liveness Requirements Part I
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:
  • Liveness Requirements Part I
  • Liveness Requirements Part II (revised)
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:
  • Dynamical Systems Part I (revised)
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.

Introduction to hybrid systems. Hybrid dynamical models. Motivation and examples. Formal definition of hybrid systems. Executions. Composition of hybrid processes. Examples.
Zeno behavior. Examples.

Notes:
  • Dynamical Systems Part IV (revised)
  • Hybrid Systems Part I (revised)
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.
Designing Hybrid Systems. Examples.

Notes:
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
s