Self-adaptation enables a software system to execute successfully under situations that are unknown during design time. An adaptive software system thus can handle situations at run time such as the actual environment the system faces during operation, whether or not the software still has bugs, as well as when and how the requirements may change. To this end, adaptive software systems reconfigure their structure or modify their behaviour at run-time in response to their perception of themselves, their environment, and their requirements.
As an example, a cloud system during run time may face an unexpected change in its workload, such as a radical increase in the number of users that simultaneously access the system. As a consequence, the cloud system in its current configuration is not able to handle such workload and thus cannot satisfy its response time requirements. To handle this situation, the cloud systems thus may dynamically add additional compute resources to handle the increased workload.
- Continuous Delivery (DevOps) and evolution of self-adaptive systems
- Online machine learning for self-adaptive systems
- Coordinated adaptation among cloud applications and infrastructure
Development, Operation, and Quality Assurance of Trustworthy Smart IoT Systems
The ENACT project will enable DevOps in the realm of trustworthy smart IoT sytems, espeacially in the application fields eHealth, Smart City and smart transportation systems.
Secure Data Processing in the Cloud
The RestAssured project dvelops solutions for cloud systems that are able to react to changes in the environment or requirements by making appropriate adjustments at runtime.
Since 2012 the joint project iObserve belongs to the Priority Program 1593 (Design For Future - Managed Software Evolution). There are developed new monitoring and modeling techniques for cloud software.