Informatics, TU Vienna

Engineering Self-Adaptive Systems

Guest professor course and lecture given by Prof. Danny Weyns, one of the leading experts on self-adaptive systems.

The PhD School of Informatics invites you to the following guest professor course, given by Prof. Danny Weyns, one of the leading experts on self-adaptive systems. The topic will be suitable for PhD students in all research areas with interest in better understanding self-adaptive systems. 

Course Registration until April 8

The course will be held the summer term 2018 and is organised by the Vienna PhD School of Informatics: 

195.104 Engineering Self-Adaptive Systems (VU, 3.0 ECTS) by Prof. Danny Weyns, Katholieke Universiteit Leuven (Belgium): TISS

Start: April 9, 2018

Registration in TISS is already open and required (until April 8). This course is open to master/doctoral students of our faculty.

The goals of the course are:

  1. To understand the role of quality models throughout the lifetime of software systems
  2. To be able to design quality models for simple distributed systems
  3. To be able to write and verify quality properties for simple distributed systems
  4. To understand the principles of self-­‐adaptation
  5. To be able to design a simple feedback loop for a distributed self-­‐adaptive system

Current Trends in Computer Science: Talk on April 11, 2018

Furthermore, Prof. Weyns will give a talk about his research area as part of the lecture series “Current Trends in Computer Science” on Wednesday, April 11, 15:00-17:00.  Please save the date! The location for this lecture will be announced on time.


Self-adaptation is an important field of research and engineering that aims to address the challenging problem of how to engineer software systems that have to deal with uncertainties that can only be resolved at run time. We will use an Internet-of-Things (IoT) application as a running example throughout the course. Ensuring reliability and energy efficiency in IoT systems that have to operate under uncertainties, such as interferences in the wireless network or continuously changing load of the network, is an example problem that can be tackled using self-adaptation. The course will consist of three parts. The first part focuses on quality models, including automata (e.g. to model robustness), Markov models (e.g. for energy consumption), and queuing models (e.g. for latency). In the second part, we discuss how quality models can be used to estimate quality properties at design time. Part three presents the basic principles of self-adaptation and introduces a conceptual feedback loop model of a self-adaptive system. We then zoom in on how quality models are exploited at runtime by a self-adaptive system to provide guarantees for the quality goals, regardless of uncertainties. We discuss different techniques, including simulation and verification at runtime. The course will combine lectures with assignments and hands-on exercises.


I am a professor at the Department of Computer Science of the Katholieke Universiteit Leuven. I divide my time between the Campus Heverlee in Leuven and the Kulak Campus in Kortrijk. My main research interests are in software engineering of self-adaptive systems. Self-adaptation endows a software system with the capability to adapt itself to deal with uncertain operating conditions, such as dynamic availability of resources, faults that are difficult to predict, and changing user goals. Together with my PhD students, we study formalisms and design models to realize and assure self-adaptation for different quality goals. Our primary interest is in how we can exploit the design models and verification techniques at runtime to provide assurances for the required adaptation goals. We apply both architecture-based and control-based approaches to realise self-adaptation. We are particularly interested in decentralized systems, where adaptation needs to be realized by multiple feedback loops. I am also partime affiliated with Linnaeus University Sweden, where I worked fulltime as a professor from March 2011 till September 2015. I received a PhD from for the KU Leuven in 2006 for work on multiagent systems and software archtitecture. After my PhD, I was postdoc fellow, funded by the Research Foundation Flanders.