Self-Adaptive Software Systems
Ausfallsichere und erweiterbare Systeme erfordern dynamische software architektur
Eingebettete Systeme in der Medizintechnik und Industrie 4.0, aber auch Land- und Baumaschinen sowie autonome Fahrzeuge müssen sich eigenständig und in Echtzeit an neue Umgebungsbedingungen anpassen können. Zentral ist dabei eine adaptive Software. Auch bei Ausfällen kritischer Komponenten muss sich das System zur Laufzeit adaptieren, damit es sicher und zuverlässig funktioniert. Ziel ist dabei, die für die jeweilige Situation höchst mögliche Leistung zu erbringen, ohne die funktionale Sicherheit (Safety) zu verletzen. Sollte ein System auch durch Adaption nicht vollwertig funktionsfähig sein, kann es den Umfang und die Qualität seiner Funktionen durch Graceful Degradation schrittweise reduzieren.
Anbieter eingebetteter Systeme benötigen zudem adaptive Software, um bereits verkaufte Maschinen und Fahrzeuge nachträglich mit neuen und nachbuchbaren Funktionen erweitern zu können. So ermöglichen nachgerüstete Software-Funktionen neue Geschäftsmodelle mit Function on Demand. Auch können neu identifizierte Sicherheitsanforderungen Software Updates und Software Upgrades notwendig machen. Vor allem für sicherheitskritische Funktionen stellt dies jedoch hohe Anforderungen an die Software-Architektur.