14.01.2015 Aufrufe

Dynamische Adaption in heterogenen verteilten eingebetteten ...

Dynamische Adaption in heterogenen verteilten eingebetteten ...

Dynamische Adaption in heterogenen verteilten eingebetteten ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

3.3 Architektur und Aufgaben e<strong>in</strong>es Verwalters<br />

daher universell e<strong>in</strong>gesetzt werden, sowohl zur Veränderung der Anwendung als auch zur Anpassung<br />

der Laufzeitumgebung. Dem detaillierten Aufbau dieser Schicht widmet sich Kapitel 4. Die Aufgaben<br />

dieser Schicht können grob wie folgt charakterisiert werden:<br />

Kommunikation mit e<strong>in</strong>em verwalteten Knoten. Um Konfigurationsaufgaben durchzuführen, muss<br />

e<strong>in</strong>e Kommunikationsmöglichkeit mit dem verwalteten Knoten bestehen. Die Basisschicht stellt<br />

hierzu e<strong>in</strong>e Schnittstelle zur Verfügung die sowohl <strong>in</strong>tern genutzt wird als auch extern für die<br />

anderen Schichten zur Verfügung steht. Außerdem stellt die Basisschicht e<strong>in</strong> Gerüst bereit, um<br />

Anforderungen von e<strong>in</strong>em verwalteten Knoten an die entsprechende Stelle der Kontrollschicht<br />

weiterzuleiten.<br />

Modularisierung der Software. Zur flexiblen Verwaltung der Software wird sie <strong>in</strong> kle<strong>in</strong>e E<strong>in</strong>heiten,<br />

sogenannte Module, aufgeteilt. Die Modularisierung entscheidet hierbei, <strong>in</strong> welcher Granularität<br />

der Code verwaltet wird. Das kann auf Dateibasis erfolgen oder fe<strong>in</strong>granularer auf Funktionsebene.<br />

Das Ergebnis der Aufteilung s<strong>in</strong>d Module mit def<strong>in</strong>ierten Schnittstellen und Abhängigkeiten.<br />

Basismechanismen zur Konfiguration der Software. Auf Basis der erstellten Module werden Mechanismen<br />

angeboten, um Module auf e<strong>in</strong>em Knoten zu <strong>in</strong>stallieren, sie gegen andere auszutauschen<br />

oder zu entfernen.<br />

Konsistenzsicherung auf dem verwalteten Knoten. Wird die Software auf e<strong>in</strong>em verwalteten Knoten<br />

verändert, so muss dabei sichergestellt werden, dass wieder e<strong>in</strong> konsistenter Zustand entsteht.<br />

Das heißt, es muss beispielsweise dafür gesorgt werden, dass für Module, welche auf e<strong>in</strong>em<br />

Mikrocontroller <strong>in</strong>stalliert werden, immer alle Abhängigkeiten erfüllt s<strong>in</strong>d. Wäre e<strong>in</strong>e Abhängigkeit<br />

nicht erfüllt, so könnte das Modul auf dem Mikrocontroller nicht ausgeführt werden, da es<br />

undef<strong>in</strong>ierte Auswirkungen nach sich ziehen würde.<br />

Infrastruktur für dynamische Unterstützung. Mithilfe der Basismechanismen zur Konfiguration<br />

können Unterstützungen realisiert werden wie beispielsweise das bedarfsgesteuerte Installieren<br />

oder das entfernte Ausführen von Funktionen. Diese Unterstützung stellt die Basisschicht <strong>in</strong><br />

Form e<strong>in</strong>es Gerüsts zur Verfügung, um den E<strong>in</strong>satz durch die Kontrollschicht zu vere<strong>in</strong>fachen<br />

und zu unterstützen.<br />

3.3.2 Kontrollschicht<br />

Während die Basisschicht hauptsächlich Mechanismen bereitstellt, um das System zu verändern, ist<br />

die Hauptaufgabe der Kontrollschicht, diese Mechanismen e<strong>in</strong>zusetzen, um das System zu verwalten,<br />

anzupassen und zu kontrollieren. Die genaue Vorgehensweise <strong>in</strong> der Kontrollschicht ist dabei stark<br />

vom E<strong>in</strong>satzzweck abhängig. Dennoch lassen sich Teilaufgaben herauskristallisieren:<br />

Optimale Konfiguration der Laufzeitumgebung für e<strong>in</strong>e Anwendung. Als Ausgangsposition oder<br />

nach e<strong>in</strong>er Veränderung muss e<strong>in</strong>e neue optimale Konfiguration der Laufzeitumgebung gefunden<br />

werden.<br />

E<strong>in</strong>e Laufzeitumgebung besteht üblicherweise aus verschiedenen Diensten, wobei manche<br />

Dienste <strong>in</strong> optimierten Varianten für Spezialfälle vorliegen können. Ziel ist es, die Dienste und<br />

Varianten auszuwählen, die von der Anwendung benötigt werden und sie entsprechend der<br />

verfügbaren Ressourcen auf dem oder den Knoten zu verteilen. Für Dienstvarianten muss dabei<br />

vorgegeben se<strong>in</strong>, unter welchen Bed<strong>in</strong>gungen und für welche Fälle sie e<strong>in</strong>gesetzt werden können.<br />

25

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!