Five years ago, David Garlan visited Argentina for the first time and gave a lecture at the
Five years ago, David Garlan visited Argentina for the first time and gave a lecture at the School of Computer Science at UBA about one of his research subjects: Self Healing Systems. That concept was new to me and to many attending the conference, and sparked a lot of curiosity. Basically, what Garlan was proposing is that increasing complexity in systems and other factors make it necessary to have self repair and self optimizing mechanisms, considering that human intervention will be more and more difficult due to how difficult it will be to diagnose what is happening with a system and apply a repair to fix an anomalous situation. As I kept reading more about the subject, I realized there’s a lot of research going on about it, and that many consider this a new era in computer science: the fact that systems decide changes in their behavior to adapt to faults or changes in their operating or user environments, without human intervention. Autonomic Computing has a lot to do with other interesting topics such as context awareness and task based computing.
Now, it’s also true that systems have had for decades some features to continue operating when faults are present (all the field of Fault Tolerance). But the concepts behind Autonomic Computing go much further. The idea is to have internal models that represent the structures of the system that can help in determining the best repair strategy (in Carnegie Mellon they call this Architecture Based Adaptation). Also, these repair mechanisms must be external to the system, to facilitate reuse. For those interested in the subject, there’s a lot of information in the CMU Web Site about this subject and related ones: www.cs.cmu.edu. There’s also plenty of information in the IBM website.
Lastly, I wanted to comment that surfing the web I came across an excellent paper by Barry Boehm titled “A View of 20th and 21st Century Software Engineering” (http://sunset.usc.edu/csse/TECHRPTS/2006/usccsse2006-626/usccsse2006-626.pdf). This paper does a great job in summarizing the evolution of Software Engineering and what the future can bring. The subject of Autonomic Computing has a very important place in the section titled Wild-Cards: Autonomy and Bio Computing. What Boehm describes there makes some Science Fiction movies look trivial.