Schedule: CS 746, Winter 2003 Software Architecture. Prof. Ric Holt, DC 2508,, Comp. Sci., U. Waterloo

This schedule is tentative. It will be firmed up in the first few weeks of class.
Wk  Tuesday
1   Jan  7  Organizational Meeting, First class on Jan 9
            Overview, Software Engineering Terms
            Example S/W architectures

2   Jan 14   ASSIGNMENT 1A. Give team for Assignment 1
    Jan 16   ASSIGNMENT 1B. References for system (for EMACS)
 [      ] Bowman: Linux as Case Study: Extracted Architecture
            Students present a S/W architecture they are familiar with
 [      ] Garlan + Shaw: Intro to Software Architecture
 [      ] Perry + Wolf: Foundations for Study of Software Architecture

3  Jan 21  
   Jan 23    ASSIGNMENT 1C. Top level architecture (diagram + 1 page)
 [      ] Kruchten: The 4+1 Views of Architecture
 [      ] Holt: Binary Relational Algebra for Software Architecture

4  Jan 28    ASSIGNMENT 1D. Conceptual architecture (for EMACS)
   Jan 30    ASSIGNMENT 2A. Get Montabello account for Assignment 2 
 [      ] Holt et al: GXL, Graph Exchange Format
 [      ] Booch: The Architecture of Web Applications; When Words Collide
 [      ] Murphy: Reflexion model

5   Feb 4    ASSIGNMENT 2A. Teams for Assignment 2
    Feb 4    PROJECT: Teams for project.  Written proposal for project
    Feb 6    ASSIGNMENT 2B. Extracted landscape (for EMACS)
 [      ] Tran: Forward/Reverse Repair of Software Architecture
 [      ] Hassan: Reference Architecture for Web Servers
 [      ] Raymond: Cathedral + Bazaar
 [      ] Shaw: Boxology

6   Feb 11   ASSIGNMENT 2C. Contained landscape (for EMACS)
    Feb 13   ASSIGNMENT 2D. Grok scrips, new landscape (for EMACS)
 [      ] Feijs, Krikharr: Relational Approach to Arch Analysis
 [      ] Deremer: Programming in the Large. MILs - hard copy only
 [      ] Tom Dean: Syntactic Theory of Software Architecture
 [      ] Jerding + Rugaber: Visualization for Architecture

7   Feb 18  READING WEEK: Change: there MAY be class Tues and Thurs  
8   Feb 25
    Feb 27   ASSIGNMENT 2E. Concrete architecture (for EMACS)
 [      ] Muller: Rev Eng + Subsystem Identification
 [      ] Garlan: Architectural Mismatch 
 [      ] Eades: Heuristic for Graph Drawing (the "spring" algorithm)
 [      ] Parker: Visualization of Large Nested Graphs in 3D

9   Mar  4
 [      ] Kazman et al: ATAM: Evaluation of Software Architecture
                (See also Lung et al: Software Architecture Analysis)
 [      ] Sugiyama: Visual Understanding of Hierarchical Structures
 [      ] Andersson: Arch Integ of Enterprise Software
 [      ] Kreger: Web Services Conceptual Architecture

10  Mar 11
 [      ] Tzerpos: ACDC: Comprehension-Driven Clustering
 [      ] Tzerpos: Orphan Adoption
 [      ] Pal: Dynamic Interaction
 [      ] Eades: Spring Algorithm (Heuristic for Graph Drawing) (hardcopy)
 [      ] Osher: Specifying Structure of Large Systems (hardcopy)

            PROJECT PAPER DUE (At most 15 pages)


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 7 Jan 2003 --- RCH