Thursday 16 July 2009

Where can Autonomic Computing be of benefit ...?


There is now an active research community focusing their energy on Autonomic Computing (and the associated conference series) -- utilizing it, primarily, for supporting (computer) systems management. The motivation for this seems to be the observations that as computer/information systems get more complex, it is possible that no one person will fully understand how such (complex) systems operate. It is therefore necessary to enable each component of such a system to be more intelligent, enabling it to self-adapt and modify its behaviour based on detected changes in it's environment. The mechanisms behind this come from autonomic self-adaptation in humans -- although there are also significant overlaps in ideas from Ashby's Viability Zone in his Homestatic system -- a good introduction here (if I may say so myself!). Critics of autonomic computing however say that this is unlikely to ever be realized. It is often mentioned by such individuals that the vision statements in autonomic computing are often too high-level, and unless distilled down to very specific outcomes, make this field vague and uninterresting from a practical perspective. And herein lies the problem. The very nature of autonomics implies that such approaches (often utilizing mechanisms from machine learning (such as reinforcement learning, neural networks), rule-based adaptation and control theory) can only be applied (and, more importantly, validated) in well-defined problems. However, many large scale systems often appear to be "open" and such well defined ideal state -- which drives the autonomic mechanism -- is often hard to specify. Perhaps, what is needed is more work on design (software) and methodologies for applying some of these autonomic mechanisms in more open environments. Perhaps, this is a research area that needs further attention?

Image from IBM Almaden