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.

Kurzfassung<br />

E<strong>in</strong>gebettete Systeme erledigen im heutigen Alltag e<strong>in</strong>e Vielzahl von Aufgaben. Die geplante Lebensdauer<br />

dieser Systeme ist dabei häufig relativ lang. Daher ist die Wahrsche<strong>in</strong>lichkeit groß, dass man<br />

die Software im Laufe der Zeit verändern möchte. Gründe hierfür kann das Beseitigen von Fehlern<br />

se<strong>in</strong> oder der Wunsch e<strong>in</strong>e Funktionalität h<strong>in</strong>zuzufügen. In komplexeren Systemen arbeiten häufig<br />

mehrere Mikrocontroller <strong>in</strong> e<strong>in</strong>em Netzwerk kooperierend zusammen. Die beteiligten Mikrocontroller<br />

unterscheiden sich dabei nicht nur h<strong>in</strong>sichtlich ihrer speziellen Sensoren und Peripheriegeräte, sondern<br />

auch bezüglich ihrer Leistungsfähigkeit. Die Ressourcen der e<strong>in</strong>zelnen Mikrocontroller s<strong>in</strong>d jedoch <strong>in</strong><br />

der Regel stark beschränkt, sodass man die Software nachträglich nicht beliebig erweitern kann.<br />

Unter diesen Rahmenbed<strong>in</strong>gungen soll <strong>in</strong> dieser Arbeit e<strong>in</strong> System zur dynamischen <strong>Adaption</strong> der<br />

Software auf Mikrocontrollern vorgestellt werden. Dabei sollen größere Steuerknoten, die leistungsstärker<br />

s<strong>in</strong>d und über mehr Ressourcen verfügen, Hilfestellung für kle<strong>in</strong>ere Knoten geben. Diesem<br />

Ansatz zufolge werden die Mikrocontroller <strong>in</strong> verwaltete Knoten und Verwalter e<strong>in</strong>geteilt. Verwalter<br />

bieten dabei Dienste zur Konfiguration und Unterstützung der verwalteten Knoten an.<br />

E<strong>in</strong>e Voraussetzung zur flexiblen Konfiguration ist, dass die Software <strong>in</strong> kle<strong>in</strong>en E<strong>in</strong>heiten vorliegt.<br />

Dazu wird <strong>in</strong> dieser Arbeit e<strong>in</strong>e Technik vorgestellt, existierende Software <strong>in</strong> Module aufzuteilen. Der<br />

Ansatz arbeitet auf den Objektdateien der Software und ist architekturunabhängig. Darüber h<strong>in</strong>aus muss<br />

die Software nicht speziell vorbereitet werden. Mithilfe der Module kann e<strong>in</strong> Verwalter die Software<br />

für e<strong>in</strong>en verwalteten Knoten wie aus e<strong>in</strong>em Baukasten zusammenbauen.<br />

Die Konfigurationsoperationen umfassen dabei das nachträgliche Installieren, Entfernen und Austauschen<br />

von Softwaremodulen. Dabei s<strong>in</strong>d die Operationen zustandserhaltend und können so auch<br />

während der Laufzeit durchgeführt werden. Dies ermöglicht das bedarfsgesteuerte Installieren oder das<br />

temporäre Entfernen von Modulen (hier als Parken bezeichnet).<br />

Neben Operationen zur Umkonfiguration bieten Verwalter auch die Möglichkeit, Aufgaben im<br />

Auftrag der verwalteten Knoten durchzuführen. Hierzu wurde e<strong>in</strong> schlankes Fernaufrufsystem realisiert,<br />

das nur ger<strong>in</strong>ge Ressourcenanforderungen an den verwalteten Knoten stellt. Durch Komb<strong>in</strong>ation von<br />

Umkonfigurationen und Fernaufrufsystem können fast beliebige Funktionen zur Laufzeit von e<strong>in</strong>em<br />

verwalteten Knoten auf e<strong>in</strong>en Verwalter verschoben werden.<br />

Um heterogene Hardware zu unterstützen, verfügt das Fernaufrufsystem daher über e<strong>in</strong>e Infrastruktur<br />

zur automatischen Anpassung der Datendarstellung zwischen verschiedenen Knoten. Die dafür<br />

notwendigen Informationen werden automatisch aus Debug<strong>in</strong>formationen gewonnen.<br />

Die Realisierbarkeit des Ansatzes wurde durch die prototypische Implementierung e<strong>in</strong>es Verwalters<br />

nachgewiesen. Zur Demonstration wird außerdem e<strong>in</strong>e Java-Laufzeitumgebung betrachtet, die<br />

eigentlich zu groß ist, um für kle<strong>in</strong>e Knoten geeignet zu se<strong>in</strong>. Mit dem Verwalter ist es jedoch möglich,<br />

die Laufzeitumgebung auf kle<strong>in</strong>en Knoten zu <strong>in</strong>stallieren, <strong>in</strong>dem unbenutzte Funktionen entfernt und<br />

Funktionen, welche nur selten verwendet werden am Verwalter ausgeführt werden. Hierdurch können<br />

sogar sehr kle<strong>in</strong>e Knoten mit e<strong>in</strong>er vollständigen Java-Umgebung ausgestattet werden.<br />

iii

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!