195.104 Engineering Self-Adaptive Systems
This course is in all assigned curricula part of the STEOP.
This course is in at least 1 assigned curriculum part of the STEOP.

2018S, VU, 2.0h, 3.0EC, to be held in blocked form


  • Semester hours: 2.0
  • Credits: 3.0
  • Type: VU Lecture and Exercise

Aim of course

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

Subject of course

Self-adaptation is an important field of research and engineering that aims to deal with the challenging problem of how to engineer software systems that have to deal with uncertainties that can only be resolved at runtime. 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 using tools. Part three presents the basic principles of self-adaptation and introduces a conceptual feedback loop model of a self-adaptive system. We then zoom 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, incl. simulation and verification at runtime. The course will combine lectures with assignments and hands-on exercises.

Additional information

This is a visiting professor course of the Vienna PhD School of Informatics.

It will be held by Danny Weyns / Katholieke Universiteit Leuven (Belgium).

Planning and Timing:

March 14 - April 6: Introduction assignment Automata & Uppaal: The students get a guide of the Uppaal tool and a few simple exercises to get familiar with automata and the Uppaal
tool. The students are expected to submit their solutions of the exercises by April 6.

Monday 9 April (14:00-­16:00): Introduction Course: Introduction of the course; discussion and feedback on the solutions of the introduction assignment.

Tuesday 10 (9:00-12:00): Work session Uppaal: Short introduction followed by advanced exercises of modeling with Uppal (stochastic behavior, property verification)

Wednesday 11 (9:00-12:00): Introduction Quality Models: Lecture about different types of quality models

Thursday 12 (9:00-12:00): Work session Quality Models: Hands-on to design quality models for a simple IoT application

Thursday 12 (15:00 c.t.): Engineering Self-Adaptive Systems: Talk in the context of „Current trends in Computer Science“ for all members of the Faculty of Informatics and interested master / PhD students

Friday 13 (9:00-12:00): Introduction Self-Adaptation: Lecture about principles of self-adaptive systems and how to engineer such systems

Monday 16 (9:00-12:00): Work session Self-Adaptation: Hands-on to design a self-adaptive solution for different quality models of a simple IoT application

Tuesday 17 (9:00-12:00): Work-session Self-Adaptation: continue the work of a self-adaptive IoT application; wrap up lectures; introduction project assignment

April 18 – May 9: Final project assignment: The students get a final project assignment that extends the hands-on exercises of the lectures; students submit their solutions by May 9.
A final evaluation session will then be planned.




Course dates

Mon14:00 - 16:0009.04.2018Seminarraum 125 Lecture
Tue09:00 - 12:0010.04.2018Seminarraum 354 Lecture
Wed09:00 - 12:0011.04.2018Seminarraum FAV 01 C (Seminarraum 188/2) Lecture
Thu09:00 - 12:0012.04.2018Seminarraum FAV 01 A (Seminarraum 183/2) Lecture
Thu15:00 - 16:3012.04.2018 EI4 Reithoffer HS, Gusshausstrasse 25-29, 2nd floorEngineering Self-Adaptive systems: Talk as part of the lecture series "Current Trends in Computer Science"
Fri09:00 - 12:0013.04.2018Seminarraum FAV 01 A (Seminarraum 183/2) Lecture
Mon09:00 - 12:0016.04.2018Seminarraum FAV 01 C (Seminarraum 188/2) Lecture
Tue09:00 - 12:0017.04.2018Seminarraum 354 Lecture
Mon11:30 - 13:0007.05.2018 Favoritenstrasse 9, first floor, Besprechungsraum E194-01 (HC0115Engineering Self-Adaptive systems, Evaluation lecture
Course is held blocked

Course registration

Begin End Deregistration end
01.01.2018 00:00 08.04.2018 23:59

Registration modalities

Please register in TISS.


Study CodeObligationSemesterPrecon.Info
786 881 Computer Sciences Mandatory elective
PhD Vienna PhD School of Informatics Not specified


No lecture notes are available.


  • Attendance Required!