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

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

1.1 Motivation<br />

Die E<strong>in</strong>satzmöglichkeiten e<strong>in</strong>es Mikrocontrollers werden dadurch erweitert. So muss beispielsweise<br />

für Anwendungen, die verschiedene Phasen durchlaufen, nicht mehr der gesamte Code auf dem<br />

Mikrocontroller Platz f<strong>in</strong>den. Beim E<strong>in</strong>tritt <strong>in</strong> e<strong>in</strong>e neue Phase können die Teile der Anwendung, die<br />

nicht mehr benötigt werden, durch andere Teile ersetzt werden, welche für die neue Phase benötigt<br />

werden. Zum Beispiel kann nach dem Starten des Systems der Code zum Identifizieren und Initialisieren<br />

der Peripheriegeräte entfernt und durch Code zur adaptiven Anpassung der Messzyklen ersetzt werden.<br />

S<strong>in</strong>d die optimalen Messzyklen bestimmt, so kann dieser Code wiederum durch Code zur Auswertung,<br />

Komprimierung oder Aggregation der Daten ersetzt werden.<br />

Dieses Vorgehen ist, von der Wirkungsweise, mit der Überlagerungstechnik (siehe Abschnitt 2.1.3)<br />

vergleichbar. Der Code wird hier allerd<strong>in</strong>gs erst durch den Verwalter <strong>in</strong> das System e<strong>in</strong>gebracht und<br />

belegt vorher ke<strong>in</strong>en Speicherplatz auf dem Gerät. Mit der Unterstützung durch den Verwalter kann<br />

die Anwendung somit umfangreicher se<strong>in</strong> als e<strong>in</strong>e Anwendung, die komplett auf dem Mikrocontroller<br />

<strong>in</strong>stalliert wird. Als Konsequenz daraus kann man <strong>in</strong> manchen Szenarios e<strong>in</strong>en kle<strong>in</strong>eren und<br />

kostengünstigeren Mikrocontroller e<strong>in</strong>setzen.<br />

Außer der Umkonfiguration kann der Verwalter auch als Dienstleister auftreten und Funktionen für<br />

den verwalteten Knoten übernehmen. So kann man die Auswertung der gesammelten Daten zeitweise<br />

vom Verwalter durchführen lassen, wenn die dafür benötigten Ressourcen auf dem Mikrocontroller zum<br />

Beispiel für e<strong>in</strong>e erneute <strong>Adaption</strong> der Messzyklen benötigt werden. Ist die <strong>Adaption</strong> abgeschlossen,<br />

so wird die Auswertung wieder vom Mikrocontroller übernommen. Der Verwalter erlaubt es somit<br />

zeitweise Ressourcenengpässe zu überbrücken, <strong>in</strong>dem er e<strong>in</strong>em verwalteten Knoten se<strong>in</strong>e Ressourcen<br />

zur Verfügung stellt. Die Auslagerung von Diensten kann natürlich auch dauerhaft erfolgen. Dabei<br />

ist jedoch zu beachten, dass bei der Dienstnutzung Kommunikationskosten anfallen, die sich auf die<br />

Laufzeit und den Energiebedarf des verwalteten Knotens auswirken.<br />

1.1.7 Uniforme Programmier- und Laufzeitumgebung<br />

E<strong>in</strong> Werkzeug, welches es ermöglicht mehr Dienste auf e<strong>in</strong>em Mikrocontroller anzubieten als es die<br />

Ressourcen eigentlich erlauben würden, ermöglicht es e<strong>in</strong>e Laufzeitumgebung zu verwenden, die<br />

generische Dienste anbietet, auch wenn sie von der Anwendung nicht benötigt werden. Konzeptionell<br />

s<strong>in</strong>d die Dienste verfügbar, sie werden jedoch nur dann dynamisch <strong>in</strong>stalliert, wenn sie auch tatsächlich<br />

genutzt werden. Dieses Vorgehen erlaubt die Verwendung von Laufzeitumgebungen, die für den E<strong>in</strong>satz<br />

auf diesem Mikrocontroller durch ihren Ressourcenbedarf normalerweise ungeeignet s<strong>in</strong>d.<br />

Durch dieses Vorgehen kann man e<strong>in</strong> heterogenes Mikrocontrollernetzwerk homogenisieren, <strong>in</strong>dem<br />

man auf allen Knoten des Netzwerks e<strong>in</strong>e e<strong>in</strong>heitliche uniforme Laufzeitumgebung e<strong>in</strong>setzt. Zur<br />

Homogenisierung der <strong>heterogenen</strong> Architekturen können Abstraktionsschichten beispielsweise <strong>in</strong> Form<br />

von virtuellen Masch<strong>in</strong>en e<strong>in</strong>gesetzt werden. Hierbei wird das Programm für e<strong>in</strong>e e<strong>in</strong>heitlich virtuelle<br />

Architektur entwickelt. Zur Ausführung muss e<strong>in</strong>e Ausführungsumgebung, die als virtuelle Masch<strong>in</strong>e<br />

bezeichnet wird, auf der Zielplattform vorhanden se<strong>in</strong>, die das Programm umsetzt. Alternativ kann<br />

das Programm durch e<strong>in</strong>en speziellen Compiler <strong>in</strong> e<strong>in</strong> hardwarespezifisches Programm umgewandelt<br />

werden. Zusätzlich ist dann jedoch e<strong>in</strong>e meist umfangreiche Bibliothek nötig, welche die nötigen<br />

Funktionen der Laufzeitunterstützung bereitstellt.<br />

Die bekanntesten Vertreter von Laufzeitumgebungen basierend auf virtuellen Masch<strong>in</strong>en s<strong>in</strong>d Java<br />

und die .NET-Umgebung. Der Nachteil dieser Systeme liegt jedoch dar<strong>in</strong>, dass das Laufzeitsystem<br />

5

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!