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

b.      The rise and fall of CORBA

c.       examine scholar.google.com

1.       Mobile agent platform(s): either choose one or describe such platforms in general.

a.       http://www.mobilec.org/

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