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.3 Basismechanismen zur Modulverwaltung<br />

Inhalt e<strong>in</strong>es Datenmoduls stellt somit immer nur e<strong>in</strong>en zeitlich begrenzt geltenden Zustand des<br />

Programms dar.<br />

Die Aufteilung <strong>in</strong> diese beiden Gruppen bestimmt maßgeblich die weitere Verarbeitung und die<br />

möglichen Operationen, die auf e<strong>in</strong> Modul anwendbar s<strong>in</strong>d.<br />

4.2.7.2 Klassifikation nach Granularität<br />

Funktions- wie auch Datenmodule gibt es <strong>in</strong> verschiedener Granularität. Sie können entweder durch<br />

nur e<strong>in</strong> Symbol beschrieben se<strong>in</strong> oder durch mehrere:<br />

E<strong>in</strong>zelsymbolmodule werden durch die Extraktion von e<strong>in</strong>zelnen Funktionen oder Variablen gebildet.<br />

E<strong>in</strong> solches Modul enthält nur e<strong>in</strong>en öffentlichen E<strong>in</strong>sprungpunkt und der liegt am Anfang der<br />

enthaltenen b<strong>in</strong>ären Daten. Das Bestreben bei der Extraktion von Modulen ist es, solche E<strong>in</strong>zelsymbolmodule<br />

zu erzeugen. Sie stellen die fe<strong>in</strong>ste Aufteilung dar und können am flexibelsten<br />

verwendet werden.<br />

Multisymbolmodule werden bei der Extraktion erzeugt, wenn die Objektdatei nicht genügend Informationen<br />

enthält, um e<strong>in</strong>zelne Funktionen oder Variablen zuverlässig zu trennen. Beispielsweise<br />

wird <strong>in</strong> handgeschriebenem Assemblercode oft nur der Symbolname angegeben, ohne zusätzlich<br />

den Typ oder die Länge zu setzen. Die übersetzte Objektdatei enthält dann nur ungenaue<br />

Symbol<strong>in</strong>formationen ohne Längenangaben, wodurch e<strong>in</strong>e Trennung <strong>in</strong> e<strong>in</strong>zelne Funktionen<br />

unzuverlässig wird. Multisymbolmodule zeichnen sich dadurch aus, dass sie m<strong>in</strong>destens zwei<br />

E<strong>in</strong>sprungpunkte haben.<br />

Die Aufteilung <strong>in</strong> diese beiden Typen bestimmt die Nutzbarkeit e<strong>in</strong>es Moduls, da Module die kle<strong>in</strong>ste<br />

E<strong>in</strong>heit darstellen und immer als Ganzes verwendet werden. Bei Multifunktionsmodulen müssen<br />

somit immer alle enthaltenen Funktionen oder Daten geme<strong>in</strong>sam verschoben, geparkt oder ausgelagert<br />

werden.<br />

4.3 Basismechanismen zur Modulverwaltung<br />

In Abschnitt 4.1 wurden bereits e<strong>in</strong>ige Operationen zur Modulverwaltung vorgestellt. Nachfolgend<br />

werden die Basismechanismen beschrieben, die zur Realisierung dieser Operationen e<strong>in</strong>gesetzt werden.<br />

4.3.1 Installieren von Modulen<br />

Das Installieren von Modulen wird für verschiedene Operationen benötigt. Es wird beispielsweise<br />

im Rahmen e<strong>in</strong>er bedarfsgesteuerten Installation vom verwalteten Gerät angefordert oder direkt<br />

von der Kontrollschicht, bei der Umkonfiguration der Software oder während des Austauschens von<br />

Modulen, verwendet. Die Installation von Modulen erfolgt <strong>in</strong> mehreren Schritten, die <strong>in</strong> Abbildung 4.10<br />

zusammengefasst s<strong>in</strong>d.<br />

Voraussetzung um e<strong>in</strong> Modul zu <strong>in</strong>stallieren ist, dass alle se<strong>in</strong>e Abhängigkeiten erfüllt s<strong>in</strong>d. Vor<br />

der Installation wird daher überprüft, dass alle Module, von denen e<strong>in</strong> ausgewähltes Modul abhängt,<br />

entweder bereits auf dem Zielgerät <strong>in</strong>stalliert s<strong>in</strong>d oder ebenfalls zur Installation ausgewählt s<strong>in</strong>d.<br />

Durch diese Überprüfung wird sichergestellt, dass die transitive Hülle der zu <strong>in</strong>stallierenden und bereits<br />

<strong>in</strong>stallierten Module bezüglich ihrer Abhängigkeiten <strong>in</strong> sich abgeschlossen ist.<br />

61

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!