Designing software systems that have to deal with uncertain operating conditions, such as dynamic availability of resources, faults that are difficult to predict, and changing user needs, is complex. A promising approach to handle such dynamics is self-adaptation that is realized by enhancing software systems with feedback loops.
Based at the Department of Computer Science, AdaptWise conducts research in self-adaptive systems. Some of the concrete aspects we are interested in are:
- What are appropriate formalisms and design models to realize and assure self-adaptation for different quality concerns?
- How can we represent uncertainties supporting online reasoning for adaptation?
- How can the design models be exploited at runtime to provide evidence for the required adaptation goals?
- How can machine learning techniques be exploited to support self-adaptation in large-scale systems and data-intensive domains?
- What are appropriate runtime approaches to handle evolving requirements?
- What is the interplay of self-adaptation at different layers of the software stack?
- What are appropriate methods and techniques for strategic reuse in engineering processes for self-adaptive software systems?
- How to create synergy between self-adaptive systems research and industrial practice?
We are particularly interested in decentralized systems, where adaptation is realized by multiple feedback loops.
The AdaptWise team works actively together with several international research groups, as well as with local industry. The team validates its research results in the domains of Internet of Things and Cyber-Physical-Systems.
Connection to Linnaeus University Centre for Data Intensive Sciences and Applications (DISA)
The Linnaeus University Centre for Data Intensive Sciences and Applications (DISA) studies research challenges in the collection, analysis, and use of large data sets. With its core in computer science, DISA takes a multidisciplinary approach and collaborates with researchers from all faculties at the university.
In connection to DISA, AdaptWise studies:
Machine learning for self-adaptation
Realizing adaptation in complex data-intensive application domains is challenging. Examples include building an up-to-date runtime model of a system that operates in a highly uncertain environment, and selecting the best adaptation option from a large space of options under a given time constraint. We investigate how learning techniques can be applied to tackle such challenges.
Self-adaptation for machine learning
The proper working of many machine learning techniques depends on proper setting of parameters. Yet, this often requires manual effort. Furthermore, the settings may not remain optimal when the operating conditions change over time. Recently AdaptWise started to investigate how principles of self-adaptation can be applied to enable automatic parameter tuning of machine learning techniques. More specifically, we look into how self-adaptation can be applied as a basis for self-learning.
Connection to Smarter Systems
Smarter Systems is a complete knowledge environment focusing on the challenges of the sustainability and trustworthiness of future computing systems. Engineering modern computing systems that operates in uncertain and continuously changing environments is challenging. Both systems and the way, we engineer them must become more intelligent. This is what the AdaptWise aims to achieve by studying Smarter Self-Adaptive Software Systems (SSASS).
Smarter self-adaptive systems are equipped with adaptive mechanisms centred on a feedback loop system. These systems continuously improve their capabilities to cope with uncertainties they encountered throughout their lifetime, from inception to runtime and maintenance. Data-intensive technologies are core to realize the vision of the smarter self-adaptive systems. In particular, machine learning techniques are core to mitigate uncertainty and achieve scalable solutions. AdaptWise contributes to three challenges of Smarter Systems:
Providing architects and developers of smarter self-adaptive software systems with analysis and reasoning support to mitigate uncertainties.
Formalisms and design models to realize and assure self-adaptation for different quality concerns, such as performance, availability, and security.
Defining process support with appropriate methods and techniques to engineer smarter self-adaptive software systems.
Connection to Education
AdaptWise is involved in following courses:
- 2DV604, Software Architectures, 7.5 credits
- 1DV607, Object-Oriented Analysis and Design using UML, 7.5 credits
- 1DV532, Starting Out with Java, 7.5 credits
- 1DV533, Structured programming with C++, 7.5 credits
- 1DV534, Object-Oriented Programming with C++, 7.5 credits
- 2DV600, Foundations of Software Technology, 7.5 credits
- 2DV609, Project Course in Software Engineering, 7.5 credits
- 4DV610, Adaptive Software Systems, 7.5 credits
Project: Software Technology for Self-Adaptive Systems The purpose of this project is to increase the engineering efficiency of self-adaptive systems. The development, maintenance and operation of…
Seed project: Analyzing state-of-the-practice for self-adaptive systems in industry using data analytics The main objective for this seed project within Linnaeus University Centre for Data Intensive…