Cuvillier Verlag

35 Jahre Kompetenz im wissenschaftlichen Publizieren
Internationaler Fachverlag für Wissenschaft und Wirtschaft

Cuvillier Verlag

De En Es
Ausführung und Entwicklung adaptiver Komponentenbasierter Anwendungen

Printausgabe
EUR 28,00 EUR 26,60

E-Book
EUR 0,00

Download
PDF (1,5 MB)
Open Access CC BY 4.0

Ausführung und Entwicklung adaptiver Komponentenbasierter Anwendungen

Andreas Rasche (Autor)

Vorschau

Inhaltsverzeichnis, Datei (38 KB)
Leseprobe, Datei (110 KB)

ISBN-13 (Printausgabe) 3867276986
ISBN-13 (Printausgabe) 9783867276986
ISBN-13 (E-Book) 9783736926981
Sprache Deutsch
Seitenanzahl 206
Auflage 1 Aufl.
Band 0
Erscheinungsort Göttingen
Promotionsort Potsdam
Erscheinungsdatum 20.08.2008
Allgemeine Einordnung Dissertation
Fachbereiche Informatik
Schlagwörter Komponenten, dynamische Rekonfiguration, Updates, Adaption
Beschreibung

Adaptive Anwendungen können sich auf Grund von Änderungen ihrer Umgebung anpassen,
u.a. um von den Nutzern vorgegebene Anwendungseigenschaften zu gewährleisten,
die durch die variierende Verfügbarkeit von Ressourcen unterliegender Infrastrukturen
verletzt werden. Eine Lösungsstrategie für die Anpassung ist die Auswahl
entsprechender Softwarekomponenten, die im Rahmen der Komponentenorientierung,
einer Methode zur Konstruktion komplexer Software aus Einheiten unabhängiger Herstellung,
Beschaffung und Deployment, in alternativen Varianten mit unterschiedlichen
Eigenschaften vorliegen. Während die funktionalen Anforderungen einer Anwendung
oft von mehreren gültigen Zusammenstellungen erfüllt werden können, variieren die
resultierenden Anwendungseigenschaften in unterschiedlichen Umgebungssituationen.
Die Ausführung der besten Alternative für eine Menge verfügbarer Ressourcen ist
damit die Grundlage für die Gewährleistung gewünschter Anwendungseigenschaften.
Bei Änderungen der Umgebung kann die Anpassung durch den Austausch mit einer
besseren Alternative realisiert werden.
Die Abstraktion der Softwarekomponente ist in der Java- und .NET-Komponentenplattform
zunächst für den Zeitraum des Deployment definiert. Um die Austauschbarkeit
von Komponenten auch während der Laufzeit zu ermöglichen, führt die vorliegende Arbeit
das Konzept der Kapseln ein, die eine Menge von Objekten gleicher Deployment-
Einheiten zusammenfassen. Während der Laufzeit wird eine komponentenbasierte Anwendung
als gerichteter Graph verbundener Kapseln verstanden, die von vernetzten
Rechnern ausgeführt werden. Veränderungen der Konfiguration der Kapseln einer Anwendung
werden als dynamische Rekonfiguration bezeichnet, die für die Nutzung der
Komponentenorientierung als Basis der Adaption in aktuelle Komponentenplattformen
integriert werden muss und bildet den Schwerpunkt dieser Arbeit.
Bei der dynamischen Rekonfiguration müssen Änderungsoperationen und Anwendungsaktivitäten synchronisiert werden. Hierfür stellt diese Arbeit einen neuen Algorithmus
vor, der mit Hinblick auf die Komplexität der Zusatzkosten existierende Ansätze verbessert
und dabei Anwendungen mit multiplen Threads und zyklischen Verbindungsstrukturen
unterstützt. Für einen Spezialfall der dynamischen Rekonfiguration, der
dynamischen Aktualisierung, die das Einspielen neuer Versionen von Softwarekomponenten
während der Laufzeit ermöglicht, beschreibt die vorliegende Arbeit ein neues
Verfahren für den notwendigen Zustandstransfer, das durch den Einsatz von identi-fizierten Basistechnologien ohne eine Manipulation der virtuellen Laufzeitumgebung
auskommt. Das entwickelte Verfahren kann auch für das Einspielen fehlerbereinigter
Softwareversionen ohne Neustart der Anwendung verwendet werden und ist dabei
leicht in existierende Anwendungen integrierbar, was diese Arbeit im Rahmen komplexer
Fallstudien nachweist.
Ein weiterer wichtiger Beitrag der Arbeit ist der Einsatz der aspektorientierten Programmierung
für die wiederverwendbare Generierung komplexer (re-)konfigurationsspezifischer Logik, welche die Entwicklung adaptiver komponentenbasierter Anwendungen
vereinfacht. Die entwickelten Techniken wurden unter anderem im Distributed
Control Lab, einer Infrastruktur zur entfernten Ausführung von Steuerungsexperimenten
über das Internet, für den Schutz vor bösartiger Software verwendet. Dabei werden
Steuerungen während ihrer Laufzeit überwacht und im Fehlerfall die Steuerungsanwendung dynamisch rekonfiguriert.