DevOpt – DevOps for Self-Optimizing Emergent Systems
Due to the continuously growing complexity of software-intensive system, classical computer science methods and approaches are stretched to their limits. Modern software-intensive systems are typically part of a larger IT eco-system, which is changed continuously because of increasing entanglement of development and operations (DevOps). Hence, in contrast to traditional, hierarchical systems, such IT eco-systems do not consist of subsystems for which interaction is globally plannable, designable, and controllable. In fact, modern IT eco-systems are complex and adaptive networks of systems, which in turn consist of autonomously interacting single systems (‘smart ecosystems’). A significant property of such systems is the emergence of emergent behavior based on the interplay of the systems’ elements. That means, behavior, which is not predefined in detail, but arises within the system itself. In the course of its operation, the system is changed continuously, which leads to an autonomous self-adaptation.
In the DevOpt project, the partners aim at an approach for the development and operation of so-called controlled emergent systems. That means an approach for software eco-systems, which are under control of superior instances, but yield new behavior based on their own adaptation. For that purpose, an emergent and distributed system is understood as a three-layered architecture, which consists of an IoT layer, a control layer, and a DevOps layer. The figure above illustrates these three layers based on an example of an electric grid scenario. IoT eco-systems in the IoT layer, like houses, streets, or factories, negotiate their working configuration and usage of resources. They optimize these parameters and, hence, generate emergence on the level of local components. The control layer manages multiple local IoT eco-systems and makes comprehensive control decisions; for example, nearby wind turbines should be enabled or disabled. The DevOps layer monitors the overall system and, e.g., provides new energy consumption patterns to the local environments to improve the recognition. Further, this layer performs remote analyses of sensors and components and, if necessary, provides improved program code for those elements.
The group Software Systems Engineering (SSE) by Prof. Dr. Klaus Schmid is working on methods and techniques for efficient software adaptation and how this adaptation can be carried out by software autonomously. With this and other work, the group has made a nationwide name and is therefore the project leader of the DevOpt project, which is funded with about 2 million Euros over three years by the BMBF (German Ministry of Research and Education). Besides the University of Hildesheim, the consortium consists of Siemens AG, BREDEX GmbH, pdv software GmbH, and the Technische Universität Clausthal.
The SSE researchers focus in particular on modeling of the described systems above, their dynamics and rules. Hence, it will be possible to flexibly model parts of the system and to use such partial models for consistency checks as well as local or global optimizations. Further, these models will enable efficient and effective planning and self-organization of (parts of) the system. The SSE group also participates in runtime monitoring of these systems and their design.
Duration: 3 years
The DevOpt project is funded by Fördermaßnahme IKT 2020 – Softwareintensive eingebettete System of the German Ministry of Research and Education (Bundesministeriums für Bildung und Forschung, BMBF) in Förderbereich Konstruktionsprinzipien und Laufzeitmethodik für dynamische IT-Systeme.
Christian Kröher, Klaus Schmid, Simon Paasche and Christian Severin Sauer
Combining Central Control with Collective Adaptive Systems
2021 IEEE International Conference on Autonomic Computing and Self-Organizing Systems Companion (ACSOS-C)
Collective Adaptive Systems (CAS) achieve high resilience by providing distributed self-* properties through autonomous elements. While they are very beneficial for achieving high reliability, they are more difficult for dealing with targeted external inputs or ensuring globally optimal results. It is easier to achieve these properties with centralized approaches. Ideally, one could combine the benefits of collective adaptive systems with aspects of central control to achieve the best of both paradigms. While such combinations have already been shown in previous work, here, we aim at a systematic discussion of the range of approaches to integrate both control paradigms. As a result, we present a taxonomy of control action types, which describes how a central control unit can interact with a CAS to achieve the desired overall behavior, providing a first step towards CAS control patterns and identifying the involved trade-offs. Ideally, one could combine the benefits of collective adaptive systems with aspects of central control to achieve the best of both paradigms. While such combinations have already been shown in previous work, here, we aim at a systematic discussion of the range of approaches to integrate both control paradigms. As a result, we present a taxonomy of control action types, which describes how a central control unit can interact with a CAS to achieve the desired overall behavior, providing a first step towards CAS control patterns and identifying the involved trade-offs.