21.08.2013 Views

A State-Based Programming Model for Wireless Sensor Networks

A State-Based Programming Model for Wireless Sensor Networks

A State-Based Programming Model for Wireless Sensor Networks

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Kurzfassung<br />

Drahtlose <strong>Sensor</strong>knoten sind kostengünstige, programmierbare und vernetzte<br />

Kleinstcomputer, die <strong>Sensor</strong>ik, drahtlose Kommunikation sowie Energieversorgung<br />

in sich vereinen. Im grossen Massstab eingesetzt können drahtlose Netze<br />

aus solchen <strong>Sensor</strong>knoten Phänomene der realen Welt unauffällig beobachten.<br />

Drahtlose <strong>Sensor</strong>netze sind ein relativ neues Forschungsfeld mit vielen potentiellen<br />

Anwendungen. Unter anderem auf Grund des Fehlens geeigneter Unterstützung<br />

bei der Programmierung von <strong>Sensor</strong>knoten sind von diesen Anwendungen<br />

jedoch erst die wenigsten realisiert worden. Diese Dissertation liefert<br />

ein neuartiges Programmiermodell mit dazugehöriger Entwicklungsumgebung<br />

als Beitrag zur effizienten, modularen und wohlstrukturierten Programmierung<br />

von <strong>Sensor</strong>knoten.<br />

Heutzutage werden zur Programmierung von Drahtlosen <strong>Sensor</strong>knoten im<br />

Wesentlichen zwei <strong>Model</strong>le verwendet: das Multi-Threading <strong>Model</strong>l und das ereignisbasierte<br />

<strong>Model</strong>l. Das Multi-Threading <strong>Model</strong>l er<strong>for</strong>dert Systemunterstützung,<br />

die häufig als zu schwergewichtig empfunden wird, insbesondere für<br />

<strong>Sensor</strong>knoten die am unteren Ende des Ressourcenspektrums betrieben werden.<br />

Um solchen Ressourcenbeschränkungen gerecht zu werden, wurde das ereignisbasierte<br />

Programmiermodell vorgeschlagen. Dieses <strong>Model</strong>l er<strong>for</strong>dert sehr geringe<br />

Systemunterstützung und kann deshalb auch auf sehr beschränkten <strong>Sensor</strong>en<br />

eingesetzt werden.<br />

Währenddessen jedoch die Systemunterstützung für ereignisbasierte Programme<br />

nur wenige Ressourcen er<strong>for</strong>dert, sind ereignisbasierte Programme<br />

selbst sehr speicherineffizient. Das ereignisbasierte <strong>Model</strong>l verhindert nämlich<br />

die effiziente Nutzung von lokalen Variablen. Als Konsequenz daraus müssen<br />

Programmierer temporäre Daten in globalen Variablen speichern, wodurch die<br />

effiziente und automatische Wiederverwendung von Variablenspeicher verhindert<br />

wird. Für temporäre Daten könnte zwar der Variablenspeicher auch manuell<br />

wiederverwendet werden. Das schwört jedoch Probleme mit der Modularität<br />

und der Fehleranfälligkeit herauf. Zusätzlich zum Nachteil der Speicherineffizienz<br />

erzwingt das ereignisbasierte <strong>Model</strong>l ein Programmierparadigma,<br />

das Modularisierung und Fehlersuche signifikant erschwert und des Weiteren<br />

zu unstrukturiertem Code führt.<br />

Der wesentliche Beitrag dieser Dissertation ist zu zeigen, dass die genannten<br />

Unzulänglichkeiten des ereignisbasierten <strong>Model</strong>ls behoben werden können, ohne<br />

seine positiven Eigenschaften (also die speichereffiziente Implementierbarkeit<br />

auf <strong>Sensor</strong>knoten) massgeblich zu beeinträchtigen.<br />

Konkret stellen wir das Object <strong>State</strong> <strong>Model</strong> (OSM) vor, ein Programmiermodell<br />

das das ereignisbasierte <strong>Model</strong>l um die Abstraktion von hierarchisch- und<br />

nebenläufig-strukturierbaren Programmzuständen erweitert. Wir vertreten die

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!