Prof. Dr. Danny Weyns: Engineering self-adaptive systems: From automating tasks to learning from experience

Abstract

Handling change is an increasingly important challenge for software engineers. The focus of our research is on changes that are caused by uncertainties in the operating conditions of a system that are hard to be anticipated before deployment or manually handled at runtime. Self-adaptation enables a system to resolve these uncertainties autonomously, with no human intervention or only the intervention that is preferred. A characteristic example is an IoT area security monitoring application where the system tracks changes in the interference of the wireless network and dynamics in traffic load and automatically adjusts the power settings of devices and network topology to ensure a reliable and energy-efficient service.

In this talk, I start with explaining the basic principles of self-adaptation. Then I will provide a comprehensive introduction to the engineering of self-adaptive systems that is structured in seven waves that emerged over time. These waves put complementary aspects of research on engineering self-adaptive systems in focus that synergistically have contributed to the current body of knowledge in the field. The different waves are illustrated with several characteristic examples from different application domains. The talk concludes with an outline of open challenges for future research in this exciting area.