Schedule: CS 798, Winter 2002, Software Architecture. Prof. Ric Holt, DC 2508,, Comp. Science, U. of Waterloo

Wk  Tuesday
1   Jan  8  Organizational Meeting, First class on Jan 10
            Overview, Software Engineering Terms
            Example S/W architectures
2   Jan 15 
 [Ric Holt] Bowman: Linux as Case Study: Extracted Architecture
            Students present a S/W architecture they are familiar with
 [Alvin Chin] Garlan & Shaw: Intro to Software Architecture
 [Raihan Al-Ekram] Perry & Wolf: Foundations for Study of Software Architecture
3  Jan 22  ASSIGNMENT 0 DUE: Select open source DBMS (mySql, Postgres ...),
            provide references and links, as a short web page
 [Gerald Tarcisius] Kruchten: The 4+1 Views of Architecture
 [Ric Holt] Holt: Binary Relational Algebra for Software Architecture
 [Ian Bull] Using SwagKit for Visualizing Software [No paper to read]
4   Jan 29  ASSIGNMENT 1 DUE: Conceptual architecture of your selected DB
 [Andrew Trevors] Holt et al: GXL, Graph Exchange Format
 [Yuan Lin] Booch: The Architecture of Web Applications; When Words Collide
 [Andrew Roszko] Murphy: Reflexion model
5   Feb 5   PROJECT: Written proposal due for project
 [XinYi Dong] Tran: Forward/Reverse Repair of Software Architecture
 [Dmytro Yashkir] Hassan: Reference Architecture for Web Servers.
 [Josh Taylor] Raymond: Cathedral & Bazaar
 [Jennifer Campbell] Shaw: Boxology
6   Feb 12  ASSIGNMENT 2 DUE: Concrete Architecture of your DBMS
 [Lijie Zou] Feijs, Krikharr: Relational Approach to Arch Analysis
 [Hao Chen] Deremer: Programming in the Large. MILs - hard copy only
 [Faryaaz Kassam] Tom Dean: Syntactic Theory of Software Architecture
 [Ryan Bannon] Jerding & Rugaber: Visualization for Architecture
7   Feb 19  READING WEEK: Change: there MAY be class Tues and Thurs  
8   Feb 26
 [Fan Zhuang] Muller: Rev Eng & Subsystem Identification
 [Jin Xiao] Garlan: Architectural Mismatch 
 [Erin Ren] Eades: Heuristic for Graph Drawing (the "spring" algorithm)
 [Ian Tien] Parker: Visualization of Large Nested Graphs in 3D
9   Mar  5
 [Yu Ping] Kazman et al: ATAM: Evaluation of Software Architecture
                (See also Lung et al: Software Architecture Analysis)
 [Jiajun Wu] Sugiyama: Visual Understanding of Hierarchical Structures
 [Basem Shihada] Andersson: Arch Integ of Enterprise Software
 [Bahman Kalali] Kreger: Web Services Conceptual Architecture
10  Mar 12
 [Heechul Lim] Tzerpos: ACDC: Comprehension-Driven Clustering
 [Fei Yuan ] Tzerpos: Orphan Adoption
 [Fraser Ruffell] Pal: Dynamic Interactions
 [James She] Eades: Spring Algorithm (Heuristic for Graph Drawing) (hardcopy)
 [Hubert Chan] Osher: Specifying Structure of Large Systems (hardcopy)
  Andrew Trevors, Jennifer Campbell & Josh Taylor, SWAGKit Query Engine (SQE)
  Xinyi Dong, Yuan Lin & Lijie Zou, GXQL and GXL Integration with SWAGKit
11 Mar 21
  Basem Shihada, Open source Network Management System (OpenNMS)
  Hao Chen, Heechul Lim & Jin Xiao, Architecture of SAMBA
  James She, Jiajun Wu, Zhuang Fan & Fei Yuan, XMMS: Extracted Architecture
  Hubert Chan & Dmytro Yashkir, Cocoon
  Bahman Kalali, Implementing an EJB Application Using JBoss Framework
  Ryan Bannon, Alvin Chin, Faryaaz Kassam & Andrew Roszko, Bluetooth Software 
  Erin Ren & Fraser Ruffell, Dynamic Software Architecture
  Gerald Tarcisius, Raihan Al-Ekram & Yu Ping, Enterprise Architectures 
  Ian Tien, A Rendering Tool for Affordance-Rich Software Design Diagrams
 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 9 Jan 2001 --- RCH