Hasso-Plattner-InstitutSDG am HPI
Hasso-Plattner-InstitutDSG am HPI
Login
 

Sona Ghahremani

„Incremental Self-Adaptation of Dynamic Architectures Attaining Optimality and Scalability“

Die Landschaft der Software-Selbstanpassungen ist von der Notwendigkeit geprägt, zur Laufzeit und angesichts dynamischer Betriebsbedingungen kosteneffizient (Software-)Qualität zu erreichen und aufrechtzuerhalten. Optimierungsbasierte Lösungen führen eine umfassende Suche im Anpassungsraum durch und können daher Qualitätsgarantien bieten. Allerdings machen diese Lösungen das Erreichen optimaler Anpassungspläne zeitintensiv und behindern dadurch die Skalierbarkeit. Umgekehrt führen deterministische regelbasierte Lösungen nur zu suboptimalen Anpassungsentscheidungen, da sie typischerweise an Annahmen zur Entwurfszeit gebunden sind. Sie bieten jedoch eine effiziente Verarbeitung und Implementierung, Lesbarkeit und Ausdruckskraft einzelner Regeln und unterstützen so eine frühzeitige Überprüfung der Korrektheit. Um den Kompromiss zwischen Qualität und Kosten anzugehen, sind Lösungen erforderlich, die gleichzeitig die Skalierbarkeit und Kosteneffizienz des regelbasierten Strategieformalismus und die Optimalität des optimierungsbasierten Strategieformalismus als explizite Artefakte für die Anpassung berücksichtigen. Utility-Funktionen, d.h. Spezifikationen auf abstrakter Ebene, die Systemziele erfassen, unterstützen die explizite Behandlung des Qualität-Kosten-Kompromisses. Dennoch sind Nichtlinearitäten, komplexe dynamische Architekturen, Black-Box-Modelle und Laufzeitunsicherheit, die das Vorwissen überflüssig macht, einige der Quellen von Unsicherheit und Subjektivität, diedie Utility-Erhöhung nicht trivial machen.

Diese Arbeit schlägt eine zweifältige Lösung für die inkrementelle Selbstanpassung dynamischer Architekturen vor. Zunächst stellen wir Venus vor, eine Lösung, die in ihrem Design einen regel-und optimierungsbasierten Formalismus kombiniert und so eine optimale und skalierbare Anpassung dynamischer Architekturen ermöglicht. Venus enthält regelartige Konstrukte und nutzt die Utility-Theorie für die Entscheidungsfindung. Mithilfe einer graphbasierten Darstellung der Architektur erfasst Venus Regeln als Graphmuster, die Architekturfragmente darstellen, und ermöglicht so die Erweiterbarkeit zur Laufzeit und damit die Unterstützung dynamischer Architekturen. Die Architektur wird bewertet, indem den Fragmenten Utility-Werte zugewiesen werden. Die graphbasierte Definition von Regeln und Utility ermöglicht die inkrementelle Berechnung von Änderungen der Utility, die sich aus Regelausführungen ergeben, anstatt die gesamte Architektur zu bewerten, was die Skalierbarkeit verbessert. Des weiteren stellen wir HypeZon vor,eine Hybridlösung zur Laufzeitkoordination mehrerer Standardanpassungsstrategien, die typischerweise nur eine partielle Erfüllung der Qualitäts-und Kostenanforderungen bieten. HypeZon wurde auf der Grundlage der meta-selbstwahrnehmenden Architekturen umgesetzt und ergänzt Venus durch die Wiederverwendung bestehender Strategien zur Laufzeit, um den Kompromiss zwischen Qualität und Kosten auszubalancieren.

Die zweifältige Lösung aus dieser Dissertation ist in eine Anpassungs-Engine integriert, die zustands-und ereignisbasierte Prinzipien für die inkrementelle Ausführung nutzt und daher für große und dynamische Softwarearchitekturen mit wachsender Größe und Komplexität skalierbar ist.

Die Herausforderung der Erhöhung der Utility wird durch die Definition einer Methodik gelöst, die zum Trainieren von Modellen zur Vorhersage von Utility-Änderungen verwendet wird. Die Dissertation Zusammenfassungbefasst sich mit dem Qualität-Kosten-Kompromiss bei der Anpassung dynamischer Softwarearchitekturen durch Entwurfszeitkombination (Venus) und Laufzeitkoordination (HypeZon) von regel-und optimierungsbasierten Strategieformalismen und bietet gleichzeitig unterstützende Mechanismen für optimale, kosteneffektive, skalierbare und robuste Anpassung.Die Lösungen werden nach einer Methodik bewertet, die auf unserer systematischen Literaturrecherche zur Bewertung von selbstheilenden Systemen basiert. Die Anwendbarkeit und Wirksamkeit der Lösungen geht nachweislich über den Stand der Technik hinaus und deckt ein breites Spektrum des Problembereichs der Software-Selbstanpassung ab.