Lecture slides for first 2/3 of course available here.
Lecture slides for last 1/3 available here.
I recommend that you read the material associated with each lecture before attending the class.
| Overview | |||||
| 9/2 | [We] | Introduction | Barnes § 1, Eiffel Software | ||
| Programming using Design by Contract, SPARK Approach | |||||
| 9/7 | [Mo] | HOLIDAY - MSU CLOSED | |||
| [We] | Language Principles | Barnes § 2 and King et.al. | |||
| 9/14 | [Mo] | SPARK Analysis tools | Barnes § 3 | ||
| [We] | SPARK structure, type model, control & data flow | Barnes § 4-6 | |||
| 9/21 | [Mo] | Packages and visibility | Barnes § 6-7 | ||
| [We] | SPARK tools and information flow analysis | Barnes § 9 | |||
| 9/28 | [Mo] | Information flow analysis | Barnes § 10 or Bergeretti & Carre | ||
| [We] | Verification | Barnes § 11 | |||
| 10/5 | [Mo] | CLASS CANCELLED | |||
| [We] | Generating and proving verification conditions | Barnes § 11 | |||
| Analytical modeling of software designs, Part 1: Sequential systems | |||||
| 10/12 | [Mo] | Alloy: A notation for representing pure abstractions | Jackson § 1-2 | ||
| [We] | Logical models of the states/operations of a sequential system | Jackson § 3 | |||
| 10/19 | [Mo] | Assertions and assertion checking | Jackson § 4 | ||
| [We] | Modeling program executions | ||||
| 10/26 | [Mo] | CLASS CANCELLED | |||
| [We] | Analysis: Methods and tools for probing abstractions | Jackson § 5 | |||
| Analytical modeling of software designs, Part 2: Concurrent systems | |||||
| 11/2 | [Mo] | Concurrent programs | Magee and Kramer § 1 | ||
| [We] | FSP: A notation for specifying processes | Magee and Kramer § 2 | |||
| 11/9 | [Mo] | Parallel composition and process labeling | Magee and Kramer § 3 - 3.1.3 | ||
| [We] | Static combinators and structure diagrams | Magee and Kramer § 3 | |||
| 11/16 | [Mo] | Shared objects and mutual exclusion | Magee and Kramer § 4 | ||
| [We] | Monitors and condition synchronization | Magee and Kramer § 5 | |||
| 11/23 | [Mo] | Deadlock | Magee and Kramer § 6 | ||
| [We] | Safety and liveness properties | Magee and Kramer § 7 | |||
| 11/30 | [Mo] | Model-based design | Magee and Kramer § 8 | ||
| [We] | Temporal logic | TBD | |||
| 12/7 | [Mo] | Temporal logic, model checking | TBD | ||
| Project presentations | |||||
| 12/9 | [We] | Project presentations | |||
| 12/14 | [Mo] | Project presentations and pizzza | |||