Informatik, TU Wien

Softwareentwicklung: Neues Tool schützt vor Versions-Konflikten

Wie können viele Leute gemeinsam Software entwickeln? Ein neues Tool, basierend auf Forschung der TU Wien, hilft beim Verwalten verschiedener Versionen und schützt damit vor gefährlichen Fehlern.

TU Wien, Presseaussendung 63 / 2016, Florian Aigner

Jeden Tag vertrauen wir Computerprogrammen unsere Sicherheit an, oft ohne es zu bemerken. Ein modernes Auto wird heute durch ein Softwaresystem gesteuert, das so kompliziert ist, dass es ein einzelner Mensch nicht mehr durchblicken kann. Bei der Entwicklung arbeiten oft viele Leute zusammen, die verschiede Versionen gleichzeitig weiterentwickeln. Wie kann man garantieren, dass solche hochkomplexen Kooperationen nicht im Chaos enden, sondern eine Software hervorbringen, die garantiert das tut, was sie machen soll? In vielen Teilen der Industrie hat sich die sogenannte „modellbasierte Entwicklung“ als mögliche Lösung herauskristallisiert – und das bringt neue Herausforderungen an die Softwareentwicklungswerkzeuge mit sich.

In der Business Informatics Group (BIG) der TU Wien, unter der Leitung von Prof. Gerti Kappel, wird an dieser Frage seit Jahren geforscht. Basierend auf Know-How der TU Wien präsentiert die Firma LieberLieber nun das Produkt „LemonTree“ – ein Modell-Versionierungssystem, das nun anspruchsvolle Softwareentwicklung erleichtern soll, beispielsweise in der Automobilindustrie. Das hilft zunächst Softwarefirmen, die garantieren müssen, dass ihre Codes den vereinbarten Ansprüchen genügen, und es fördert letzten Endes auch unsere Sicherheit, wenn wir auf das Funktionieren von Software vertrauen – im Auto genauso wie im Flugzeug.

Modellbasierte Softwareentwicklung

Wer heute Softwaresysteme entwickelt, macht sich nicht einfach mal eben ans Werk, man braucht zu Beginn ein detailliertes Modell des Codes. „Ähnlich wie man in Architektur und Design zunächst genaue Pläne festlegt, sich überlegt, wie die einzelnen Elemente ineinandergreifen und welche Aufgaben sie erfüllen, erarbeitet man auch in der Softwareentwicklung zunächst ein Modell des Programms“, erklärt Konrad Wieland. Er promovierte im Jahr 2011 bei Gerti Kappel an der TU Wien über konflikttolerante Modellversionierung und bringt dieses Know-How nun in der Softwarefirma LieberLieber ein.
„Diese Modelle kann man sich vorstellen wie ein großes kompliziertes Netz, in dem genau verzeichnet ist, welche Teile des Programms mit welchen anderen zusammenhängen, welche Spezifikationen sie erfüllen müssen und welche Tests notwendig sind“, erklärt Wieland. Wenn das Modell sehr präzise erstellt wird, kann man Teile des Programmcodes dann sogar automatisch erstellen lassen – der Computer selbst wird zum Softwareentwickler. Modellbasierte Softwareentwicklung ist aus der Arbeit vieler Software- und Hardwarefirmen heute nicht mehr wegzudenken.

Doch so mächtig diese Methode auch ist, sie bringt große Herausforderungen mit sich: „Die Komplexität von Softwaresystemen wird immer größer, in immer kürzerer Abfolge werden neue Versionen produziert, oft ist es sogar nötig, verschiedene Versionen gleichzeitig zu entwickeln“, sagt Konrad Wieland. Jeder Mensch muss dabei zwangsläufig irgendwann den Überblick verlieren – und genau aus diesem Grund hat LieberLieber nun das Tool „LemonTree“ entwickelt.

Verschiedene Versionen? Kein Problem!

LemonTree verwaltet Softwaremodelle, an denen unterschiedliche Teams gleichzeitig arbeiten. Auf mögliche Konflikte wird hingewiesen, verschiedene Versionen lassen sich am Ende zusammenführen. „Damit lässt sich auch herausfinden, welche Auswirkung eine bestimmte Änderung hat, und welche zusätzlichen Anpassungen notwendig werden, wenn man an einem bestimmten Punkt Änderungen durchführt“, erklärt Wieland.

Ein spezieller Algorithmus wurde entwickelt, der unterschiedliche Modellversionen vergleicht und Änderungen für den Menschen nachvollziehbar darstellt. Das kann eine sehr komplizierte Aufgabe sein – eine Änderung kann tausende weitere Anpassungen nötig machen, trotzdem muss das Tool in kurzer Rechenzeit verlässlich die richtigen Ergebnisse liefern und sie graphisch passend darstellen.

Große Nachfrage in der Industrie

Am 20. September wird LieberLieber das neue Produkt LemonTree nun offiziell präsentieren. Erste Kunden hat man schon – darunter große Player aus der Automobilbranche wie HIMA oder Mitsubishi. Auch Bosch nutzt bereits das Know-How von LieberLieber. „Der Markt wächst, unsere Zielgruppe wird immer größer“, ist Konrad Wieland zuversichtlich. Ähnlich wie andere Produktionssparten im Lauf der Zeit automatisiert wurden, wird nun auch die Softwareentwicklung teilweise automatisiert – der Bedarf an Tools, die bei der automatischen Softwareentwicklung helfen, wird weiter wachsen.

Rückfragehinweis:
Dr. Manuel Wimmer
Business Informatics Group
Institut für Softwaretechnik und Interaktive Systeme
Technische Universität Wien
T: +43-1-58801-18829
wimmer@big.tuwien.ac.at

Aussender:
Dr. Florian Aigner
Büro für Öffentlichkeitsarbeit
Technische Universität Wien
Operngasse 11, 1040 Wien
T: +43-1-58801-41027
florian.aigner@tuwien.ac.at