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

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

4 Basisschicht e<strong>in</strong>es Verwalters<br />

Das Datenmodulobjekt kann mit dem aktuellen Speicher<strong>in</strong>halt vom verwalteten Gerät aktualisiert<br />

werden. Dadurch steht der aktuelle Zustand am Verwalter zur Verfügung und kann <strong>in</strong> das neue<br />

Modulobjekt übertragen und dabei umgewandelt werden. Schließlich kann man die Modulobjekte<br />

austauschen, wodurch der neue Modul<strong>in</strong>halt <strong>in</strong>stalliert wird.<br />

Zur Umwandlung der Daten stellt die Basisschicht mit der Datentypbeschreibung und den Funktionen<br />

zur Datentypkonvertierung e<strong>in</strong>e Infrastruktur zur Verfügung, die es erlaubt, e<strong>in</strong>zelne Elemente aus<br />

den Speicherbereichen zu extrahieren und neu zusammenzustellen. Damit lassen sich Veränderungen<br />

im Aufbau von zusammengesetzten Datentypen bewältigen, wie zum Beispiel die Verschiebung der<br />

Elemente e<strong>in</strong>er Struktur, die durch das Entfernen e<strong>in</strong>es Elements auftreten kann. Behalten die anderen<br />

Elemente ihre Namen und Datentypen, so können sie automatisch zugeordnet und übertragen werden.<br />

Die Verantwortung liegt jedoch bei der Kontrollschicht, da nicht alle Fälle automatisch und ohne<br />

<strong>in</strong>haltliches Wissen durchgeführt werden können [Sun01]. Werden beispielsweise mehrere e<strong>in</strong>zelne<br />

Variablen <strong>in</strong> e<strong>in</strong>er Struktur zusammengefasst, so ist es nicht möglich, dies automatisch zu erkennen.<br />

Das Konvertieren des Zustands ist im Allgeme<strong>in</strong>en nur für veränderbare Datenmodule notwendig.<br />

Bei Code gibt es ke<strong>in</strong>en Zustand anzupassen oder zu übertragen, bei konstanten Datenmodulen ist der<br />

Inhalt bekannt und kann vorab <strong>in</strong> die Erstellung der neuen Module e<strong>in</strong>fließen.<br />

4.6.4 Externe Dienste mittels Fernzugriff<br />

Selten benutzte Funktionen können von der Kontrollschicht als externe Dienste ausgelagert werden.<br />

Aufrufe der Funktion werden dabei mittels Fernaufruf transparent zum Dienstanbieter weitergeleitet.<br />

Die Funktion kann dabei an verschiedenen Orten ausgeführt werden:<br />

• Zum e<strong>in</strong>en kann der Verwalter selbst die Funktion als Dienst zur Verfügung stellen.<br />

• Zum anderen kann die Funktion an e<strong>in</strong>em anderen verwalteten Knoten ausgelagert werden.<br />

4.6.4.1 Verwalter als Dienstleister<br />

Die Ausführung am Verwalterknoten wird durch e<strong>in</strong> ActionHook-Objekt vom Untertyp<br />

RemoteExecute realisiert. Zur Erzeugung der Stellvertreter kann e<strong>in</strong>e der beiden <strong>in</strong> Abschnitt<br />

4.5.6.3 vorgestellten Fabriken e<strong>in</strong>gesetzt werden. Die e<strong>in</strong>fache Fabrik ist besonders für Funktionen<br />

ohne Parameter geeignet. In allen anderen Fällen sollten h<strong>in</strong>gegen Stellvertreter erzeugt werden,<br />

welche die Parameter mit der Unterstützungsanforderung mitsenden. Ansonsten müssen die Parameter<br />

erst durch peek-Operationen vom verwalteten Gerät gelesen werden.<br />

Die Ausführung der Funktion beim Empfangen e<strong>in</strong>er entsprechenden Unterstützungsanforderung ist<br />

<strong>in</strong> Abbildung 4.24 dargestellt. Der Ablauf gliedert sich <strong>in</strong> drei Phasen:<br />

1. Erstellen e<strong>in</strong>er Ausführungsumgebung am Verwalterknoten<br />

2. Ausführen der Funktion <strong>in</strong> dieser Ausführungsumgebung<br />

3. Abbauen der Ausführungsumgebung<br />

Um e<strong>in</strong> Funktionsmodul durch den Verwalter auszuführen, müssen am Verwalter alle Abhängigkeiten<br />

erfüllt se<strong>in</strong>. Dies wird mithilfe e<strong>in</strong>er Ausführungsumgebung organisiert und realisiert. Die Ausführungsumgebung<br />

verwaltet e<strong>in</strong>en Adressraum, <strong>in</strong> dem das Funktionsmodul und alle Abhängigkeiten am<br />

Verwalter <strong>in</strong>stalliert werden.<br />

94

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!