Monday and Wednesdays, 10:30-11:50, in WeH4615-A
Who | e-mail address | Office, Phone |
Office Hours (or by appointment) |
Assistant | Office, phone |
|
Instructors | David Garlan | garlan@cs.cmu.edu | WeH 8020 (x8-5056) |
Mon 9:30-10:30 | Heather Marko | WeH 8120 (x8-2568) |
Rick Kazman | rkazman@sei.cmu.edu | SEI 5416 (x8-1588) |
Wed 9:00-10:00 | |||
Teaching Assistant | Shawn Hurley | shawnh@cs.cmu.edu | WeH 4615-1 (x8-8861) |
Fri 10:30-12:00 |
Architectures for Software Systems aims to teach you how to design, understand, and evaluate systems at an architectural level of abstraction. By the end of the course you should be able to:
Assignments and
Project
|
# | Assigned | Discuss | Due | Topic | |
Assignments | 1 | 1/21 | 2/2 | 2/9 | Pipes | |
2 | 2/9 | 2/16 | 2/23 | Objects | ||
3 | 2/25 | 3/11 | 3/18 | Events | ||
4 | 3/16 | 3/30 | 4/6 | Client-Server | ||
5 | 4/6 | none | 4/13 | Retrospective | ||
Project |   | 2/18 | 4/1,4/6,4/8 | 3/11 progress 4/22 final |
Design Task |
The main text for the course is Shaw and Garlan's Software Architecture: Perspectives on an Emerging Discipline [SG96]. The supplemental text is Jackson's Software Requirements and Specifications [Jac95]. In addition, we will read selected papers from other sources. Each lecture (after the first, of course) has hints and questions to guide your reading. Click the button in the Q/A column to see the hints and questions.
Citations in Bold refer to SG96. You are expected to read associated introductory material; for example, an assignment of Ch 4.2.1 includes the paragraph between the Section heading for 4.2 and the actual beginning of 4.2.1. Most of the supplemental readings are in the reading packet; a few others will be distributed during the semester.
Lec # |
Date | Major Topic | Lecture Title | Q & Hint |
Reading Assignment | Assignment & Project Events |
1 | M 1/12 | Introduction | (a) Overview, (b) Organization |
|||
2 | W 1/14 | History | Software Architecture in Perspective | Ch 1, Ch 2 (quick scan), DK76 (front section only), PN86 | ||
3 | M 1/19 | Problem Types | Problem Types and Problem Frames | Jac95(selected sections), Pol73, Rec92 | ||
4 | W 1/21 | Architectural Concepts and Issues | GMW97, SG95, Mor93 | A1 distributed | ||
5 | M 1/26 | Problem Frames (Case Study) | Jac95, Fin93 | |||
6 | W 1/28 | Data Flow | Batch sequential, pipeline, process control | Ch 2.2, 2.8, 4.2.1, 4.3.1, B+96 Ch1, 1-11, Ch2, 25-70 | ||
7 | M 2/2 | Tektronix case study | Ch 3.2 | A1 discussed | ||
8 | W 2/4 | Formal models for data flow | AG97b, 8.3.3, 8.3.4, 8.3.5 | |||
9 | M 2/9 | Procedure Call | Information hiding and objects | Ch 2.3, PCW85,Pre95Ch 1 (rec. Ch2) |
A1 due A2 assigned |
|
10 | W 2/11 | Modular decomposition issues: KWIC | Ch 2.3, 3.1, Par72 | F1 due | ||
11 | M 2/16 | Formal models for objects | Ch 6.1,6.7, Spi89, AAG93(selected pages) | A2 discussed | ||
12 | W 2/18 | Design and Evaluation | How to present a software architecture | ADS,Mar91 | Project assigned | |
13 | M 2/23 | Modifiability Analysis: SAAM | BCK(Ch 9) | A2 due | ||
14 | W 2/25 | Tradeoff Analysis: ATA Method | Ch 5, Kaz98 | A3 assigned | ||
15 | W 3/4 | Events | Models of event systems | Ch 2.4, 6.4-6.6, GKN92 | F2 due | |
16 | M 3/9 | Impl/Formalization of event systems
and Java extract |
Ch 7.3 Rei90, AAG93 | |||
17 | W 3/11 | Industrial Use of Event Systems | HLA97, AG97a | Project progress report due A3 due |
||
18 | M 3/16 | Information Systems | Client-Server Systems | OHE96 (pp. 149-169), Ber92 (Ch. 2) | F3 due A4 discussed |
|
19 | W 3/18 | Shared Information Systems: WWW | Ch 4, BCK (Ch. 7) | A3 due | ||
20 | M 3/30 | Blackboard Systems | Ch 2.6-2.7, Nii86 | A4 discussed | ||
21 | W 4/1 | Processes | Communicating process architectures | BR95, Ray95 | Project discussion | |
22 | M 4/6 | Patterns | Patterns and Taxonomies | Gam93, SC96, Kaz97 | A4 due, A5 assigned, Project discussion |
|
23 | W 4/8 |   | Component-Based Systems | Kon96, MT97b, CW98 | Project discussion | |
24 | M 4/13 | Case Studies in Patterns | Abo93, BC91 | A5 due | ||
25 | W 4/15 | Notations and Tools | Reverse Engineering of Architectures | KC97, MN97 | ||
26 | M 4/20 | Modern ADLs | Ch 7.1-7.2, 8.1-8.2, MT97a | |||
27 | W 4/22 | Mismatch | GAO95, Sha95a | Project due | ||
28 | M 4/27 | Projects | Final Presentations | , , | ||
29 | W 4/29 | Final Presentations | , |
We also offered this course in the spring of 1997. In case some of the materials are of interest, we have kept the Spring 1997 web site available.