Bild: geralt / pixabay

KI lernt den Umgang mit Software-Evolution

Die Entwicklung selbstadaptiver Systeme kann durch Maschinelles Lernen automatisiert werden. Zur Pflege und Weiterentwicklung solcher Systeme haben paluno-Forscher einen vielversprechenden Ansatz entwickelt. Er basiert auf der Software-Produktlinienentwicklung.

Bisherige maschinelle Lernverfahren für selbstadaptive Systeme können zwar mit Veränderungen der Umgebung umgehen (siehe "KI übernimmt Arbeit von Software-Ingenieuren"), sie sind jedoch blind gegenüber Veränderungen am System selbst. Eine solche Veränderung erfolgt typischerweise im Rahmen der manuellen Weiterentwicklung oder Wartung eines Systems. Bei einer solchen Software-Evolution können neue System-Funktionalitäten eingeführt oder bestehende Funktionalitäten verändert oder gar entfernt werden. Dies kann Auswirkungen auf die möglichen Adaptionen des Systems haben: neue Adaptionsmöglichkeiten können hinzukommen, bestehende haben einen anderen Effekt, vorherige fallen unter Umständen weg. Werden diese Veränderungen beim Lernprozess nicht berücksichtigt, kann dies z.B. dazu führen, dass neue Adaptionsmöglichkeiten nicht adäquat berücksichtigt werden oder nicht mehr zulässige Adaptionen trotzdem ausgeführt werden.

Die Arbeitsgruppe Software Systems Engineering von Prof. Klaus Pohl hat gemeinsam mit Forschungspartnern der Universität Lille und der Politecnico Milano untersucht, wie Wissen über die Veränderungen der Adaptionsmöglichkeiten dem Lernverfahren zugänglich gemacht werden können. Hierzu wird das Wissen in Form sogenannter Variabilitätsmodelle aus der Software-Produktlinienentwicklung spezifiziert. Diese Variabilitätsmodelle stellen die möglichen Adaptionen in kompakter und maschinenlesbarer Form dar. Unterschiede zwischen den Variabilitätsmodellen vor und nach einem Evolutions-Schritt werden genutzt, um den Lernprozess systematisch und gezielt zu steuern. So können neu hinzugefügte Adaptionen z.B. mit einer höheren Wahrscheinlichkeit ausgeführt werden, als bereits bekannte Adaptionen.

Dr. Andreas Metzger wird den Ansatz im Dezember auf der International Conference on Service-Oriented Computing vorstellen.

A. Metzger, C. Quinton, Z. Mann, L. Baresi, and K. Pohl, “Feature model-guided online reinforcement learning for self-adaptive services,” in 18th Int’l Conference on Service-Oriented Computing (ICSOC 2020), Dubai, UAE, December 14-17, 2020, ser. LNCS, E. Kafeza, B. Benatallah, and F. Martinelli, Eds., vol. NN. Springer, 2020 – to be published.

Variabilitätsmodell und Anpassung am Beispiel eines Webservices