This is a preliminary outline; the later weeks will be designed to cater for students in the course. The outline will be --now has been-- updated during the semester.
Read: Larman chapter.sections: 1.1-1.7 (i.e., pages 3-14), 2.1-2.7, and 3.
Larman ch 9, 10, 15.
Read Jackson ch 2 and do lessons 0 and I in the Alloy online tutorial (tutorial lesson 0 is in chapter 0.)
Here are the two Alloy model we developed in class today: airportClassroom.als and airportClassroomRevised.als.
Behavior: functional model (data flow, constraints as predicates on states, associations as relations); operation contracts (prose, tables, equations, pre/post). Expressing pre/post contracts in Alloy.
Larman ch 11, 16. Continue Alloy tutorial.
Here is the Alloy model we developed in class today: airportLocationsClassroom.als
Homework 1, due midnight 6 March: hw1-airport.als
More on operation contracts and checking invariants in Alloy.
Selected reading in Jackson ch 3 and 4.
Here are the examples I presented in class: MoveTiles0.als and MoveTiles1.als; here's the version with the revisions we did in class: MoveTiles1classroom.als
Design methodology: modularity, information hiding. Representation of associations.
Larman ch 12.
Homework 2, due midnight 23 March: hw2-confMgr.als
Project assignment handed out and discussed.
Design methodology: Behavioral subclassing and subtype polymorphism.
Introduction to design patterns.
Larman ch 17.
More on design patterns.
Expressing sequence diagrams and state diagrams in Alloy. Here is MoveTilesTimed.als
Review for exam.
Larman ch 25, 26.
Midterm exam
Initial project presentations.
Advanced control flow issues: callbacks, listeners and other patterns. Ownership: alias control for encapsulation.
Here is the example model DataRefExample.tgz (since it uses Alloy modules, your model path needs to include the directory that contains this directory).
Initial design due.
Revision: 1.2 , Date: 2006/03/20 03:26:45