6898: Advanced Topics in Software Design: Lecture Notes

Session 1: Mathematical Basics; by Bill Thies ( html, pdf)
A model that highlights the mistake I made in defining injectiveness


Session 2: Alloy Language ( slides in pdf)
slides in pdf, b&w for printing
Q and A, by Allison Waingold)
static routing model
visualization file
dynamic routing model
visualization file
To use visualization files, save to disk and load in Alloy's visualization window


Session 3: Modelling Idioms ( slides in pdf)
slides in pdf, b&w for printing
static routing model
dynamic, local states
dynamic, global state
dynamic, object-oriented
a visualization file
a model that illustrates under-determinedness in specification: Find
a model that illustrates instability in a sorting procedure


Session 4: Peer Review of Models (no notes)


Session 5: Model Presentations (no notes)


Session 6: Other Modelling Languages


Session 7: Analysis Patterns (slides in pdf)
slides in pdf, b&w for printing
Alloy model
Alloy visualization file


Session 8: Problem Frames (slides in pdf, b&w)


Session 9: Cardelli's Linking Model (slides in pdf)
slides in pdf, b&w for printing


Session 10: Units (Guest lecture, Robby Findler)


Session 11: Basics of Objective Caml (slides in pdf)
slides in pdf, b&w for printing


Session 12: Modules in Objective Caml (slides in pdf)
slides in pdf, b&w for printing
sample code


Session 13: Aspect- and Feature-Oriented Programming
blackboard lecture, no notes.


Session 14: Peer Review, Program Structure
no notes.


Session 15: Design Patterns in a Dynamic Language
Guest speaker: Greg Sullivan (html, pdf, ppt)


Session 16: Decoupling 1 (slides in pdf)
slides in pdf, b&w for printing


Session 17: Decoupling 2

Exercises and discussion in applying new notion of dependence: polymorphic containers, factories, etc.


Session 18: Decoupling 3

Design Structure Matrix: discussion of Eppinger papers


Session 19: Decoupling 4

Axiomatic Design: discussion of independence axiom, applications to software


Session 20: Hints on Research Strategy
slides in pdf)
slides in pdf, b&w for printing

Design Structure Matrix: discussion of Eppinger papers Suh book