
"Als HPI-Absolvent ist man im Vorteil, weil man mit der Kombination aus praxisnaher Ausbildung und tiefem technologischem Verständnis allen Herausforderungen des Berufslebens gewachsen ist. Der Ruf des Instituts öffnet schon allein viele Türen." Lars Schmidt-Bielicke, HPI-Absolvent
Bewerbungsschluss HPI-Schülerkolleg
HPI-Schülerkolleg geht 2012 in sein viertes Jahr. Bis zum 6. Juni können sich interessierte und...
Hochschulinformationstag am HPI
Am 8. Juni 2012 findet der Hochschulinformationstag der Universität Potsdam auf dem Campus...
HPI Alumni Homecoming Event 2012
Die zentrale Begegnungsveranstaltung für die Ehemaligen des HPI feiert 2012 gleich mehrere...
Future SOC Symposium am HPI
Vom 14. bis zum 15. Juni 2012 findet das siebte Future SOC Symposium statt.
Zertifikatsverleihung HPI-Schülerkolleg 2011/12
15 Seminareinheiten in je 3 bis 4 Modulen haben die rund 55 Schülerinnen und Schüler abgeschlossen,...
HPDTRP Community Building Workshop
Vom 27. bis 29. Juni 2012 findet der HPDTRP Community Building Workshop am Hasso-Plattner-Institut...
Ausführung und Entwicklung adaptiver komponentenbasierter Anwendungen
Adaptive Anwendungen können sich an Änderungen ihrer Umgebung anpassen, u.a. um von den Nutzern vorgegebene Anwendungseigenschaften zu gewährleisten. Diese Eigenschaften können durch die variierende Verfügbarkeit von Ressourcen, wie z.B. der Bandbreite eines Netzwerks, verletzt werden. Eine Lösungsstrategie für die Anpassung ist die Auswahl ent-sprechender Softwarekomponenten, den Bausteinen einer Anwendung, die in alternativen Varianten vorliegen können. Während die funktionalen Anforderungen an eine Anwendung oft von mehreren gültigen Zusammenstellungen erfüllt werden können, unterscheiden sich die resultierenden Anwendungseigenschaften in den verschiedenen Umgebungssituationen. Durch die Auswahl und Aktivierung der besten Zusammenstellung bei Änderungen der Um-gebung kann die Anpassung implementiert werden.
Softwarekomponenten sind zunächst für den Zeitraum vor der Laufzeit definiert und ermögli-chen während dieser Zeit den unabhängigen Austausch alternativer Bausteine. Um die Aus-tauschbarkeit von Softwarekomponenten auch während der Laufzeit zu ermöglichen, wird in dieser Arbeit das Konzept der so genannten Kapseln eingeführt, die eine Menge von Objekten gleicher Softwarekomponenten zusammenfasst. Während der Laufzeit kann eine komponen-tenbasierte Anwendung auf verschiedenen mit einem Netzwerk verbundenen Rechnern ausge-führt werden. Veränderungen der Zusammenstellung der Kapseln werden als dynamische Rekonfiguration bezeichnet und können das Hinzufügen neuer Kapseln oder die Verlagerung auf einen entfernten Rechner umfassen. Für die Nutzung der Komponentenorientierung als Grundlage der Adaption müssen dynamische Rekonfigurationsmeachnismen in aktuelle Komponentenplattformen wie die Java- und .NET-Plattform integriert werden. Dies stellt den Schwerpunkt der vorliegenden Arbeit dar.
Bei der dynamischen Rekonfiguration müssen Änderungsoperationen und Anwendungsaktivi-täten synchronisiert werden, um die Konsistenz der Anwendungsdaten zu gewährleisten. Hierfür wird in der vorliegenden Arbeit ein entsprechender Algorithmus vorgestellt, der An-wendungen mit parallelen Aktivitäten und zyklischen Aufrufstrukturen unterstützt. Für einen Spezialfall der dynamischen Rekonfiguration, der dynamischen Aktualisierung, die das Ein-spielen neuer Versionen von Softwarekomponenten während der Laufzeit ermöglicht, wird ein Verfahren für den notwendigen Zustandstransfer beschrieben, das durch den Einsatz von Basistechnologien ohne eine Manipulation der virtuellen Laufzeitumgebung auskommt. Das Verfahren kann auch für das Einspielen fehlerbereinigter Softwareversionen ohne Neustart der Anwendung verwendet werden.
Einen weiteren Schwerpunkt der Arbeit bildet die wiederverwendbare Generierung komple-xer (re-) konfigurationsspezifischer Logik, welche die Entwicklung adaptiver komponenten-basierter Anwendungen vereinfacht. Mit dem Distributed Control Lab wird eine Infrastruktur zur entfernten Ausführung von Steuerungsexperimenten über das Internet vorgestellt, in der für den Schutz vor bösartiger Software eine adaptive Anwendung verwendet wird, in der Steuerungen der Nutzer während der Laufzeit überwacht und im Fehlerfall durch eine sichere Steuerung ersetzt werden.

