Stuckenholz, Alexander2023-05-032023-05-032008https://dl.gi.de/handle/20.500.12116/41376Auch Software altert! Nicht jedoch durch den Verfall von Bits und Bytes, sondern durch ständig wechselnde Anforderungen, neue Begehrlichkeiten und sich verändernde technische Rahmenbedingungen. Der Aufwand und die Risiken der Softwarewartung, in der die Softwarearchitekturen nachträglich angepasst werden müssen, werden allerdings traditionell unterschätzt. Das vorliegende Werk befasst sich daher mit der ungeplanten Softwareevolution im Bereich der komponentenbasierten Softwarearchitekturen und den damit häufig verbundenen Inkompatibilitäten, hervorgerufen durch notwendige Komponentenupdates. Ziel einer Migration oder eines Updates muss immer die Bewahrung der Gesamtkompatibilität einer Systemarchitektur sein. Zudem sollten Systemarchitekten und Administratoren durch Werkzeuge und automatisierte Verfahren unterstützt werden. Neben einer ersten Analyse des Problems werden Lösungsansätze verschiedener praxisrelevanter Rahmenwerke, Programmiersprachen, Paketmanagementsystemen und forschungsbasierten Ansätzen dargestellt und bewertet. Eine Marktstudie, die die zu erwartende Häufigkeit von Komponentenupdates beleuchtet, belegt die Praxisrelevanz der Problematik. Da kein aktueller Ansatz den Anforderung Genüge leistet, wird, auf den erarbeiteten Erkenntnissen aufbauend, zunächst ein formales Schnittstellenmodell erarbeitet, mit dessen Hilfe die Austauschbarkeit und der Grad der Gesamtkompatibilität von Systemkonfigurationen nachgewiesen werden kann. Die besondere Leistung der Arbeit stellen aber die neuartigen Verfahren dar, die in der Lage sind, mit Hilfe der kombinatorischen Optimierung automatisiert Migrationspfade zu berechnen. Hierdurch können auf Knopfdruck gegenüber verschiedenen Nebenbedingungen optimale Konfigurationen erzeugt werden. Hierzu wird neben der booleschen Optimierung ein spezielles heuristisches Verfahren vorgestellt. Die abschließende Fallstudie, in der entsprechende Werkzeuge realisiert und anhand eines Projektes aus der Open-Source-Welt evaluiert wurden, liefern wertvolle Erkenntnisse für den täglichen Einsatz der erarbeiteten Verfahren.deKompatibilitätsbewahrende KomponentenupdatesText/Journal Article0720-8928