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 19

Course introduction and administration.
Introduction to Embedded Systems.

Notes: Introduction

Syllabus
Chap. 1
 
Jan 21

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

Notes: The Synchronous Model Part I

Sect. 2.1  
Jan 26
Jan 28

The Synchronous Model. Reactive components and their properties.

Notes: The Synchronous Model Part I (updated)

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:
  • Safety Requirements Part I (updated)
  • Safety Requirements Part II
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:
  • The Asynchronous Model Part I
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.
Introduction to dynamical systems. General concepts and motivation. Feedback control loops. Brief recap of derivatives and differential equations.

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.
Zeno behavior. Zeno executions, states and processes. Examples. Zeno processes and reachability. Stability of hybrid systems.

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