17-811 Self-Healing Systems: Syllabus

David Garlan
Spring Semester 2003

Week 1: Overview and Introduction

  1. Monday, March 10: Course Overview

  2.  
      Topics: Course goals, mechanics, motivation, sub-topics.
  1. Wednesday, March 12: Perspectives on Self-Healing Systems
    1.  
      Topics: Perspectives on self-healing systems, course taxonomy
      Readings:
      1. A. G. Ganek and T. A. Corbi. The dawning of the autonomic computing era.IBM Systems Journal, Special Issue on Autonomic Computing.Vol 42, No 1, 2003.
      2. M. Shaw. 'Self-Healing': Softening Precision to Avoid Brittleness. Proceedings of the First ACM SIGSOFT Workshop on Self-Healing Systems (WOSS '02). Charleston, South Carolina, November 2002, pp.111-113.
      3. Proceedings of the First ACM SIGSOFT Workshop on Self-Healing Systems (WOSS '02). Charleston, South Carolina, November 2002, pp.111-113. Skim abstracts.*
      Hints:
        The first two readings are intended to give you an idea of what people mean by "self-healing systems" (and related terms), and motivate the need for them. Summaries are needed for both of these readings. The third "reading" is to acquaint you with a recent workshop on self-healing systems. Read the titles and abstracts to get an idea of what kinds of research people are doing in this area.
      Other:
        Think about what area you want to investigate.
      Discussion: Owen's Summary, Bhuricha's Summary
      *No summary needed
Week 2: Foundations, Perspectives, and Framework
  1. Monday, March 17: Foundations and Perspectives
    1.  
      Topics:  Dependability, Control Theory, and Biological Models
      Readings:
      1. Avizienis, J.-C. Laprie and B. Randell. Fundamental Concepts of Dependability, Research Report N01145, LAAS-CNRS, April 2001. (citeseer, local)
      2. Mary Shaw. Beyond Objects: A Software Design Paradigm Based on Process Control. ACM Software Engineering Notes, Vol 20, No 1, January 1995.
      3. S. George, D. Evans, and L. Davidson. A biologically inspired programming model for self-healing systems. Proceedings of the First ACM SIGSOFT Workshop on Self-Healing Systems (WOSS '02).
      Hints:
        These are overviews of areas related to self-healing systems. The main idea is to try to understand what is the conceptual vocabulary of those disciplines. Not all will be related to self-healing systems, but some may. Summaries are due for all three.
      Other:
        Think about what would serve as a helpful classification scheme for research in SHS.
      Discussion: Vahe's Summary,
         
  2. Wednesday, March 19: A Self-repair Framework and Topics
      Topics: Sub-topics of course, Architectural framework for self-repairing systems
      Readings:
      1. Oriezy, P., Gorlick, M.M., Taylor, R.N., Johnson, G., Medvidovic, N., Quilici, A., Rosenblum, D., and Wolf, A. An Architecture-Based Approach to Self-Adaptive Software. IEEE Intelligent Systems 14(3):54-62, May/Jun. 1999.
      2. D. Garlan, S. Cheng, and B. Schmerl. Increasing System Dependability through Architecture-based Self-repair. In Architecting Dependable Systems, R. de Lemos, C. Gacek, A. Romanovsky (Eds), Springer-Verlag, 2003.
      Hints:
        These two papers discuss an approach to self-healing in which software architecture models are used as a basis for on-line system repair. As you read them, consider the differences in repair architecture: how are various concerns partitioned across the adaptive infrastructure.
<March 24-28 Spring Break>

Week 3: Model-Based Self-Repair

  1. March 31: Architecture-based Self-repair
        Topics: Architecture-based repair, focusing on the Rainbow adaptation framework.
        Readings: (Two readings from before, plus one additional)
        1. Oriezy, P., Gorlick, M.M., Taylor, R.N., Johnson, G., Medvidovic, N., Quilici, A., Rosenblum, D., and Wolf, A. An Architecture-Based Approach to Self-Adaptive Software. IEEE Intelligent Systems 14(3):54-62, May/Jun. 1999.*
        2. D. Garlan, S. Cheng, and B. Schmerl. Increasing System Dependability through Architecture-based Self-repair. In Architecting Dependable Systems, R. de Lemos, C. Gacek, A. Romanovsky (Eds), Springer-Verlag, 2003.*
        3. Ioannis Georgiadis, Jeff Magee and Jeff Kramer. Self-Organising Software Architectures for Distributed Systems. Proceedings of the First ACM SIGSOFT Workshop on Self-Healing Systems (WOSS '02).
        Hints:
          These three papers discuss an approach to self-healing in which software architecture models are used as a basis for on-line system repair. As you read them, consider the differences in repair architecture: how are various concerns partitioned across the adaptive infrastructure.
  1. April 2: Other Model-based Self-repair (Owen Cheng)
    Topics: Other model-based repair.
    Readings:
    1. Gross, P.N., Gupta, S., Kaiser, G.E., Kc, G.S., Parekh, J.J. An Active Events Model for Systems Monitoring. Proceedings of the Working Conference on Complex and Dynamic System Architecture, Brisbane, Australia, Dec 2001.
    2. Combs, N., Vagel, J. Adaptive Mirroring of System of Systems Architectures. Proceedings of the First ACM SIGSOFT Workshop on Self-Healing Systems (WOSS '02).
    3. Bond, A., Sud, J. Service Composition for Enterprise Programming. Proceedings of the Working Conference on Complex and Dynamic System Architecture, Brisbane, Australia, Dec 2001.
    Hints:
      These three papers deal with quite different "domains" (in Joao's terms), with somewhat distinct goals of adaptation.  Yet, they all share the same "tool," i.e., model-based adaptation, and the model isn't necessarily architectural in nature.  See if you can determine the "model" used for adaptation, but don't worry too much about the detail workings of the respective frameworks.  It might be a good idea to think about how the self-healing infrastructure in each paper fits in terms of the SHS framework we've worked out in class so far.
    Other: Turn in a preliminary project outline. The outline should include
      (a) The topic name;
      (b) The kind of self-healing issues that it addresses. You may want to use Joao's decomposition to clarify; and
      (c) A preliminary list of readings.
    Discussion: Bhuricha Summary, Vahe Summary
Week 4: Ubiquity and Middleware
  1. April 7: Self-Healing in Ubiquitous Computing Environments (Joao Sousa)
  2. Topics: task-based computing, ubiquitous computing, pervasive computing, reducing user distraction
    Readings:
      1. Joao Pedro Sousa, David Garlan. Aura: an Architectural Framework for User Mobility in Ubiquitous Computing Environments.
      2. Rajesh Balan, Joao Pedro Sousa, M. Satyanarayanan. Meeting the Software Engineering Challenges of Adaptive Mobile Applications.
      3. Shankar R.Ponnekanti, Brian Lee, Armando Fox, Pat Hanrahan,and Terry Winograd. ICrafter: A Service Framework for Ubiquitous Computing Environments.
    Hints:
        • Aura Architectural Framework: This paper is not focused on adaptation, so take it as background reading to get the overall ideas and terminology (sections 1 and 2). I'll be talking about the adaptation aspects in class.
        • SE challenges of adaptive mobile applications: Contains a lot of low-level details -- you can skip the case studies (section 3).  Look for the mechanisms that are being incorporated into applications to make them adaptive, as well as for the interfaces that are being exposed to control those mechanisms at runtime.
        • ICrafter: They're looking at a specific angle of adaptation: services have UI needs that can be mapped in different ways in diverse environments.  In other words, how can services adapt to the heterogeneity of devices in an environment.  Conceptually this is a similar problem to: how can tasks adapt to the diversity of services (and by extension, of devices) in an environment.  Read it to compare approaches.These two papers discuss an approach to self-healing in which software architecture models are used as a basis for on-line system repair. As you read them, consider the differences in repair architecture: how are various concerns partitioned across the adaptive infrastructure.
    Discussion: Owen Summary, David Summary
  3. April 9: Middleware for Self-healing Systems (Priya Narasimhan and Sukanya Ratanotayanon)
    1.  
      Topics: Middleware
      Readings:
      1. Fabio Kon, Fabio Costa, Gordon Blair, Roy H. Campbell. Adaptive middleware: The case for reflective middleware.Communications of the ACM, June 2002, Volume 45, Issue 6.
      2. Loyall, J., Schantz, R., Zinky, J., Pal, P., Shapiro, R., Rodrigues, C., Atighetchi, M., Karr, D., Gossett, J.M., Gill, C.D. Comparing and contrasting adaptive middleware support in wide-area and embedded distributed object applications. 21st International Conference on Distributed Computing Systems, April 2001,

      3. pp. 625-634.
      4. Narasimhan, P., Moser, L.E., Melliar-Smith, P.M. Strong replica consistency for fault-tolerant CORBA applications. The Sixth International Workshop on Object-Oriented Real-Time Dependable Systems, 2001, pp. 10-17.
      Discussion: Justin Summary
Week 5: Fault-tolerance and Biological Models
  1. April 14: Fault-tolerance (Paul Li and Phil Koopman)
      Topics: Fault Tolerance, Graceful Degradation
      Readings:
      1. A. Avizienis, J.-C. Laprie and B. Randell. Fundamental Concepts of Dependability, Research Report N01145, LAAS-CNRS, April 2001. (citeseer, local)
      1. Koopman, P. Elements of the self-healing system problem space. Workshop on Architecting Dependable Systems (WADS03), May 2003.
      1. Shelton, C., Koopman, P. & Nace, W. A framework for scalable analysis and design of system-wide graceful degradation in distributed embedded systems. WORDS03, January 2003.
      Hints: No need to write a summary for the first reading, since this was already done for class #3.
      Discussion: Justin Summary
  1. April 16: Biologically-Inspired Self-healing Systems (Kevin Steppe)
    1.  
      Topics: Biological models
      Readings:
      1. Radhika Nagpal, Attila Kondacs, and Catherine Chang. Programming Methodology for Biologically-Inspired Self-Assembling Systems. AAAI Symposium '03.
      2. Stephanie Forrest, Steven A. Hofmeyr, and Anil Somayaji. Computer immunology. Communications of the ACM, v.40 n.10, p.88-96, Oct. 1997.
      3. Stephen F. Bush and Amit B. Kulkarni. Genetically Induced Communication Network Fault Tolerance. SFI Workshop: Resilient and Adaptive Defence of Computing Networks 2002..
Week 6: Formal approaches, Agents, and Context-aware Adaptation
  1. April 21: Formal models (Jung Soo Kim)
      Topics: Formal models of self-healing systems
      Readings:
      1. Jeff Magee, Naranker Dulay, Susan Eisenbach, and Jeff Kramer. Specifying Distributed Software Architectures. Fifth European Software Engineering Conference. Barcelona 1995.
      2. Antónia Lopes, José Luiz Fiadeiro, and Michel Wermelinger. Architectural Primitives for Distribution and Mobility. SIGSOFT 2002/FSE-10, Nov. 18-22, 2002, Charleston, SC, USA.
      Discussion: Sukanya Summary
  1. April 23: Agent- and Context-based Self-Healing (Justin Kenlon + Asim Smailagic)

  2.  
      Topics: Agent-based self healing, context-aware computing
      Readings:
      1. Asim Smailagic and Daniel Siewiorek.Application Design for Wearable and Context-Aware Computers. IEEE Pervasive Computing, Vol. 1, No, 4, Dec 2002, pp. 20-29.
      2. Michael N. Huhns, Vance T. Holderfield, Rosa Laura Zavala Gutierrez. Robust Software Via Agent-Based Redundancy. AAMAS’03, July 1-2, 2003, Melbourne, Australia.
      3. Robert E. Smith and Nick Taylor. A Framework for Evolutionary Computation in Agent-Based Systems.
      4. E. Grishikashvili. Investigation into Self-Adaptive Software Agents Development. Distributed Multimedia Systems Engineering Research Group Technical Report. 27 April 2001.
      5. Guoqiang Zhong, Babak Hodjat, Tarek Helmy and Makoto Amamiya. Software Agent Evolution in Adaptive Agent Oriented Software Architecture. International Workshop on Principles of Software Evolution, pp. 130-134, 1999.
      Discussion: Kevin Summary
Week 7: OS-based and Resource-based Allocation; Model-System Consistency
  1. April 28: OS-based adaptation + Resource allocation in adaptive systems (Satya + Vahe Poladian)
    Topics: Self-healing at the OS and resource allocation level
    Readings:
    1. Jason Flinn and M. Satyanarayanan. Energy-Aware Adaptation for Mobile Applications. Proceedings of the 17th ACM Symposium on Operating Systems Principles (SOSP), 1999.
    2. Chen Lee, John Lehoczky, Raj Rajkumar and Dan Siewiorek. On Quality of Service Optimization with Discrete QoS Options. Proceedings of the IEEE Real-time Technology and Applications Symposium, June 1999.
    3. Rolf Neugebauer and Derek McAuley. Congestion Prices as Feedback Signals: An Approach to QoS Management.  Proceedings of the 9th ACM SIGOPS European Workshop, pp. 91--96, Kolding, Denmark, September 2000.
    4. Satyanarayanan, M. The Evolution of Coda. ACM Transactions on Computer Systems, Volume 20, No. 2, May 2002.
    Hints:
  1. April 30: Model-System Consistency + Course Wrapup Discussion (Bhuricha + David Garlan)
      Topics: Agent-based self healing, context-aware computing
      Readings:
      1. Walker, Murphy, Steinbok and Robillard. Efficient Mapping of Software System Traces to Architectural Views. Proc. of CASCON, November 2000.
      2. Jonathan Aldrich, Craig Chambers, and David Notkin. ArchJava: Connecting Software Architecture to Implementation. In proceedings of ICSE 2002, May 2002.
      3. P. Oreizy, N. Medvidovic, R. N. Taylor. Architecture-Based Runtime Software Evolution. In Proceedings of the 20th International Conference on Software Engineering, pp. 177-186, Kyoto, Japan, April 1998.
      Discussion: Owen Summary

Return to Course Home Page