17-811 Self-Healing Systems: Syllabus
David Garlan
Spring Semester 2003
Week 1: Overview and Introduction
-
Monday, March 10: Course
Overview
Topics: Course goals, mechanics, motivation, sub-topics.
-
Wednesday, March 12: Perspectives
on Self-Healing Systems
Topics: Perspectives on self-healing systems, course taxonomy
Readings:
-
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.
-
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.
-
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
-
Monday, March 17: Foundations
and Perspectives
Topics: Dependability, Control Theory, and Biological Models
Readings:
-
Avizienis, J.-C. Laprie and B. Randell. Fundamental Concepts of Dependability,
Research Report N01145, LAAS-CNRS, April 2001. (citeseer,
local)
-
Mary Shaw. Beyond
Objects: A Software Design Paradigm Based on Process Control. ACM Software
Engineering Notes, Vol 20, No 1, January 1995.
-
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.
-
Wednesday, March 19: A
Self-repair Framework and Topics
Topics:
Sub-topics of course, Architectural framework for self-repairing systems
Readings:
-
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.
-
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
-
March 31: Architecture-based
Self-repair
Topics:
Architecture-based repair, focusing on the Rainbow adaptation framework.
Readings: (Two readings from before, plus one additional)
-
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.*
-
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.*
-
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.
-
April 2: Other
Model-based Self-repair (Owen Cheng)
Topics: Other model-based repair.
Readings:
-
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.
-
Combs, N., Vagel, J. Adaptive Mirroring
of System of Systems Architectures. Proceedings of the First ACM
SIGSOFT Workshop on Self-Healing Systems (WOSS '02).
-
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
-
April 7: Self-Healing
in Ubiquitous Computing Environments (Joao Sousa)
Topics: task-based computing, ubiquitous computing, pervasive
computing, reducing user distraction
Readings:
-
Joao Pedro Sousa, David Garlan. Aura:
an Architectural Framework for User Mobility in Ubiquitous Computing Environments.
-
Rajesh Balan, Joao Pedro Sousa, M. Satyanarayanan. Meeting
the Software Engineering Challenges of Adaptive Mobile Applications.
-
Shankar R.Ponnekanti, Brian Lee, Armando Fox, Pat Hanrahan,and Terry Winograd.
ICrafter: A Service Framework for Ubiquitous
Computing Environments.
-
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.
-
April 9: Middleware for Self-healing Systems (Priya
Narasimhan and Sukanya
Ratanotayanon)
Topics: Middleware
Readings:
-
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.
-
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,
pp. 625-634.
-
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
-
April 14: Fault-tolerance (Paul
Li and Phil Koopman)
Topics: Fault Tolerance, Graceful Degradation
Readings:
-
A. Avizienis, J.-C. Laprie and B. Randell. Fundamental Concepts of Dependability,
Research Report N01145, LAAS-CNRS, April 2001. (citeseer,
local)
-
Koopman, P. Elements of the self-healing
system problem space. Workshop on Architecting Dependable Systems (WADS03),
May 2003.
-
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
-
April 16: Biologically-Inspired Self-healing Systems (Kevin
Steppe)
Topics: Biological models
Readings:
-
Radhika Nagpal, Attila Kondacs, and Catherine Chang. Programming
Methodology for Biologically-Inspired Self-Assembling Systems. AAAI
Symposium '03.
-
Stephanie Forrest, Steven A. Hofmeyr, and Anil Somayaji. Computer
immunology. Communications of the ACM, v.40 n.10, p.88-96, Oct.
1997.
-
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
-
April 21: Formal models (Jung Soo Kim)
Topics: Formal models of self-healing systems
Readings:
-
Jeff Magee, Naranker Dulay, Susan Eisenbach, and Jeff Kramer. Specifying
Distributed Software Architectures. Fifth European Software Engineering
Conference. Barcelona 1995.
-
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
-
April 23: Agent- and Context-based Self-Healing (Justin Kenlon
+ Asim Smailagic)
Topics: Agent-based self healing,
context-aware computing
Readings:
-
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.
-
Michael N. Huhns, Vance T. Holderfield, Rosa Laura Zavala Gutierrez. Robust
Software Via Agent-Based Redundancy. AAMAS’03, July 1-2, 2003, Melbourne,
Australia.
-
Robert E. Smith and Nick Taylor. A Framework
for Evolutionary Computation in Agent-Based Systems.
-
E. Grishikashvili. Investigation
into Self-Adaptive Software Agents Development. Distributed Multimedia
Systems Engineering Research Group Technical Report. 27 April 2001.
-
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
-
April 28: OS-based adaptation + Resource allocation in adaptive
systems (Satya + Vahe Poladian)
Topics: Self-healing at the OS
and resource allocation level
Readings:
-
Jason Flinn and M. Satyanarayanan. Energy-Aware
Adaptation for Mobile Applications. Proceedings of the 17th ACM Symposium
on Operating Systems Principles (SOSP), 1999.
-
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.
-
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.
-
Satyanarayanan, M. The Evolution
of Coda. ACM Transactions on Computer Systems, Volume 20, No. 2, May
2002.
Hints:
-
For Lee, et al, and Neugebauer et al, try to understand the setup of the
problem for resource allocation and the approach -- no need to get too
deep into understanding the details of the solution, esp. in case of Lee,
et al.
-
Compare the approaches for resource allocation proposed by Lee, et al.
and Neugebauer, et al. Interesting question: if we had two identical systems,
one managed by a centralized QoS allocator as in Lee, and one managed by
the shadow pricing mechanism as in Neugebauer, do you think they will result
in identical solution points?
-
Compare the notion of preference in Flinn, et al, and Lee, et al.
-
What is the relationship of the Flinn work to the other two?
-
April 30: Model-System Consistency + Course Wrapup Discussion
(Bhuricha + David Garlan)
Topics: Agent-based self healing, context-aware computing
Readings:
-
Walker, Murphy, Steinbok and Robillard. Efficient
Mapping of Software System Traces to Architectural Views. Proc. of
CASCON, November 2000.
-
Jonathan Aldrich, Craig Chambers, and David Notkin. ArchJava:
Connecting Software Architecture to Implementation. In proceedings
of ICSE 2002, May 2002.
-
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.