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 Basisschicht e<strong>in</strong>es Verwalters<br />

Datenmodul um e<strong>in</strong>en Zeiger, so soll unter Umständen auch das Ziel des Zeigers kopiert werden. Um<br />

diese Situation überhaupt festzustellen, muss der genaue Typ des Datenmoduls bekannt se<strong>in</strong>.<br />

Wird e<strong>in</strong> Datenmodul lediglich geparkt, so s<strong>in</strong>d solche detaillierten Informationen im Allgeme<strong>in</strong>en<br />

nicht notwendig, da die Größe der Datenstruktur für diese Operation ausreicht.<br />

4.2.6.4 Debug<strong>in</strong>formationen als Schnittstellenbeschreibung<br />

Analog zur Typbestimmung von Datenmodulen können Debug<strong>in</strong>formationen dazu genutzt werden,<br />

Funktionsmodule mit genauen Informationen über die Schnittstelle der Funktion anzureichern. Auch<br />

hier wird durch die Position der Funktion das entsprechende Element <strong>in</strong> den Debug<strong>in</strong>formationen<br />

gesucht. Anschließend kann dem Funktionsmodul die Beschreibung der Schnittstelle zugeordnet<br />

werden.<br />

Schnittstellen<strong>in</strong>formationen werden für das Auslagern von Funktionen auf e<strong>in</strong>en entfernten Knoten<br />

benötigt. E<strong>in</strong> Fernaufrufmechanismus muss die Parameter entsprechend transportieren und umwandeln<br />

können, hierzu benötigt man genaue Typ<strong>in</strong>formationen. Für das e<strong>in</strong>fachere Parken von Funktionen<br />

werden h<strong>in</strong>gegen ke<strong>in</strong>e detaillierten Informationen über die Schnittstelle benötigt, da die Funktion auf<br />

dem fremden Knoten nicht ausgeführt wird.<br />

4.2.6.5 Bewertung und E<strong>in</strong>schränkung bei der Verwendung von Debug<strong>in</strong>formationen<br />

In diesem Abschnitt wurde der Informationsgehalt von Debug<strong>in</strong>formationen aufgezeigt. Die Nutzung<br />

dieser Informationen erlaubt es, den Inhalt beziehungsweise die Schnittstellen von Modulen genau<br />

zu beschreiben. Debug<strong>in</strong>formationen bieten dabei den Vorteil, dass sie automatisch erzeugt werden<br />

und es somit nicht erforderlich ist, manuell zusätzliche Informationen zu erfassen. Allerd<strong>in</strong>gs müssen<br />

Debug<strong>in</strong>formationen explizit erzeugt werden, was oft e<strong>in</strong>e Neuübersetzung des Quellcodes nötig macht.<br />

Außerdem stößt die Verwendung von Debug<strong>in</strong>formationen an ihre Grenzen, da nur Informationen<br />

enthalten se<strong>in</strong> können, die auch im Quellcode vorhanden s<strong>in</strong>d. In Abschnitt 4.5.8 wird gezeigt, dass<br />

diese Informationen nicht immer ausreichend s<strong>in</strong>d und wie man zusätzliche Informationen e<strong>in</strong>br<strong>in</strong>gen<br />

kann, um dennoch von Debug<strong>in</strong>formationen zu profitieren.<br />

4.2.7 Modularten<br />

Für die Weiterverarbeitung der Module s<strong>in</strong>d e<strong>in</strong>ige Eigenschaften besonders wichtig. Entsprechend<br />

dieser Eigenschaften kann man die Module <strong>in</strong> verschiedene Ausprägungen e<strong>in</strong>teilen.<br />

4.2.7.1 Klassifikation nach Inhalt<br />

Je nach Inhalt des Moduls wird zwischen Funktions- und Datenmodulen unterschieden:<br />

Funktionsmodule repräsentieren ausführbaren b<strong>in</strong>ären Code. Im Idealfall stellt e<strong>in</strong> Funktionsmodul<br />

genau e<strong>in</strong>e Funktion dar, es können jedoch auch mehrere Funktionen <strong>in</strong> e<strong>in</strong>em Funktionsmodul<br />

zusammengefasst se<strong>in</strong>. Für die B<strong>in</strong>ärdaten von Funktionsmodulen gilt, dass sie von der<br />

Anwendung nur lesend verwendet werden.<br />

Datenmodule stellen globale oder temporär auch lokale Daten des Programms dar. Auch hier soll<br />

e<strong>in</strong> Datenmodul im angestrebten Fall genau e<strong>in</strong>e Variable repräsentieren. Datenmodule an sich<br />

können jedoch auch mehrere Datenstrukturen enthalten. Im Gegensatz zu Funktionsmodulen<br />

werden die b<strong>in</strong>ären Daten von Datenmodulen zur Laufzeit des Programms verändert. Der b<strong>in</strong>äre<br />

60

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!