
- 206 pages
- English
- PDF
- Available on iOS & Android
About this book
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 Infrastrukturenverletzt werden. Eine Lösungsstrategie für die Anpassung ist die Auswahlentsprechender Softwarekomponenten, die im Rahmen der Komponentenorientierung, einer Methode zur Konstruktion komplexer Software aus Einheiten unabhängiger Herstellung, Beschaffung und Deployment, in alternativen Varianten mit unterschiedlichenEigenschaften vorliegen. Während die funktionalen Anforderungen einer Anwendungoft von mehreren gültigen Zusammenstellungen erfüllt werden können, variieren dieresultierenden Anwendungseigenschaften in unterschiedlichen Umgebungssituationen.Die Ausführung der besten Alternative für eine Menge verfügbarer Ressourcen istdamit die Grundlage für die Gewährleistung gewünschter Anwendungseigenschaften.Bei Änderungen der Umgebung kann die Anpassung durch den Austausch mit einerbesseren Alternative realisiert werden.Die Abstraktion der Softwarekomponente ist in der Java- und.NET-Komponentenplattformzunächst für den Zeitraum des Deployment definiert. Um die Austauschbarkeitvon Komponenten auch während der Laufzeit zu ermöglichen, führt die vorliegende Arbeitdas Konzept der Kapseln ein, die eine Menge von Objekten gleicher Deployment-Einheiten zusammenfassen. Während der Laufzeit wird eine komponentenbasierte Anwendungals gerichteter Graph verbundener Kapseln verstanden, die von vernetztenRechnern ausgeführt werden. Veränderungen der Konfiguration der Kapseln einer Anwendungwerden als dynamische Rekonfiguration bezeichnet, die für die Nutzung derKomponentenorientierung als Basis der Adaption in aktuelle Komponentenplattformenintegriert 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 Algorithmusvor, der mit Hinblick auf die Komplexität der Zusatzkosten existierende Ansätze verbessertund dabei Anwendungen mit multiplen Threads und zyklischen Verbindungsstrukturenunterstützt. Für einen Spezialfall der dynamischen Rekonfiguration, derdynamischen Aktualisierung, die das Einspielen neuer Versionen von Softwarekomponentenwährend der Laufzeit ermöglicht, beschreibt die vorliegende Arbeit ein neuesVerfahren für den notwendigen Zustandstransfer, das durch den Einsatz von identi-fizierten Basistechnologien ohne eine Manipulation der virtuellen Laufzeitumgebungauskommt. Das entwickelte Verfahren kann auch für das Einspielen fehlerbereinigterSoftwareversionen ohne Neustart der Anwendung verwendet werden und ist dabeileicht in existierende Anwendungen integrierbar, was diese Arbeit im Rahmen komplexerFallstudien nachweist.Ein weiterer wichtiger Beitrag der Arbeit ist der Einsatz der aspektorientierten Programmierungfür die wiederverwendbare Generierung komplexer (re-)konfigurationsspezifischer Logik, welche die Entwicklung adaptiver komponentenbasierter Anwendungenvereinfacht. Die entwickelten Techniken wurden unter anderem im DistributedControl Lab, einer Infrastruktur zur entfernten Ausführung von Steuerungsexperimentenüber das Internet, für den Schutz vor bösartiger Software verwendet. Dabei werdenSteuerungen während ihrer Laufzeit überwacht und im Fehlerfall die Steuerungsanwendung dynamisch rekonfiguriert.
Frequently asked questions
- Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
- Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.