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

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.