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.

4.6 Operationen zur dynamischen Konfiguration e<strong>in</strong>es Knotens<br />

Abbildung 4.24: Ablauf e<strong>in</strong>er Ausführung am Verwalter<br />

Vor der Ausführung wird der Zustand der abhängigen Datenmodule vom Gerät geladen und <strong>in</strong> der Ausführungsumgebung<br />

<strong>in</strong>stalliert. Nach der Ausführung werden veränderte Daten wieder <strong>in</strong> den Speicher des Geräts geschrieben.<br />

Bei der Bestimmung der Abhängigkeiten ist zu beachten, dass der Verwalterknoten oft e<strong>in</strong>e andere<br />

Architektur besitzt als der verwaltete Knoten. Daher muss zwischen Modulen für das Gerät und<br />

Modulen für den Verwalter unterschieden werden. Zudem wird e<strong>in</strong>e Abbildung benötigt, mit deren<br />

Hilfe man zu e<strong>in</strong>em Modul der e<strong>in</strong>en Architektur das oder die entsprechenden Module der anderen<br />

Architektur bestimmen kann. Die Abbildung wird durch die Kontrollschicht bereitgestellt.<br />

Zur Bestimmung der Abhängigkeiten wird das Funktionsmodul für den Verwalter betrachtet. Um die<br />

hiervon referenzierten Datenmodule <strong>in</strong> der Ausführungsumgebung zu <strong>in</strong>stallieren, müssen sie zunächst<br />

mit den Daten von dem verwalteten Gerät <strong>in</strong>itialisiert werden. Dazu werden die entsprechenden<br />

Datenmodulobjekte für das Gerät festgestellt und mit dem Speicher<strong>in</strong>halt vom verwalteten Gerät<br />

aktualisiert. Daraufh<strong>in</strong> können die Daten <strong>in</strong> die Module für den Verwalter übertragen und gegebenenfalls<br />

konvertiert werden.<br />

Bei referenzierten Funktionen muss die Kontrollschicht entscheiden, ob sie ebenfalls <strong>in</strong> der Ausführungsumgebung<br />

<strong>in</strong>stalliert oder ob sie stattdessen durch Stellvertreter ersetzt werden sollen. E<strong>in</strong><br />

Stellvertreter kann e<strong>in</strong>en Rückruf zum Gerät veranlassen, um die Funktion dort auszuführen. Diese<br />

Möglichkeit bietet sich an, falls die Funktion besonders viele Daten referenziert und somit das<br />

Transportieren all dieser Daten sehr aufwendig ist.<br />

Nachdem die Ausführungsumgebung aufgebaut ist, kann die Funktion aufgerufen werden. Zuvor<br />

bereitet der Verwalter allerd<strong>in</strong>gs noch die direkten Parameter des Funktionsaufrufs vor. Er extrahiert<br />

sie aus der Unterstützungsanforderung und wandelt sie gegebenenfalls für die vorhandene Architektur<br />

um. Unmittelbar vor dem Aufruf legt er die Parameter dann auf dem Stack ab.<br />

Nach der Ausführung der Funktion werden die veränderten Daten zum verwalteten Gerät zurückübertragen.<br />

Das Vorgehen dabei ist analog zu der Vorbereitung der Ausführungsumgebung. Der Verwalter<br />

identifiziert veränderte Datenmodule und bestimmt die entsprechenden Datenmodule auf dem Gerät.<br />

Anschließend werden die Daten <strong>in</strong> die Zielmodule übertragen und dabei gegebenenfalls konvertiert.<br />

Bei der tatsächlichen Realisierung lassen sich verschiedene Varianten unterschieden:<br />

Direkt Die Möglichkeit, auf die der oben beschriebene Ablauf abgestimmt wurde, ist, dass der Verwalter<br />

die Funktion direkt ausführt. Hierbei ist oft e<strong>in</strong>e Architekturgrenze zu überw<strong>in</strong>den, weswegen<br />

die Module <strong>in</strong> verschiedenen Versionen vorliegen müssen. Im e<strong>in</strong>fachsten Fall kann der Quellcode<br />

für beide Architekturen übersetzt werden. Bei ähnlichen Optimierungse<strong>in</strong>stellungen lässt<br />

sich dann die überwiegende Anzahl der Module anhand des Namens automatisch aufe<strong>in</strong>ander<br />

abbilden.<br />

Simulation Um die aufwendige Zustandskonvertierung zwischen verschiedenen Architekturen zu<br />

vermeiden, kann der Verwalter um e<strong>in</strong>en Simulator erweitert werden, der die Architektur des<br />

95

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!