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 />

Anschließend wurde die Problematik der aktiven Funktionen betrachtet und herausgestellt, dass<br />

der Austausch nicht ohne Weiteres möglich und sehr aufwendig ist. Daher wurden Möglichkeiten<br />

aufgezeigt, auf die Beendigung der aktiven Funktion zu warten, um den Austausch anschließend<br />

vorzunehmen. Zuletzt wurde der Abhängigkeitsgraph vorgestellt, als e<strong>in</strong> Werkzeug zur Verwaltung der<br />

Verweise und zur anschaulichen Darstellung der Beziehungen zwischen den Modulen.<br />

4.5 Aufbau und Architektur<br />

In diesem Abschnitt soll die Architektur der Basisschicht beschrieben werden. Abbildung 4.15 zeigt<br />

e<strong>in</strong>e grobe Übersicht der Bestandteile. Die Architektur soll dabei anhand der Dienste und Aufgaben<br />

beschrieben werden, die von der Basisschicht angeboten beziehungsweise erfüllt werden. Dabei<br />

werden H<strong>in</strong>weise auf die Implementierung gegeben, die im Rahmen dieser Arbeit erfolgte. Als<br />

Implementierungssprache wurde Java e<strong>in</strong>gesetzt.<br />

Bevor jedoch die Dienste und die Architektur im E<strong>in</strong>zelnen betrachtet werden, soll zunächst der<br />

Aufbau e<strong>in</strong>es Moduls beschrieben werden.<br />

4.5.1 Module<br />

Jedes Modul wird <strong>in</strong> der prototypischen Implementierung durch e<strong>in</strong> Modulobjekt dargestellt. Modulobjekte<br />

s<strong>in</strong>d daher die Basis, auf der die Mechanismen der Basisschicht operieren. Mithilfe der<br />

Modulobjekte werden die b<strong>in</strong>ären Daten der Software zusammen mit den zugehörigen Metadaten<br />

verwaltet.<br />

4.5.1.1 Typen<br />

In Abschnitt 4.2.7 wurde e<strong>in</strong>e Klassifikation der Module entsprechend ihrem Inhalt und ihrer Granularität<br />

vorgenommen. Diese Aufteilung <strong>in</strong> verschiedene Typen ist auch bei der Realisierung relevant, da sie<br />

die Anwendbarkeit und das Vorgehen e<strong>in</strong>er Operation bee<strong>in</strong>flussen. Die verschiedenen Ausprägungen<br />

werden daher <strong>in</strong> der Implementierung durch vier verschiedene Java-Objekttypen realisiert, die <strong>in</strong><br />

Tabelle 4.2 kurz vorgestellt werden.<br />

E<strong>in</strong>zelsymbolmodul<br />

Multisymbolmodul<br />

Datenmodul<br />

DataObject<br />

Das Modul beschreibt genau e<strong>in</strong>e<br />

Variable.<br />

MultiDataObjects<br />

Das Speicherobjekt des Moduls<br />

enthält mehrere Variablen.<br />

Funktionsmodul<br />

FunctionObject<br />

Das Modul beschreibt genau e<strong>in</strong>e<br />

Funktion.<br />

MultiFunctions<br />

Das Speicherobjekt des Moduls<br />

enthält mehrere Funktionen.<br />

Tabelle 4.2: Objekttypen von Modulen<br />

Die verschiedenen Modultypen werden durch entsprechende Objekttypen <strong>in</strong> Java realisiert. E<strong>in</strong>zelsymbolmodule<br />

s<strong>in</strong>d dabei als Spezialisierung von Multisymbolmodulen umgesetzt. Allen Modulen ist geme<strong>in</strong>sam, dass sie e<strong>in</strong>en<br />

zusammenhängenden Speicherbereich repräsentieren. Dabei können alle Elemente <strong>in</strong>nerhalb e<strong>in</strong>es Moduls immer nur<br />

zusammen <strong>in</strong>stalliert bzw. de<strong>in</strong>stalliert oder ausgelagert werden. Multisymbolmodule werden erzeugt, falls nicht alle<br />

Abhängigkeiten zwischen den Elementen erfasst werden konnten und e<strong>in</strong>e Trennung daher nicht möglich ist.<br />

74

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!