DevOpt – DevOps für Selbst-Optimierende Emergente Systeme
Durch die kontinuierlich wachsende Komplexität von softwareintensiven Systemen stoßen klassische Methoden und Verfahren der Informatik zunehmend an ihre Grenzen. Heutige softwareintensive Systeme sind zunehmend als Teil eines größeren IT-Ökosystems zu betrachten, das kontinuierlich verändert wird, da Betrieb und Entwicklung zunehmend miteinander verschränkt werden (DevOps). Daher bestehen diese IT-Ökosysteme im Gegensatz zu traditionellen, hierarchischen Systemen nicht aus Subsystemen, deren Interaktionen in der Regel global plan-, entwerf- und steuerbar sind. Vielmehr sind sie komplexe, adaptive Systemverbünde von interagierenden autonomen Einzelsystemen (‚smart ecosystems‘). Ein wichtiges Merkmal dieser Systeme ist die Entstehung emergenten Verhaltens durch das Zusammenspiel der Elemente, d.h. Verhalten, das nicht detailliert vorgegeben ist, sondern im System selbst entsteht. Im Verlauf des Betriebs wird das System zudem kontinuierlich verändert, so dass sich dieses jeweils möglichst autonom anpasst.
Im Projekt DevOpt wird ein Ansatz für die Entwicklung und den Betrieb sogenannter kontrollierter emergenter Systeme entwickelt werden, d.h. für Software-Ökosysteme, die unter der Kontrolle übergeordneter Instanzen neues Verhalten aus sich selbst hervorbringen. Hierfür wird ein emergentes, verteiltes System als Drei-Schichten-Architektur aufgefasst, bestehend aus einer IoT-, einer Kontroll- und einer DevOps-Schicht. Diese drei Schichten sind im Schaubild beispielhaft für ein Electric-Grid-Szenario dargestellt. In der IoT-Schicht verhandeln IoT-Ökosysteme, z.B. Häuser, Straßenzüge oder Fabriken ihre Arbeitskonfiguration und Ressourcennutzung. Sie optimieren diese und erzeugen damit Emergenz auf der Ebene der lokalen Komponenten. Die Kontroll-Schicht verwaltet mehrere lokale IoT-Ökosysteme und trifft übergreifende Steuerungsentscheidungen, z.B. dass sich nahegelegene Windkraftanlagen ein- oder ausschalten. Auf der DevOps-Schicht wird das Gesamtsystem überwacht und es werden bspw. neue Energieverbrauchsmuster zur verbesserten Erkennung in die lokalen Umgebungen eingespielt, Sensoren und Geräte aus der Ferne analysiert und fehlerbereinigter Programmcode für Sensoren und Geräte verteilt.
Die Arbeitsgruppe Software Systems Engineering (SSE) um Prof. Dr. Klaus Schmid arbeitet an Methoden und Techniken, wie Software effizient angepasst und diese Anpassung von der Software eigenständig durchgeführt werden kann. Mit dieser und anderen Arbeiten hat sich die Gruppe bundesweit einen Namen gemacht und übernimmt daher die Projektleitung in dem dreijährigen BMBF-Forschungsprojekt DevOpt, das mit insgesamt ca. 2 Millionen Euro gefördert wird. Neben der Universität Hildesheim besteht das Konsortium aus der Siemens AG, BREDEX GmbH, pdv software GmbH und der Technischen Universität Clausthal.
Die Forschenden der Arbeitsgruppe SSE konzentrieren sich in dem Projekt insbesondere auf die Modellierung der oben beschriebenen Systeme mit dem Fokus die Dynamik und Regeln gleichermaßen abbilden zu können. Somit wird es möglich sein einzelne Teile des Systems flexibel zu modellieren und diese Teilmodelle je nach Bedarf für mögliche Konsistenzprüfungen oder lokale wie globale Optimierungen zu verwenden. Ebenso sollen die Modelle eine effiziente und effektive Planung und Selbstorganisation von (Teil-)Systemen ermöglichen. Weiterhin beteiligt sich die Arbeitsgruppe auch an der Laufzeitüberwachung dieser Systeme und deren Design.
Laufzeit: 3 Jahre
Kontakt: Prof Dr. Klaus Schmid, Christian Kröher
Das DevOpt-Projekt wird finanziert durch die Fördermaßnahme IKT 2020 – Softwareintensive eingebettete System des Bundesministeriums für Bildung und Forschung (BMBF) im Förderbereich Konstruktionsprinzipien und Laufzeitmethodik für dynamische IT-Systeme.
Publikationen
Christian Kröher, Lea Kristin Gerling und Klaus Schmid (2023): Control Action Types – Patterns of Applied Control for Self-adaptive Systems In: 18th International Symposium on Software Engineering for Adaptive and Self-Managing Systems IEEE.
Christian Kröher, Lea Kristin Gerling und Klaus Schmid (2022): Combining Distributed and Central Control for Self-Adaptive Systems of Systems. In: 2022 IEEE 42nd International Conference on Distributed Computing Systems Workshops (ICDCSW) S. 109-112. IEEE. 1st DISCOLI Workshop on DIStributed COLlective Intelligence
Christian Kröher (2022): Control Action Types - Patterns of Central Control for Self-adaptive Systems. Hildesheimer Informatik-Berichte Heft / Ausgabe 1/2022, SSE 1/22/E. Software Systems Engineering, Institut für Informatik, Universität Hildesheim. Universitätsplatz 1, 31134 Hildesheim.
Christian Kröher, Klaus Schmid, Simon Paasche und Christian Severin Sauer (2021): Combining Central Control with Collective Adaptive Systems. In: 2021 IEEE International Conference on Autonomic Computing and Self-Organizing Systems Companion (ACSOS-C) S. 56-61. IEEE.
Toufik Mohamed Ailane, Mohammad Abboush, Christoph Knieke, Abram Lawendy und Andreas Rausch (2021): Toward Formalizing The Emergent Behavior in Software Engineering. In: 2021 IEEE/ACM Joint 9th International Workshop on Software Engineering for Systems-of-Systems and 15th Workshop on Distributed Software Development, Software Ecosystems and Systems-of-Systems (SESoS/WDES) S. 32-39. IEEE.