==================== INF5360 spring 2008 ==================== Total no of pages: about 20 book pages, 160 paper pages, 10 pages from wikipedia on AOP/AOSD, slides referred to below Be prepared to not only be asked questions on content of individual papers, but also questions demonstrating knowledge of overview and own opinions on issues and approaches described in the examinable material. I. EXAMINABLE MATERIALS ON ADAPTATION ***************************************** Total on adaptivity: about 7 book pages and 100 paper pages, and wikipedia on AOP/AOSD: about 10 pages 1. Overview of Self-adaptive Distributed systems ================================================================== a. Distributed Systems – Principles and Paradigms, A. Tanenbaum, M. Van Steen, Prentice-Hall, 2007, chap 2.3, 2.4 (not examples), (7p). b. The "Adaptive Distributed Systems" slides. c. Composing Adaptive Software, P. K. McKinley et al, IEEE Computer, 2004 (9p). Introductory on self-adaptive software systems. There will be no questions about specific systems mentioned in the paper. 2. Architecture-based approach ================================ An Architecture Based Approach to Self-Adaptive Software, P. Oreizy et al, IEEE Intelligent Systems, 1999 (9p) There will be no questions about the specific systems C2 and Weaves mentioned in the paper. 3. Architecture-based adaptation middlewares ============================================== a. K. Geihs etal, "A Comprehensive Solution for Application-Level Adaptation", submitted to Software:Practice & Experiences, 2007. Except sect 3.3 and sect 4 (about 28p). b. Pierre-Charles David and Thomas Ledoux. An Aspect-Oriented Approach for Developing Self-Adaptive Fractal Components. In Welf Löwe and Mario Südholt, editors, International Workshop on Software Composition (SC), volume 4089 of Lecture Notes in Computer Science, Vienna, Austria, pages 82-97, March 2006 (16p) c. Kephart J.O., Das R. Achieving Self-Management via Utility Functions. IEEE Internet Computing, 11(1):p. 40–48. IEEE Computer Society, 2007 (9p) Paper discussing the merits of rule-based, goal-based, and utility-based adaptation policy approaches. Only cursory knowledge on last section "Appying Utility Functions to a Data Center" is required. 5 Reflective and adaptive middleware ====================================== ReMMOC: Grace, P., Blair, G.S., Samual, S., "ReMMoC: A Reflective Middleware to Support Mobile Client Interoperability", Proceedings of the International Symposium on Distributed Objects and Applications (DOA'03), Catania, Sicily, November 2003. (16p) OpenCOM (basis for ReMMOC): Coulson G., Blair G., Grace P., Joolia A., Lee K., Ueyama J. OpenCOM v2: A component model for building systems software. Proceedings of IASTED Software Engineering and Applications (SEA). ESA, Cambridge, MA, November 2004 (6p) 6. Aspect weaving ================= B. Lagaisse and W. Joosen. True and Transparent Distributed Composition of Aspect-Components. In Proceedings Middleware'06, volume 4290 of Lecture Notes in Computer Science, 2006. (20p) Introductory material on AOP or AOSD: http://en.wikipedia.org/wiki/Aspect-oriented_programming http://en.wikipedia.org/wiki/AspectJ Basic knowledge on AOP is necessary to read above paper. It will be assumed the students has this basic knowledge II. EXAMINABLE MATERIALS ON DEPENDABILITY ****************************************** (Total of 13 book pages + 60 paper pages + the slides) 1. Overview of dependability in distributed software-based systems ================================================================== a. The following sections in Chapter 8 in "Distributed Systems" by Tanenbaum and van Steen: 8.1.1, 8.1.2, 8.2.2, 8.2.3, 8.2.4. (total of 11 pages) b. The "Introduction to dependability" slides. 2. Defining QoS for dependability ================================== a. Section 7.5.1 in TvS (2 pages) b. "Design and Evaluation of a Conit-based Continuous Consistency Model for Replicated Services.", by Yu and Vahdat ACM Transactions on Computer Systems. (10-20 relevant pages) Consider only Sections 1, 2, 3, 4.1, 4.2, 4.6, 5.1, and 6. Focus on policies, examples, tradeoffs, and discussions. c. Slides of Ahn's presentation are not examinable by themselves but the part that describes the paper by Yu and Vahdat may be helpful in your preparations. 3. Dependability in Web Services ================================= a. "Extensible Web Services Architecture for Notification in Large-Scale Systems" by Ostrowski and Birman (10 pages) The focus is on all major concepts and design principles, such as the scope manager, policies, communication channels, sessions, and dissemination and reliability frameworks. b. "Fault Tolerance Connectors for Unreliable Web Services" Nicolas Salatge, Jean-Charles Fabre, LAAS-CNRS, Toulouse, France (10 pages) The focus is on the connector design element and how connectors facilitate implementing replication. c. Slides of the presentation by Christian Mikalsen are not examinable by themselves but you may find them helpful in your preparations. 4. Classical replication and group communication ================================================ Total Order Broadcast and Multicast Algorithms: Taxonomy and Survey. X. Défago, A. Schiper, and P. Urbán. Only the problem in Section 2.3 and the general overview of the five classes of solution in Section 4 are examinable (there will be no questions about the pseudoce or subclasses). Yet, reading the pseucode, the introduction to the paper, and selectively other sections may help your understanding. (5-10 relevant pages) 5. Scalable membership management and failure detection ==================================================== “Correctness of a Gossip Based Membership Protocol” by Andre Allavena, Alan Demers and John Hopcroft (10 pages) All of the paper is examinable except for Sections 4.1.3, 4.1.4, 4.2, 4.3, and the appendix. It is not important to remember specific formulae or mathematical derivations. In particular, you should focus on the following: - The mixing and reinforcement mechanisms in Section 2. - View size considerations in Sections 3.1 and 3.2. - Non-partitioning claims in the beginning of Section 4, as well as Sections 4.1.1 and 4.1.2. - View balancing issues in Section 5 (including 5.1, 5.2, and 5.3). - Practical implementation issues in Section 7 (including 7.1, 7.2, and 7.3). There will be no questions about specific systems this work refers to.