Computer systems that can adapt themselves to load and changing conditions instead of crashing are becoming increasingly important. About such so-called self-adaptive systems, Professor Danny Weyns lectured at a software conference in Stockholm.
Self-adaptation is an important feature of computer systems in a society increasingly built on communication and Internet of Things. That was a key message when Danny Weyns, professor of computer science at Linnaeus University, gave a talk at the STEW conference arranged by the Swedsoft software association in Stockholm 18-19 October 2017. STEW is short for Software Technology Exchange Workshop and the purpose of STEW is to encourage and promote cooperation within and between industry, academia and the public sector.
In his talk, Danny Weyns described how modern systems – e.g. Internet of Things (IoT) – operate under highly dynamic conditions. This means that traditional stability assumptions made on systems' design are no longer valid. Uncertainties at design time may lead to bad decisions, resulting in poor quality or failures at runtime. When uncertainty is the rule rather than the exception, managing it becomes a crucial factor for the dependability and sustainability of systems. So-called self-adaptation is a well-known approach to manage the complexity to handle uncertainty. It's been subject of active research for over two decades but only a few results have found their way to practice so far; one example being cloud elasticity.
Three practical examples
The talk zoomed in on three cases where self-adaption is applied to tackle uncertainty in practical problems. In the first case, self-adaptation is used to manage the distribution of electricity in a power grid in a sustainable manner. In the second case to automate the management of IoT applications that operate in uncertain operating environments, and in the third case to automate the management of online documentation that is subject to continuous change. The first and third case are part of Software Technology for Self-Adaptive Systems, a Synergy project led by Linnaeus University and funded by the Knowledge Foundation. The second case is part of a research and development collaboration between Linnaeus University, KU Leuven and VersaSense (a provider of IoT solutions).
"The three cases demonstrate that self-adaptation provides a viable solution to solve some of the hard problems of modern software systems", said Danny Weyns.
Some takeaways and trends visualized in the talks during STEW
- We are moving to "continuous everything" in the ICT landscape – ranging from continuous adaptation to continuous experimentation up to continuous decision making in ICT companies.
- Autonomous systems is the future, with autonomous cars as the point of gravity.
- Fast recovery above high reliability. The Netflix example: having many small downtimes is preferred over one big downtime.
- The traditional relationship between academia and industry is changing. Both sectors can provide different commentary views on problems, generating synergy beyond what can be generated by individual sectors.