Freier Software-Simulator: Palladio

Das Karlsruher Institut für Technologie (KIT) hat ‘Palladio‘ entwickelt, einen quelloffenen Software-Simulator. Mit dem Simulationstool können Programmierer den Grundriss ihrer Software prüfen, bevor teure Implementationen stattfinden.

Je früher man ein Problem erkennt, desto einfacher kann man es lösen. Deshalb wollen auch Informatiker, bevor sie langwierig komplexe Programme implementieren, wissen, ob diese die gewünschte Leistung erbringen werden. Neben der Berufserfahrung können Entwickler sich nun auch auf das Simulationstool Palladio stützen. Das von Prof. Ralf Reussner vom KIT initiierte und koordinierte Softwarepaket analysiert im Vorfeld die Programmstruktur und prognostiziert Ressourcenbedarf und Einschränkungen.

Bild: KIT
Bild: KIT

“Am Anfang stand die Beobachtung, dass Software-Entwickler nach dem Trial-and-Error-Verfahren arbeiten – bei näherer Betrachtung eigentlich eine ineffiziente Methode, fehlerfreie Software herzustellen”, sagt Reussner. Das sei vergleichbar mit dem Brückenbau: “Wenn man eine Brücke bauen möchte, setzt man nicht einfach Stein auf Stein, lässt anschließend einen LKW darüber fahren und hofft, dass die Brücke hält.” Stattdessen berechnen Simulationsprogramme Statik und Bauweise und liefern so verlässliche Rahmenbedingungen für Architekten.

Diese Vorgehensweise wurde nun von Reussners Forschergruppe auf die Softwaretechnik übertragen. Entstanden ist das Open-Source-Paket Palladio und ein Beratungsangebot für Industriepartner. Benannt ist das Projekt nach dem Renaissance-Architekten Andrea Palladio, der stilgebend Ästhetik und Funktion in seinen Bauwerken vereinte. Es soll Programmierer bei der Entwicklung verlässlicher, nachhaltiger und komplexer Software unterstützen. Die Analyse der Software-Architektur liefert Erkenntnisse über die nicht-funktionalen Eigenschaften wie Performanz, Zuverlässigkeit, Wartbarkeit und Kosten. Auch Abläufe in den Komponenten, Skalierbarkeit, Ressourcennutzung und Verteilungsaspekte der Software werden offen gelegt – der komplette “Grundriss” der Software wird überprüft bevor “gebaut” wird.

Palladio arbeitet modellbasiert. Anstatt über Versuch und Irrtum ein Software-System zu implementieren und dann Einschränkungen festzustellen, hilft Palladio dabei, mögliche Einschränkungen, etwa Flaschenhälse, Last- und Elastizitätsprobleme, im Vorfeld auf der Modellebene zu vermeiden.

Die Anwendungsmöglichkeiten von Palladio machen den Software-Simulator interessant für Industrie und Wirtschaft mit komplexen Softwaresystemen oder in Anwendungen mit hohen Qualitätsanforderungen. Besonders Unternehmen mit ausgeprägter IT-Struktur erhalten damit die Möglichkeit, eine verbesserte Qualitätssicherung durchzuführen.

Das Karlsruher Forschungszentrum Informatik (FZI) hat Palladio bereits in Projekten eingesetzt. “Derzeit bereiten wir Palladio auf die Simulation der Integration von Bestands-Software und Cloud Computing vor, das sogenannte hybride Cloud-Computing”, sagt FZI-Abteilungsleiter Dr. Klaus Krogmann. “Auf diese Weise können wir beispielsweise die Cloud-Performanz mit Bestands-Software verknüpfen.”