Software, die für sich selbst denkt
Da die Gesellschaft sich zunehmend auf qualitativ hochwertige Software stützt, müssen Anwendungen so adaptiv wie möglich sein. EU-finanzierte Forscher trugen erfolgreich dazu bei, die Entwicklung anspruchsvoller Softwaresysteme, die sich angesichts der sich verändernden Bedürfnisse der Nutzer und Umgebungen leicht anpassen können.
Selbstadaptive Systeme sind Computerprogramme, die reagieren und sich
selbst konfigurieren können, was menschliche Eingriffe minimiert und
idealerweise sicherstellt, dass die Anforderungen der Anwender ein Leben
lang erfüllt werden. Doch in den aktuellen Paradigmen der
Softwareentwicklung können Systeme Ereignisse nicht antizipieren,
sondern nur entsprechend auf sie reagieren. Der Mangel an Antizipation
von Veränderungen kann zu Software-Ausfallzeiten führen.
Das Projekt RUNMORE (Run-time model projections for software failure prediction) trug zur systematischen Entwicklung von dynamisch adaptiven Systemen bei, die automatisch Ereignisse vorhersagen und mögliche Ausfälle vermeiden können.
Die Forscher verwendeten ein neuartiges Konzept mit Laufzeitmodellen, welche die Softwaresysteme mit leistungsfähigen Denkfähigkeiten zu möglichen Veränderungen und der Fähigkeit, mit diesen umzugehen, ausstatten. Die aus Softwaretechnologien der modellgetriebenen Entwicklung stammenden Laufzeitmodelle sind während der Ausführung in das System eingebettet und geben Anpassungsregeln aus. Der Schwerpunkt lag auf der Frage, wie diese Modelle verwendet werden können, um das Verhalten von komplexen Softwaresystemen, ihre Deployment-Umgebung und deren Nutzer zu beobachten und zu analysieren. Das Team schlug außerdem eine Lösung vor, die Konflikte zwischen mehreren Anforderungen während des Anpassungsprozesses löst.
Ein typisches Beispiel für adaptive Systeme sind Webanwendungen, die die Browser-Erfahrung durch die Anpassung ihrer Inhalte und Verhaltensweisen je nach Präferenzen eines Benutzers verbessern. Von diesem Beispiel ausgehend demonstrierten die Forscher, wie Server-Broadcast-Regeln entsprechend der Kundenanforderungen angepasst werden.
In Umgebungen, in denen große Ereignisströme verarbeitet werden, kann Complex Event Processing (CEP) aussagekräftige Daten identifizieren und so schnell wie möglich auf sie reagieren. Die Forscher fanden ein neues Framework, das CEP-Regeln mithilfe von Mustern historischer Spuren von Ereignissen lernen kann. Diese Feststellung kann die Entwicklung einer neuen Klasse von Softwaresystemen ermöglichen, die komplexe Regeln lernen können, um sich selbst neu zu konfigurieren und an Veränderungen anzupassen.
Die Arbeit der Forscher trug dazu bei, das Softwareverhalten im Laufe der Zeit durch das Sammeln von Informationen über Veränderungen der Umwelt und der Verbraucheranforderungen zu verbessern. Diese selbstadaptiven Systeme gehen nicht nur automatisch mit Veränderungen um, sie können sie auch antizipieren.
veröffentlicht: 2016-02-25