Course Information

Spring, 1998

The Bare Essentials

Class Meetings:

Monday and Wednesdays, 10:30-11:50, in WeH4615-A

Course Staff:

  Who e-mail address Office,
Office Hours (or
by appointment)
Assistant Office,
Instructors David Garlan WeH 8020
Mon 9:30-10:30 Heather Marko WeH 8120
  Rick Kazman SEI 5416
Wed 9:00-10:00
Teaching Assistant Shawn Hurley WeH 4615-1
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:

Course Materials and Administration

Course mechanics: Assignments, grading policy, and so on

Class bulletin board: cmu.cs.class.cs675

Project groups and hints on presentations

On-line course materials, formatted for web browsing

Schedule and Syllabus

Assignments and Project

Important dates

  # 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

Lectures, Reading Assignments, and Assignment/Project Events:

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.

Date Major Topic Lecture Title Q &
Reading Assignment Assignment & Project Events
1 M 1/12 Introduction (a) Overview,
(b) Organization
2 W 1/14 History Software Architecture in Perspective Question Ch 1, Ch 2 (quick scan), DK76 (front section only), PN86  
3 M 1/19 Problem Types Problem Types and Problem Frames Question Jac95(selected sections), Pol73, Rec92  
4 W 1/21   Architectural Concepts and Issues Question GMW97, SG95, Mor93 A1 distributed
5 M 1/26   Problem Frames (Case Study) Question Jac95, Fin93  
6 W 1/28 Data Flow Batch sequential, pipeline, process control Question 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 Question Ch 3.2 A1 discussed
8 W 2/4   Formal models for data flow Question AG97b, 8.3.3, 8.3.4, 8.3.5  
9 M 2/9 Procedure Call Information hiding and objects Question Ch 2.3,
PCW85,Pre95Ch 1 (rec. Ch2)
A1 due
A2 assigned
10 W 2/11   Modular decomposition issues: KWIC Question Ch 2.3, 3.1, Par72 F1 due
11 M 2/16   Formal models for objects Question Ch 6.1,6.7, Spi89, AAG93(selected pages) A2 discussed
12 W 2/18 Design and Evaluation How to present a software architecture Question ADS,Mar91 Project assigned
13 M 2/23   Modifiability Analysis: SAAM Question BCK(Ch 9) A2 due
14 W 2/25   Tradeoff Analysis: ATA Method Question Ch 5, Kaz98 A3 assigned
15 W 3/4 Events Models of event systems Question Ch 2.4, 6.4-6.6, GKN92 F2 due
16 M 3/9   Impl/Formalization of event systems and
Java extract
Question Ch 7.3 Rei90, AAG93  
17 W 3/11   Industrial Use of Event Systems Question HLA97, AG97a Project progress report due
A3 due
18 M 3/16 Information Systems Client-Server Systems Question OHE96 (pp. 149-169), Ber92 (Ch. 2) F3 due
A4 discussed
19 W 3/18   Shared Information Systems: WWW Question Ch 4, BCK (Ch. 7) A3 due
20 M 3/30   Blackboard Systems Question Ch 2.6-2.7, Nii86 A4 discussed
21 W 4/1 Processes Communicating process architectures Question BR95, Ray95 Project discussion
22 M 4/6 Patterns Patterns and Taxonomies Question Gam93, SC96, Kaz97 A4 due, A5 assigned, Project
23 W 4/8   Component-Based Systems Question Kon96, MT97b, CW98 Project discussion
24 M 4/13   Case Studies in Patterns Question Abo93, BC91 A5 due
25 W 4/15 Notations and Tools Reverse Engineering of Architectures Question KC97, MN97  
26 M 4/20   Modern ADLs Question Ch 7.1-7.2, 8.1-8.2, MT97a  
27 W 4/22   Mismatch Question 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.