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.2 Modularisierung<br />

sissoftware nutzt genau diese implizit gegebene Struktur und nimmt e<strong>in</strong>e Aufteilung der Software an<br />

diesen Grenzen vor.<br />

Dieses Vorgehen wird <strong>in</strong> diesem Abschnitt genauer beschrieben. Zunächst werden die Anforderungen<br />

def<strong>in</strong>iert. Anschließend werden verschiedene Möglichkeiten beschrieben, um zu Modulen zu gelangen<br />

und auf ihre Vor- bzw. Nachteile h<strong>in</strong>gewiesen.<br />

4.2.1 Anforderungen an Module<br />

In Abschnitt 4.1 wurden die Konfigurationsoperationen dargelegt, die von der Basissoftware zur Modulverwaltung<br />

angeboten werden sollen. Um diese Dienste anzubieten, werden folgende Anforderungen<br />

an die Module beziehungsweise an die Aufteilung <strong>in</strong> Module gestellt:<br />

• Die Abhängigkeiten e<strong>in</strong>es Moduls müssen vollständig ermittelbar se<strong>in</strong>.<br />

Durch e<strong>in</strong>e Aufteilung entstehen Abhängigkeiten zwischen den resultierenden Modulen. E<strong>in</strong><br />

automatisches System muss <strong>in</strong> der Lage se<strong>in</strong>, diese Abhängigkeiten zu erkennen. Dadurch<br />

können die Voraussetzungen für den E<strong>in</strong>satz e<strong>in</strong>es Moduls ermittelt werden. Außerdem kann<br />

festgestellt werden, wie stark e<strong>in</strong> Modul mit anderen Modulen vernetzt ist. Dies kann als Basis<br />

e<strong>in</strong>er Bewertung dienen, wie viele Ressourcen das Parken oder die Auslagerung e<strong>in</strong>es Moduls<br />

kostet.<br />

E<strong>in</strong> Modul muss daher selbstbeschreibend se<strong>in</strong>. Das heißt, alle Abhängigkeiten müssen entweder<br />

explizit beschrieben se<strong>in</strong> oder sich aus dem Modul erkennen lassen.<br />

• E<strong>in</strong> Modul muss e<strong>in</strong>e def<strong>in</strong>ierte Schnittstelle haben.<br />

Wird e<strong>in</strong> Modul auf e<strong>in</strong>en anderen Knoten ausgelagert und dort ausgeführt, so müssen alle<br />

Parameter und Rückgabewerte zwischen den beiden Systemen transportiert werden. Um das zu<br />

ermöglichen, werden Informationen über die verwendeten Typen benötigt. Für e<strong>in</strong> automatisches<br />

System müssen die Typ<strong>in</strong>formationen sehr detailliert se<strong>in</strong>. Größen<strong>in</strong>formationen reichen zwar für<br />

den Transport der Daten zwischen zwei Rechnern aus, allerd<strong>in</strong>gs nicht zur Anpassung der Daten<br />

zwischen verschiedenen Architekturen. Da die beteiligten Systeme jedoch von unterschiedlichen<br />

Architekturen se<strong>in</strong> können, muss der genaue Aufbau und die Repräsentation im Speicher zur<br />

Verfügung stehen.<br />

• Module müssen zur automatischen Verarbeitung geeignet se<strong>in</strong>.<br />

Es wird gefordert, dass die Struktur der Module von e<strong>in</strong>em Werkzeug weiterverarbeitet werden<br />

kann. Voraussetzung dazu ist, dass alle Informationen <strong>in</strong> masch<strong>in</strong>enlesbaren Formaten vorliegen.<br />

E<strong>in</strong> Werkzeug soll die Module erkennen und beispielsweise nach der Vorgabe e<strong>in</strong>es Verteilungsplans<br />

e<strong>in</strong>e Anwendung aus den Modulen erstellen. Dabei müssen die Module automatisch<br />

verknüpfbar se<strong>in</strong>. E<strong>in</strong>e weitere Bed<strong>in</strong>gung ist, dass automatisch verifiziert werden kann, ob die<br />

Abhängigkeiten der e<strong>in</strong>zelnen Module erfüllt s<strong>in</strong>d, um bereits im Vorfeld die Zulässigkeit e<strong>in</strong>er<br />

Konfiguration zu prüfen.<br />

• Module müssen für verschiedene Architekturen verfügbar se<strong>in</strong>.<br />

Da Module auf Knoten mit verschiedenen Architekturen e<strong>in</strong>gesetzt werden sollen, muss e<strong>in</strong>e<br />

Möglichkeit bestehen, sie für verschiedene Architektur zu erstellen. Dabei ist es wünschenswert,<br />

dass e<strong>in</strong> Modul <strong>in</strong> e<strong>in</strong>em architekturunabhängigen Format def<strong>in</strong>iert und automatisch <strong>in</strong> e<strong>in</strong>e<br />

architekturspezifische Version umgewandelt wird.<br />

• Die Aufteilung <strong>in</strong> Module muss nachvollziehbar se<strong>in</strong>.<br />

Wenn nicht alle Entscheidungen automatisch getroffen werden können, so soll e<strong>in</strong> Experte die<br />

35

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!