Selbst ist die Software
Es ist eine Vision: Self-Designing-Software. Anwendungen, die während der Nutzung ihre Gestalt verändern können, um jede Aufgabe in jeder Situation mit Bravour zu meistern.

"Es ist an der Zeit, Computersysteme zu bauen, die in der Lage sind, sich selbst zu steuern, sich an veränderte Umstände anzupassen und ihre Ressourcen so vorzubereiten, dass sie die von uns auferlegte Arbeitslast möglichst effizient bewältigen." Die Herausforderung hat Paul Horn, Forschungsleiter von IBM, in der heute als "The Autonomic Computing Manifesto" bekannten Rede im Jahr 2001 auf den Punkt gebracht. Die Vision: Anwendungen und Systeme bauen, die sich selbst konfigurieren, sich selbst optimieren, sich selbst heilen und sich selbst schützen können. Das Vorbild für die Umsetzung war für Horn unser Körper und Nervensystem.
Traditionelle Umsetzungen
Seit über 20 Jahren wird eine Vielzahl von Lösungen entwickelt, um diese Vision zu realisieren. Allen gemeinsam ist die Aufgabenteilung zwischen der Logik der Anwendung und der Logik der Anpassung. Für die Logik der Anpassung werden Regelwerke verwendet, die Zielvorgaben wie Reaktionszeit, Verfügbarkeit, Energieverbrauch oder Zufriedenheit der Nutzenden als Steuergrössen verwenden. Die gängigste Umsetzung wird als MAPE-K-Architektur (Monitoring – Analysis – Planning – Execution over a shared Knowledge) bezeichnet. Voraussetzung dafür sind Systeme, die während der Ausführung beobachtbar und steuerbar sind. Beispiele solcher Systeme sind selbstfahrende Fahrzeuge, die Platzierungslogik in Cloud-Umgebungen, Cyber-Physical Systems in der Produktion oder grosse Überwachungssysteme mit verschiedenartigen Sensoren. Die Anpassungsfähigkeit dieser traditionellen Umsetzungen beschränkt sich auf die Steuerung von Abläufen. Die Logik der einzelnen Bausteine bleibt jedoch unverändert.
Die Gestaltwandler
Ein Forschungsteam an der Universität Lancaster geht einen Schritt weiter. "Wir zerlegen Software in viele kleine Bausteine und ermöglichen es ihr, Logik und Ablauf dieser Bausteine während der Ausführung zu ändern, um etwas zu optimieren", sagt Barry Porter, Professor für Adaptive Systeme. "Hot-Swapping Code" heisst, dass für eine bestimmte Aufgabenstellung die in einem gegebenen Kontext am besten geeignete Lösungsvariante geladen wird. Die eigens dafür entworfene Programmiersprache Dana arbeitet mit Bausteinen, die zwischen 100 und 200 Codezeilen umfassen. Jeder Baustein ist in mehreren Varianten in einem Pool vorhanden. Die Anwendung wählt aus dem Pool die beste aus und verändert dadurch im laufenden Betrieb ihren inneren Aufbau. Das bedeutet, dass das Design der Lösung durch die Anwendung und deren Einsatzbedingungen bestimmt wird – etwa, wie wenn ein Flugzeug die Gestalt des Rumpfes und der Flügel oder die Art der Triebwerke während des Fluges den Bedingungen laufend anpassen könnte.
Die Optimierung und Steuerung der Anpassungen der Software erfolgt über Reinforcement Learning – Lernen aus Erfahrung. Besonders interessant ist, wie die Forschenden die Erweiterung der Bausteinvarianten vorantreiben. Sie verwenden die sogenannte genetische Verbesserung, um mehr Bausteinvarianten zu entwickeln. Das bedeutet, dass der bestehende Source Code durch Anpassungen mutiert wird, bis neue und verbesserte Varianten zur Verfügung stehen.
Erprobt wurde diese Art von Anwendungen in den Bereichen Content Delivery & Streaming, Caching und Workload Scheduling mit vielversprechenden Resultaten.
Die Fähigkeit zur Gestaltwandlung gibt der Software der Zukunft die Möglichkeit, ihren Aufbau und ihre Logik in Echtzeit selbst auszuwählen und laufend zu verfeinern. Die Vision Self-Designing-Software rückt damit ein grosses Stück näher!

Warum erfundene Programmbibliotheken die Softwarelieferkette bedrohen

Wie Unternehmen mit künstlicher Intelligenz im Arbeitsalltag durchstarten

Zahl behördlicher Überwachungsmassnahmen in der Schweiz verdoppelt sich

KI in der Schweiz: sicher, souverän – und pragmatisch nutzbar

Zukunftssichere Unternehmenskommunikation durch innovative KI

Apptiva: Schweizer Pionier für individuelle Softwarelösungen und KI-Chatbots

MMTS und Media Solutions bringen Pro-AV zur Home & Professional

Mehr Grips für den Bot

So geht Zeitsparen mit KI
