CS 746G Topics in Software Design, Concentrating on Software Architecture, Winter 1999

Professor Ric Holt, DC 2508, x4671, holt@uwaterloo.ca, Department of Computer Science, University of Waterloo

This is a seminar course that reviews current literature on software architecture.


Wk  Tuesday

1   Jan  5  Overview, Software Engineering Terms
            Example S/W architectures
            Students present a S/W architecture they are familiar with
2   Jan 13  
 [Scott]    Perry & Wolf: Foundations for Study of Software Architecture
 [Tahvildari]  Garlan & Shaw: Intro to Software Architecture
 [Parry]    Shaw: A Field Guide to Boxology
3   Jan 19  ASSIGNMENT 0 DUE  
 [Scott ]   Deremer: PitL & MILs [Hardcopy]
 [Hassan]   Kruchten: The 4+1 Views Model of Architecture [Web]
 [Lee   ]   Monroe: Architectural Styles, Design Patterns, and Objects [Web]
4   Jan 26  ASSIGNMENT 1 DUE
 [Holt ]    Holt: Binary Relational Algebra for Software Architecture [Web]
 [Parry ]   Soni: Software Architecture in Industrial Applications
5   Feb  2
            PROJECT: Written proposal due for project
 [Parry ]   Woods (SEI): New ICSE paper
 [Hassan]   Garlan: Architectural Mismatch 
 [Dragoi]   Schwanke: Cross References are Features
6   Feb  9  ASSIGNMENT 2 DUE
 [Dragoi]   Perry: Product-Line Architecture
 [Gregory]  Bowman: Linux as Case Study: Extracted Architecture
 [Preston]   Murphy: Reflexion model
7   Feb 16  READING WEEK: No class Tues or Thurs
	    Fri 19 Feb attend B. Leather's SWE seminar on Architecture

8   Feb 24  Holt gone to WICSA (Wking IFIC Conf on Software Architecture)

9   Mar  2
 [Lee   ]   Harris: Reverse Engineering to the Architecture Level
 [Tahvildari] Muller: Rev Eng & Subsystem Identification
 [Preston]  Sugiyama: Visual Understanding of Hierarchical System Structures

10  Mar  9
 [Gregory]  Wiggerts: On Clustering
 [Scott]    Tzerpos: On Clustering
 [Tahvildari]Mancoridis: Automatic Clustering
11  Mar 16  
 [Hassan]   Tzerpos: Orphan Adoption in Architecture Maintenance 
 [Scott ]   
 [Lee   ]   
14  Apr  6  STUDENT PROJECT PRESENTATIONS (Tuesday is the last day of classes)


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. 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.


Thanks to Spiros Mancoridis, Vassilios Tzerpos, Dewayne Perry and Steve Woods for contributing to the material for Winter 99 CS746.

Last updated 2 Mar 99 --- RCH