Schedule: CS 746G, Winter 2001

Software Architecture. Prof. Ric Holt, DC 2508, x4671,, Computer Science, U. of Waterloo
Wk  Tuesday

1   Jan  2  Organizational Meeting
            Overview, Software Engineering Terms
            Example S/W architectures
2   Jan 9  
 [Bull  ]   Garlan & Shaw: Intro to Software Architecture
            Students present a S/W architecture they are familiar with
 [Ivkovic]  Bowman: Linux as Case Study: Extracted Architecture
 [Wu    ]   Perry & Wolf: Foundations for Study of Software Architecture
3   Jan 16  ASSIGNMENT 0 DUE: Eazel Nautilus references (submit as
                        a short web page with links) 
 [Svetinovic] Kruchten: The 4+1 Views of Architecture
 [Holt  ]   Holt: Binary Relational Algebra for Software Architecture
 [Malton]   Malton: Maintenance History and Architecture (Malton expects
                        to send draft)
4   Jan 23  ASSIGNMENT 1 DUE: Nautilus' conceptual architecture
 [Parry ]   Using PBS for visualizing software
 [Hassan]   Visualizing Web Apps.  Reference Architecture for Web Apps.
5   Jan 30
            PROJECT: Written proposal due for project
 [Ivkovic]  Booch: The Architecture of Web Applications; When Words Collide
 [Ma    ]   Murphy: Reflexion model
 [Zhang ]   Tran: Forward/Reverse Repair of Software Architecture
6   Feb  6  ASSIGNMENT 2 DUE: Concrete Architecture of Nautilus
 [Holt  ]   Holt: Phantom Architectures (read 1996 Holt tech report 345)
 [Ou    ]   Feijs, Krikharr et al: Relational Approach to Architecture Analysis
 [Mohammad] Deremer: Programming in the Large; MILs [Hardcopy]
            (no electronic copy)
7   Feb 13  
 [Zhang ]   Muller: Rev Eng & Subsystem Identification
 [Wu    ]   Storey et al: Shrimp system etc.
 [Ou    ]   Garlan: Architectural Mismatch 
8   Feb 20  READING WEEK: No class Tues or Thurs
9   Feb 27  
 [      ]   Architecture of Janna (possibly)
 [Berenstein] Architecture of Grocerygateway
10  Mar  6
 [Ma    ]   Kazman et al: ATAM: Evaluation of Software Architecture
		(See also Lung et al: Software Architecture Analysis)
 [Mohammad] Sugiyama: Visual Understanding of Hierarchical Structures
11  Mar 13  
 [Tzerpos]  Tzerpos: Automatic Clustering (paper to be set)
 [Sim   ]   Sim et al: GXL, Graph Exchange Format
 [      ]   
 [      ]   
 [      ]   
 [      ]   


Moderator. In a typical of the class, we will discuss one to two papers. Before hand, one class member, called the "moderator", will be chosen for each paper. The moderator will introduce the paper to the class, in about 10 minutes, and make sure that the relevant points in the paper are clarified in the discussion. It is best to hand out any slides used at the beginning of the class. Points in the paper should be related to points in other papers.

Bibliography. Within a week after the discussion, the moderator is to submit an annotation (about 4-10 lines) describing the paper, with URL references to the paper and author(s) if possible, to be added to the web-based course bibliography on software engineering. If these already exist in the bibliography, the moderator is to review them and update them for inclusion in the bibiography.

Participation. All participants are to read each article before the meeting that discusses the article. All participants have the reponsibility to see that they and other participants get the maximum benefit from the discussions. Comments on the contents, the style, and the importance of the paper are all relevant.


There will be assignments, described separately.


Each student will do a project along the theme of software architecture. Ideally, this will involve practical work, such as investigating the architecture of an actual software system, or building demo tools for displaying software structures. Before reading week, a proposal for the project, along with references, must be turned in.

Each student will present his/her project during the last few weeks of class. Each presentation will be half an hour, including questions. Presentations are to be professional quality, with well prepared slides, beginning with a clear statement of the area of interest, and proceeding to an easy-to-follow technical presentation.

On the last day of class, each student is to turn in his/her project paper.

Last updated 9 Jan 2001 --- RCH