CS 746 Topics in Software Design, Concentrating on Software Architecture
Assignments
Ric Holt, DC 2508, x4671, holt@uwaterloo.ca, Department of Computer Science,
University of Waterloo
Winter 2003
DUE DATES
Assignment 1:
Part 1A Mon Jan 13 2003 (Teams)
Part 1B Thur Jan 16 2003 (EMACS References)
Part 1C Thur Jan 23 2003 (Diagram of architecture)
Part 1D Thur Jan 30 2003 (Conceptual architecture)
Assignment 2:
Part 2A Mon Feb 3 2003 (Jan 30 for Montabello account, Teams)
Part 2B Thur Feb 6 2003 (EMACs landscape)
Part 2C Mon Feb 10 2003 (Clustered landscape)
Part 2D Thur Feb 13 2003 (Grok scripts)
Part 2E Thur Feb 27 2003 (Concrete architecture)
Assignment 3:
Part 3A Mon Mar 3 2003 (Select paper to present)
Part 3B To be scheduled (Present paper)
Project
Proposal: Mon Feb 3 2003
Writeup: Thur Mar 31 2003
Assignment 1A
Submit list of team members for assignment 1 to cs746@swag.uwaterloo.ca.
Assignment 1B
Submit references (articles, books and URLs) on Emacs to
cs746@swag.uwaterloo.ca. These will be shared with the rest of the class. See
these references.
Assignment 1C
Submit a diagram of the top-level architecture of Emacs
and a one page description of the subsystems and interactions. Bring a hardcopy
to class and email a PDF version to cs746@swag.uwaterloo.ca
Assignment 1D
Submit a paper giving the conceptual architecture of
EMACS. Limit your paper to at most 15 pages. For guidance, see Assignment 1 from
year 2000. Bring a hardcopy to class and email a PDF version to cs746@swag.uwaterloo.caAssignment 2A
For January 30, get a user account on Montabello for
assignment #2 by emailing cs746@swag.uwaterloo.ca with your user id. For
February 3, send a list of team members for assignment 2 to the same email
address.
Assignment 2B
Using SWAGKit, produce a software landscape of Emacs. You
do not need to group files into subsystems. Store the landscape, in TA format,
somewhere on your Montabello account and send an email to
cs746@swag.uwaterloo.ca with the location. Do not send a copy of the TA file to
the course account.
Assignment 2C
Group the top level entities of your previous landscape
into subsystems (and those subsystems into subsystems if necessary). Place the
new landscape, and contain.rsf file, somewhere on your montabello account and
send an email to cs746@swag.uwaterloo.ca with the location. Do not submit a copy
of the files to the course account.
Assignment 2D
Write Grok scripts to modify your your landscapes in
various interesting ways. Place a copy of the Grok scripts and modified
landscape somewhere on your montabello account and send an email to
cs746@swag.uwaterloo.ca with the location. Do not submit a copy of the files to
the course account.
Assignment 2E
Submit your concrete architecture of EMACS. Describe the
architecture of one of the top level subsystems of EMACS. Please choose the
subsystem to be distinct from subsystems chosen by other groups. Ideally, the
set of groups together will cover all the main top level EMACS subsystems. You
may choose to concentrate on either the conceptual or the concrete architecture
of your subsystem.
In Assignment 2, please work in groups of size 3 (approximately). Please make
your report accessible (readable) by a reasonably wide audience. Limit your
report to at most 20 pages.
Your report should be organized approximately like your report for Assignment
1. Give a clear description of each subsystem or module within you top level
subsystem.
Use SwagKit to produce diagrams of the concrete architecture. Bring a
hardcopy to class and email a PDF version to cs746@swag.uwaterloo.ca
Assignment 3A
Search the literature and find a paper of related to
software architecture that the class would find interesting. Make sure that no
one else in the class has selected the same paper. This assignment is to be done
by individuals.
Assignment 3B
Present your selected paper in 15 minutes, with 5 minutes
of discussion.
Project Proposal
Submit a 1-page proposal for a course project. You may
choose from topics here
or come up with one of your own. Bring a hardcopy of your proposal to class and
also submit a PDF version to cs746@swag.uwaterloo.ca
Project Writeup
Limit your report to at most 20 pages. It is suggested
that your report take the form of a technical paper, with an abstract,
introduction, central sections, conclusion and references. Bring a harcopy
to class and submit a PDF version to cs746@swag.uwaterloo.ca