Softwareentwicklung: Neues Tool schützt vor Versions-Konflikten

2. November 2016 Initiativen/Trends
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.

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. Details