Ulmer und Stuttgarter Wissenschaftler erforschen am Beispiel von Quadrokopter-Schwärmen und Cloud Computing-Systemen, wie sich die Software-Performance so optimieren lässt, dass die benötigte Ausführungsgeschwindigkeit jederzeit ausreichend ist. Im Falle der Quadrokopter ist dies relevant, um Kollisionen zu vermeiden. Fachlich im Mittelpunkt steht dabei das Performance Engineering von sogenannten Modelltransformationen. Die Informatiker wollen damit Software-Ingenieure bei der Entwicklung von performancekritischen Systemen unterstützen. Gefördert werden die Wissenschaftler dabei von der Deutschen Forschungsgemeinschaft (DFG) mit 600 000 Euro.
Kleine Drohnen wie Quadrokopter werden heute bereits auf den vielfältigsten Anwendungsgebieten professionell eingesetzt, wenn es um den Transport von Kleingütern oder die Gewinnung von Bild- oder Messdaten geht. Doch damit diese unbemannten Flugobjekte nicht zur Sicherheitsgefahr werden, müssen sie nicht nur automatisch navigieren können, sondern auch in der Lage sein, blitzschnell und zuverlässig auf mögliche Gefahrensituationen zu reagieren. Eine besondere Herausforderung ist dabei die automatische Kollisionsvermeidung. "Ein wichtiger Aspekt ist hier die Software-Performance. Bei dreidimensionalen Navigationsmanövern mit mehreren Drohnen fallen viele Steuerungs- und Sensordaten an, die ohne Zeitverzug verarbeitet werden müssen", erklärt Professor Matthias Tichy, Leiter des Instituts für Softwaretechnik und Programmiersprachen an der Universität Ulm. Und auch beim Cloud Computing kommt es darauf an, große Datenmengen effizient zu bewältigen, damit Web-basierte Systeme auch unter großen Lastsituationen reaktiv bleiben. Der Informatiker möchte nun gemeinsam mit Fachkollegen der Universität Stuttgart den Software-Ingenieuren, die solche komplexen Echtzeitsysteme entwickeln, wissenschaftlich unter die Arme greifen.
Rechenverzögerungen können bei Drohnen gefährlich werden
Softwaresysteme wachsen kontinuierlich in Größe und Komplexität. Dies gilt im Großen für den Fahrzeugbereich, wo der Softwareanteil in Autos alle zehn Jahre um eine Größenordnung wächst. Im Kleinen stellt bereits die Software zur automatischen Navigation von Drohnen die Entwickler vor große Herausforderungen. Um Softwareentwicklungsprozesse besser überschauen und kontrollieren zu können, wird in den letzten Jahren verstärkt auf den Einsatz von Modellen und Modelltransformationen gesetzt. "Modelle stellen Probleme anhand bestimmter Ziele so abstrakt dar, dass Entscheidungen leichter getroffen werden können. Modelltransformationen helfen dabei massiv bei der Analyse und Verarbeitung solcher Modelle", so Professor Steffen Becker vom Institut für Softwaretechnologie der Universität Stuttgart. Diese Modelltransformationen müssen beim Drohnenbeispiel in Echtzeit ausgeführt werden, um gefährliche Rechenverzögerungen - beispielsweise bei der automatisierten Manöverplanung - auszuschließen.
"Obwohl die Software-Performance entscheidend ist für die Sicherheit und Zuverlässigkeit solcher Systeme, befassen sich Softwareingenieure, die im Bereich Modelltransformationen arbeiten, heutzutage oft nicht systematisch mit der Performance, sondern betrachten diese meist erst ad-hoc, beispielsweise erst wenn Probleme aufgetreten sind", bemängelt Tichy. Um dies zu ändern, forschen die Wissenschaftler aus Ulm und Stuttgart an der Entwicklung eines ganzheitlichen Ansatzes für das Performance-Engineering von Modelltransformationen. Die Projektergebnisse sollen den Softwareentwicklern dabei helfen, die Ursachen von Ausführungsproblemen systematisch aufzudecken und vorherzusagen, wie hoch der Verbrauch an Zeit und Rechenressourcen bei der Ausführung von Modelltransformationen sein wird.
Die Forscher arbeiten mit Cloud-Systemen und Quadrokopter-Schwärmen
Um eine große Anwendungsbreite der Projektergebnisse zu gewährleisten, arbeiten die Informatiker nicht nur mit unterschiedlichen Transformationssprachen, sondern zugleich mit verschiedenen realen Demonstratoren. So werden die Projektergebnisse an selbstadaptiven Cloud-Systemen getestet als auch an Quadrokopter-Schwärmen. Denn diese sind hervorragende Beispiele für performancekritische Systeme. In einem speziell eingerichteten Quadrokopter-Labor an der Universität Ulm prüfen die Softwarespezialisten, wie sich Modelle und Modelltransformationen so implementieren lassen, dass sie garantiert in Echtzeit Ergebnisse liefern und damit eine unfallfreie Navigation in Gefahrensituationen ermöglichen. Geplant sind zudem Nutzerstudien, um sicher zu stellen, dass die Projektergebnisse den Softwareingenieuren auch tatsächlich helfen können, die Programmausführung, was Zeit- und Rechenaufwand angeht, zu optimieren.
Die Software soll bereits im Entwicklungsprozess getestet werden
Die DFG-Gutachter sind zuversichtlich, dass dies den Ulmer und Stuttgarter Informatikern gemeinsam gelingen wird. Die Wissenschaftsfördereinrichtung unterstützt das Projekt "Modell Transformation Performance Engineering" mit 600 000 Euro. "Profitieren würden von den Ergebnissen in Zukunft auch die Kunden von performancekritischen Produkten. Denn wenn die Software bereits bei der Entwicklung im Unternehmen auf Herz und Nieren getestet ist und nicht erst in der Praxis zur Ausführung kommt, muss der Nutzer nicht zum Software-Tester werden", versichert Professor Matthias Tichy.
Fotos: Elvira Eberhardt / kiz
Text und Medienkontakt: Andrea Weber-Tuckermann