Monday and Wednesdays, 10:30-11:50, in WeH3412
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 | Charlie Goldstein | WeH 8120 (x8-2568) |
Mary Shaw | mary.shaw@cs.cmu.edu | WeH 8109 (x8-2589) |
Thur 10:00-11:00 | Margaret Weigand | WeH 8107 (x8-3063) |
|
Teaching Assistant | Elizabeth Bigelow | ebigelow@cs.cmu.edu | WeH 4615 (x8-8187) |
Tues 4:30-5:30 |
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/22 | 2/5 | 2/12 | Pipes | |
2 | 2/3 | 2/17 | 2/24 | Objects | ||
3 | 2/17 | 2/26 | 3/12 | Events | ||
4 | 3/10 | none | 4/2 | Formal Models | ||
5 | 4/7 | none | 4/14 | Retrospective | ||
Project | Progress Report |
2/10 | 4/2 , 4/7 4/9 , |
3/21 (writeup) |
See project group descriptions |
|
Final Report |
2/10 | 4/28,
,
4/30, |
4/23 (writeup) |
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/13 | Introduction | (a) Organization, (b) Architecture Overview | |||
2 | W 1/15 | History | Software architecture in perspective | Ch 1, Ch 2 (quick scan), DK76 (omit last section), PN86 | ||
3 | M 1/20 | Problem Types | Problem types and problem frames | Jac95, Pol73, Rec92 | ||
4 | W 1/22 | Problem frames (case study) | Jac95, Fin93 | A1 distributed | ||
5 | M 1/27 | Data Flow | Batch sequential, pipeline, process control | Ch 2.2, 2.8, 4.2.1, 4.3.1, KP84 | ||
6 | W 1/29 | Tektronix case study | Ch 3.2 | |||
7 | M 2/3 | Formal models for data flow | Ch 6.1 - 6.3, 6.7, Spi89 (pp.40-44) | A2 distributed | ||
8 | W 2/5 | Procedure Call | Information hiding and objects | Ch 2.3, PCW85, Boo86 | A1 discussed | |
9 | M 2/10 | How to present a software architecture | ADS, AG94 (pp 1-5), Mar91, HNS95 | Project distributed | ||
10 | W 2/12 | Modular decomposition issues: KWIC | Ch 3.1, Par72 | A1 due | ||
11 | M 2/17 | Formal models | Ch 6.1,6.7, Sha85, AAG93 | A2 discussed
, A3 distributed |
||
12 | W 2/19 | Events | Models of event systems | GKN92, Ch 2.4, 6.4 - 6.6 | ||
13 | M 2/24 | Implementation of event systems | Rei90, Ch 7.3 | A2 due | ||
14 | W 2/26 | Industrial use of event systems (case study) | HLA97 | A3 discussed | ||
15 | W 3/5 | Design and Evaluation |
Patterns and pattern languages | B+96, Mul94, Sha96 | ||
16 | M 3/10 | Using multiple styles | Ch 3.4 - 3.5, SC96, Sha95b, Wolf97 (sec.1-4) | A4 distributed | ||
17 | W 3/12 | Design guidance | Ch 5, McC97, SC96 | A3 due | ||
18 | M 3/17 | Repositories and related |
Evolution of Shared Information Systems | Ch 4 | ||
19 | W 3/19 | Blackboard Systems | Ch 2.6-2.7, Nii86 | Progress report due 3/21 | ||
20 | M 3/31 | Enterprise architectures | IBM, Mor93, Ch 2.5, Ch 4.3.4 | |||
21 | W 4/2 | Processes | Communicating process architectures | And91 | Project discussion , | |
22 | M 4/7 | Agents and mediators | SD+96, Wh96, Wie95 | A4 due, Project discussion |
||
23 | W 4/9 | Formal models for processes | Ch 8.3, AG97, Al97 Supplemental reading: Hoa85 | A5 distributed, Project discussion , | ||
24 | M 4/14 | Modern ADLs | Aesop and UniCon | Ch 7.1 - 7.2, 8.1 - 8.2 | A5 due | |
25 | W 4/16 | Interoperability | Integration architectures and emerging standards | Man95, Hei95 | ||
26 | M 4/21 | Mismatch experience | GAO95, Sha95a, Ock95, SK96 | |||
27 | W 4/23 | Mismatch repair | PA91, YS94, WCZ97 | Project due | ||
28 | M 4/28 | Projects | Final Presentations: Taliesin, Tower of Pisa, Hall of Supreme Harmony | , , | ||
29 | W 4/30 | Final Presentations: Fallingwater, Parthenon | , |
We also offered this course in the spring of 1996. Some, but not all, of the materials were converted and released on the Web. In case some of the materials are of interest, we have kept the Spring 1996 web site available.
[_private/stdbot.htm]