Diploma Thesis DIP-2274

BibliographyGauger, Matthias: Dynamischer Austausch von Komponenten in TinyOS.
University of Stuttgart, Faculty of Computer Science, Electrical Engineering, and Information Technology, Diploma Thesis No. 2274 (2005).
135 pages, german.
CR-SchemaC.3 (Special-Purpose and Application-Based Systems)
D.3.4 (Programming Languages Processors)
D.4.9 (Systems Programs and Utilities)
Abstract

Sensornetze und Sensornetzanwendungen sind ein sehr aktives Forschungsgebiet, das von zahlreichen Forschergruppen in verschiedenen Arbeitsbereichen vorangetrieben wird. Mit der fortschreitenden Entwicklung der verfügbaren Hard- und Softwarelösungen wird eine wachsende Anzahl unterschiedlichster Anwendungen möglich. Die zunehmende Komplexität der Anwendungen und gleichzeitig steigende Erwartungen an die Laufzeit der Systeme sorgen dabei für einen steigenden Bedarf an Lösungen, die dynamische Aktualisierungen der Anwendungsprogramme während des Betriebs ermöglichen.

Ansätze zur Aktualisierung des Anwendungscodes müssen schonend mit den beschränkten Ressourcen der Sensorknoten umgehen. Gleichzeitig sollten die Update-Mechanismen eine möglichst einfache und flexible Umgestaltung der Funktionalität der Sensorknoten ermöglichen.

In dieser Arbeit wird mit FlexCup ("FLEXible Code UPdates") ein System vorgestellt, das als Teil des TinyCubus-Projektes den dynamischen Austausch von Komponenten in Sensornetzen ermöglicht, die auf dem TinyOS-Betriebssystem aufbauen. Anstatt im Falle von Aktualisierungen den vollständigen Anwendungscode neu zu übertragen, zerteilt FlexCup die Anwendungen in mehrere Komponenten und überträgt nur den Programmcode geänderter Komponenten. Die Integration geänderter Komponenten in die Anwendungen geschieht mit Hilfe von Metadaten, die auf den Sensorknoten gespeichert und zusammen mit neuen Komponenten übertragen werden.

Die Funktionalität von FlexCup wird von mehreren Einzelanwendungen realisiert, die in dieser Arbeit ausführlich vorgestellt werden. Der FlexCup-Analyzer analysiert die Komponenten der Anwendungen und generiert die benötigten Metadaten. Der FlexCup-Linker ist für die dynamische Integration der Komponenten in den Programmcode der Sensorknoten zuständig. Die Aufgabe des FlexCup-Bootloaders ist anschließend die Installation des geänderten Anwendungscodes.

Ein Vergleich von FlexCup mit zwei verwandten Ansätzen aus der Literatur zeigt, dass FlexCup identische Codeaktualisierungen bis zu achtmal schneller erledigt und dabei in manchen Fällen mit nur einem Achtel des Energieverbrauchs der anderen Ansätze auskommt.

Am Ende dieser Ausarbeitung werden die Ergebnisse der Arbeit zusammengefasst, und es erfolgt ein Ausblick auf mögliche Erweiterungen und zukünftige Entwicklungsmöglichkeiten des FlexCup-Systems.

Full text and
other links
PDF (1356334 Bytes)
Access to students' publications restricted to the faculty due to current privacy regulations
Department(s)University of Stuttgart, Institute of Parallel and Distributed Systems, Distributed Systems
Project(s)TinyCubus
Entry dateJuly 8, 2005
   Publ. Computer Science