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 such systems should be manageable and cost-efficient, and the systems should be safe, robust, high-performing, etc. To address these issues, we need to adapt proven software technology to the engineering of self-adaptive systems.

Project information

Project manager
Welf Löwe
Project members
Mauro Caporuscio (principal investigator, project A), Jonas Lundberg, Arianit Kurti, Welf Löwe, Rune Gustavsson, Morgan Ericsson (principal investigator, project B), Anna Wingkvist, Maria Ulan, Sabri Pllana (principal investigator, project C), Johan Hagelbäck
Project partners from industry
Hughes Power System, Vattenfall Services Nordic AB, IBM Sweden AB, Sigma Technology, Softwerk, Ericsson, Yaskawa Nordic AB, Wexiödisk AB and ePLAN Software & Service AB
The Knowledge Foundation (KK-stiftelsen)
Sept 2015–Sept 2019
Computer Science (Department of Computer Science, Faculty of Technology)

More about the project

Emerging cyber-physical systems increasingly change and improve the way we live, work, and communicate. It is the software of these systems that, to a large degree, controls their behavior and determines their usefulness to us. While software is a convenient way for humans to “tell” machines how to behave, the engineering of software-intensive systems is far from a mature discipline.

A software system is developed to meet a set of requirements in a given environment that includes other (cyber-physical) systems. Any system must conform to its environment and requirements, so developers must design the system accordingly. The complex nature of both environment and requirements present a challenge to software developers. When both environment and requirements are uncertain at development time, the challenge becomes almost unmanageable. Uncertainty of system requirements and environment can cause expensive, underperforming, and misbehaving systems.

Self-Adaptive Systems mitigate this risk since they are able to change with the environment and requirements, and still remain reliable. To engineer software for self-adaptive systems is expensive and the quality of these systems varies because their development is more complex than traditional software since it cannot rely of well-established software technology.


To increase engineering efficiency when developing software to manage systems with uncertain requirements that run in uncertain environments, software engineers need reusable and consolidated know-how. Software technology provides such reusable knowledge for developing classic software systems, including Theories and Models, Architecture, Processes and methods, Platforms, frameworks, libraries, infrastructures, Algorithms and data structures, and Services and Tools. We refer to these artifacts as TAPPAS. The state-of-the-art contributes such TAPPAS but there is a need to consolidate, validate, and integrate these into a sound engineering approach.

Three application projects

The project is based on three challenging Application Projects for self-adaptive systems:

A. Model-Driven Engineering (MDE) applied to Smart Power Grids with Vattenfall as customer and Hughes Power Systems and IBM as technology providers,
B. Automated Quality Assurance applied to Telecommunication Systems of software and documentation with Ericsson as customer, Sigma Technology and Softwerk as technology providers, and
C. Optimizations applied to Automated Assembly of Customized Control Cabinets for production automation with Wexiödisk and Yaskawa as customers and ePLAN* as technology provider.

Researchers at Linnaeus University will define and develop TAPPAS, in co-production with our industry partners. These are Technology providers who will use, test, benchmark, and validate the TAPPAS, and their Customers who own and directly benefit from self-adaptive systems in their application domains. The answer to our research question is of high relevance to both technology provides and customers.

The project is part of the Software Technology Labs and AdaptWise research groups.

* To date, ePLAN’s formal decision to participate is pending.

Application projects

A. Model-Driven Engineering (MDE) applied to Smart Power Grids

B. Automated Quality Assurance applied to Telecommunication Systems

C. Optimizations applied to Automated Assembly of Customized Control Cabinets


Many companies currently assemble control cabinets manually, from reading and interpreting electrical circuits to the actual assembly of modules and cables. This process could be largely automated with adaptive robots and software systems.


The functionality of a control cabinet is described as electrical circuit using abstract symbols to represent electrical components and lines to represent the wires that interconnect components. An electrical circuit is an abstract representation of control cabinet that does not contain the information about the physical properties, such as, component dimensions. To produce the control cabinet, one needs first to develop a real-world cabinet layout based on electrical circuit. In the cabinet layout, (1) abstract symbols are mapped to real-world components with their corresponding physical properties, and (2) location of components within the cabinet is determined.

Determining the optimal location of cabinet components requires the exploration of a large configuration space. For real-world control cabinets it is impractical to evaluate all possible cabinet configurations. Therefore, we apply methods for intelligent exploration of cabinet configuration space that enable to find a near-optimal configuration without evaluation of all possible configurations.