Make an
architecture description of an existing system. To that end, examine literature
such as to (re)produce relevant views. Some of the systems are frameworks, implying that there is an architecture
of the framework implementation as well as a style for the application created
using the framework. Make sure you discriminate the two.
1. Guidelines for reading and research
a. Regard your work as ‘reverse engineering’,
discovering the architecture and documenting it
b. Go after the original design problem, which, according to the
introduction slides (first lecture), includes the following elements.
i.
identify
the core purpose/goal of the system,
ii.
identify
stakeholders for the system you study (e.g. users, designers, implementators,
integrators, maintainers, parties enjoying benefits, e.g. company, advertiser,
legal parties, governments),
iii.
identify
the environment that the system is to operate in, and any assumptions,
iv.
identify
specific extra-functional properties
2. Guidelines for reporting
a. Describe the architecture
description using the five views (give building blocks and connectors,
architectural styles, include interactions, and interaction styles)
b. Examine the role of concepts like
processes, communication, naming, fault tolerance
c. Add/discuss views and elements of
views for
i.
stakeholders,
and concerns (possibly adding new views)
ii.
extra-functional
properties
A choice
can be made from the following example systems. Literature hints are starting
points. You may want to examine whitepapers and/or google scholar to obtain
architectural information. When you encounter pictures (models!) ask yourself
what information they convey, for what purpose they are.
1. Planetlab – grid
a. Turner et. al., Supercharging
planetlab: a high performance, multi-application, overlay network platform, ACM
SIGCOMM Computer Communication Review, Vol.37, issue 4, October 2007
b. See also the book by Tanenbaum & van
Steen.
c. http://www.planet-lab.org/biblio
2. DDS – middleware for high
performance (‘real-time’)communication, based on SOA and P&S.
a. http://portals.omg.org/dds
(examine whitepapers as starter)
3. Corba – middleware, for distributed
objects using (a)RPC and eventing; later, the Corba Component Model (CCM).
a. http://www.corba.org/:
CORBA en CCM specification
c. examine scholar.google.com
1. Mobile agent platform(s): either
choose one or describe such platforms in general.
b. http://iel.ucdavis.edu/publication/2006/SPE.pdf
c. Measurements (performance) of the JADE
platform http://portal.acm.org/citation.cfm?id=1139359.1139475&coll=GUIDE&dl=ACM