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.

1 E<strong>in</strong>leitung<br />

relativ groß ist, da sie für den E<strong>in</strong>satz auf Bürocomputern entwickelt wurden 1 . Die Größe begründet<br />

sich hauptsächlich <strong>in</strong> den umfangreichen Möglichkeiten und Diensten, die e<strong>in</strong>e solche Umgebung<br />

bereitstellt.<br />

Für den Bereich der e<strong>in</strong>gebetteten Systeme wurden spezielle Versionen dieser Laufzeitumgebungen<br />

entwickelt, beispielsweise die Java Micro Edition (J2ME) [Whi01] oder das .NET Compact<br />

Framework [Nea02] beziehungsweise das .NET Micro Framework [TM07]. Diese Versionen haben<br />

zwar e<strong>in</strong>en deutlich ger<strong>in</strong>geren Ressourcenbedarf 2 , s<strong>in</strong>d jedoch <strong>in</strong> ihrer Funktionalität und Flexibilität<br />

e<strong>in</strong>geschränkt und entsprechen somit nicht mehr den ursprünglichen Versionen.<br />

Durch den E<strong>in</strong>satz von Verwaltern wird es möglich, den vollständigen Funktionsumfang auch auf<br />

kle<strong>in</strong>en Mikrocontrollern anzubieten. Dadurch kann die Entwicklung von Anwendungen e<strong>in</strong>facher<br />

und effizienter erfolgen, da die Programmierung von kle<strong>in</strong>en Knoten mit denselben Werkzeugen<br />

und unter ähnlichen Bed<strong>in</strong>gungen erfolgen kann wie die Programmierung der großen Knoten. Um<br />

s<strong>in</strong>nvolle Ergebnisse zu erhalten, müssen allerd<strong>in</strong>gs trotzdem die Fähigkeiten und Ressourcen der<br />

e<strong>in</strong>zelnen Knoten berücksichtigt werden. Denn selbst wenn konzeptionell auf jedem Knoten alle<br />

Dienste angeboten werden, so ist zu bedenken, dass die Hilfestellung durch e<strong>in</strong>en Verwalter zusätzliche<br />

Kosten verursacht, die sich beispielsweise <strong>in</strong> e<strong>in</strong>er verlängerten Laufzeit niederschlagen.<br />

1.2 Zielsetzung der Arbeit<br />

Das Ziel dieser Arbeit ist die Entwicklung e<strong>in</strong>er Infrastruktur zur Unterstützung ressourcenschwacher<br />

Knoten <strong>in</strong> e<strong>in</strong>em Netzwerk aus Mikrocontrollern. E<strong>in</strong> kle<strong>in</strong>er Knoten wird dabei durch e<strong>in</strong>en leistungsstärkeren<br />

Knoten unterstützt und verwaltet. E<strong>in</strong>e Aufgabe des Verwalters ist dabei die dynamische<br />

Anpassung der Software des verwalteten Knotens an sich ändernde Bedürfnisse. Dadurch könnte die<br />

Software auf den kle<strong>in</strong>en Knoten immer genau auf die jeweilige Situation angepasst werden, ohne den<br />

Ressourcenverbrauch pauschal zu erhöhen.<br />

Zusätzlich soll der Verwalterknoten se<strong>in</strong>e Ressourcen dem verwalteten Knoten <strong>in</strong> Form von Diensten<br />

zur Verfügung stellen können. Abstrakt betrachtet können so die Fähigkeiten des kle<strong>in</strong>en, verwalteten<br />

Knotens, über se<strong>in</strong>e eigentliche Leistungsfähigkeit h<strong>in</strong>aus erweitert werden.<br />

Zur Realisierung dieser Ziele sollen zwei Mechanismen realisiert werden:<br />

• E<strong>in</strong> Fernwartungssystem, womit Programmteile <strong>in</strong> e<strong>in</strong>em kle<strong>in</strong>en Knoten ausgetauscht und<br />

verändert werden können und<br />

• e<strong>in</strong> Fernaufrufsystem, um die Ressourcen des kle<strong>in</strong>en Knotens virtuell zu erweitern.<br />

Diese, von der Infrastruktur angebotenen, Unterstützungsmöglichkeiten müssen dabei universell<br />

e<strong>in</strong>setzbar und unabhängig von der verwendeten Software se<strong>in</strong>. Das heißt, die Mechanismen sollen<br />

1 E<strong>in</strong>e e<strong>in</strong>fache “Hello world”-Anwendung <strong>in</strong> e<strong>in</strong>er JVM, welche durch e<strong>in</strong>en L<strong>in</strong>ux-Prozess ausgeführt wird, belegt<br />

zwischen 150 und 200 MB virtuellen Speicher. Auch wenn der Speicher oft nur aus Performancegründen <strong>in</strong> dieser<br />

Höhe angefordert wird, zeigen diese Zahlen dennoch, dass die Desktop-Variante der Java-Umgebung für den E<strong>in</strong>satz <strong>in</strong><br />

e<strong>in</strong>gebetteten Systemen ungeeignet ist.<br />

2 Während das .NET Compact Framework e<strong>in</strong>e W<strong>in</strong>dows CE Plattform mit m<strong>in</strong>destens 12 MB RAM benötigt, wird für<br />

die kle<strong>in</strong>ste spezifizierte .NET Umgebung, das .NET Micro Framework, als M<strong>in</strong>destvoraussetzungen e<strong>in</strong> 32-bit-ARM-<br />

Microcontroller mit m<strong>in</strong>destens 256 KB RAM und 512 KB Flashspeicher angegeben. Für reale Anwendungen werden<br />

allerd<strong>in</strong>gs m<strong>in</strong>destens 300 MB RAM und etwa 1 MB Flashspeicher empfohlen [TM07].<br />

Die J2ME <strong>in</strong> ihrer kle<strong>in</strong>sten Konfiguration, CLDC, ist für Geräte mit 16- oder 32-bit-Microcontroller, 192 KB RAM<br />

und m<strong>in</strong>destens 160 KB Flashspeicher spezifiziert. Auch hier wird für reale Anwendungen üblicherweise mehr Speicher<br />

benötigt, außerdem ist, im Gegensatz zum .NET Micro Framework, e<strong>in</strong> Betriebssystem erforderlich.<br />

6

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!