Self-Adaptive Software Systems
The group develops methods and techniques for the model-driven specification and quality assurance of self-adaptive software systems.
Members: Markus Luckey , Benjamin Nagel , Christian Gerth, Gregor Engels
Contact: Markus Luckey
Description
Self-Adaptive Systems are the software systems of tomorrow. Self-adaptive systems autonomously react to problems or changes in their environment at runtime in order to maintain their functionality. Types of adaptation include the replacement of components, the configuration of components, or the adaptation of data. For instance, a web application that uses the google image service might autonomously switch to flickr when it recognizes problems with the google service. Concrete problems might be crashing services, lacking service quality, or even errors in the provided service functionality.
Developing self-adaptive systems imposes many new challenges. While most of the challenges currently being addressed reside on implementation level, self-adaptation is hardly approached on specification level. That is, self-adaptivity is hardly specified during the requirements and early design phase. However, just like other aspects such as performance, usability, etc., self-adaptivity is an software aspect on its own which should be modeled and analyzed explicitly to prevent creating error-prone software. In particular, due to the nature of self-adaptivity, software gets more and more complex and the software designer hardly can oversee and understand the variety of different runtime configurations that have been introduced by self-adaptivity.
In order to approach the problem of lacking specification approaches for self-adaptive system, we are currently working on a holistic modeling and analysis approach for adaptive systems. Our approach, called Adapt Cases, is based on the UML and uses model-checking techniques to assure high quality of created software models.
Tools
We developed a wide range of prototypical Tools to evaluate our approaches. Please get in contact with us if you are interested in any of the tools. The following tools are available:
- Adapt Case Editor (Specifcation of Adaptation Rules)
- QUAASY Workbench (QUality Assurace of Adaptive SYstems, uses Adapt Cases)
- Business Process Adapt Case Workbench (Specification and Quality Assurance of Business Processes)