Sogenannte
Sensornetze bestehen aus einer grossen Anzahl miteinander drahtlos
kommunizierender Sensorknoten. Dabei handelt es sich um batteriebetriebene
Kleinstcomputer mit angeschlossenen Sensoren zur Wahrnehmung der Umgebung.
Sensornetze werden in der Umwelt installiert; beispielsweise zur Beobachtung des
Brutverhaltens von empfindlichen Vögeln, zur Beobachtung von Veränderungen bei
Gletschern, oder zur Studie von seismischen Erscheinungen und Erdbeben.
Ein wichtiger Forschungszweig
bei Sensornetzen ist die sogenannte Selbstkonfiguration,
wobei ohne menschliches Zutun die Sensorknoten unter Beachtung bestimmter Randbedingungen
(Position, verbleibende Energie in der Batterie etc.) spezifische Funktionen - sogenannte Rollen - im Netz übernehmen. Beispiele
für solche spezifischen Rollen:
·
Aggregatoren:
Bei vielen Anwendungen ist es notwendig, dass einige leistungsfähige Knoten von
Ihren benachbarten Sensorknoten Sensordaten einsammeln und aggregieren
(z.B. Mittelwert berechnen). Randbedingungen: Prozessorleistung,
Energiereserven, keine anderen Aggregatoren in
der Nähe.
· Standby: Es kommt es vor, dass an einigen
Stellen die Knoten sehr dicht beieinander liegen, sodass man einige Knoten in
einen Energiesparmodus schalten kann, ohne dass die vom Sensornetz gelieferten
Beobachtungsergebnisse an Qualität verlieren. Randbedingungen: Abdeckung
durch genug andere (An)-Knoten
· Gateway: Knoten bestimmten Positionen können
als Sender der Netzdaten zur Basisstation fungieren. Randbedingungen: Knotenposition,
Sendehardware, Nähe zu Aggregatorknoten usw.
Ziel der Masterarbeit ist die
Weiterentwicklung eines generischen Systems zur automatischen Zuweisung von
benutzerdefinierten Rollen an Sensorknoten. Die Arbeit umfasst drei Teile:
-
Weiterentwicklung der Notation, die dem Benutzer
die Formulierung von Rollenspezifikationen (die Randbedingungen für die
Annahme einer gewissen Rolle) ermöglicht. Dabei soll eine Rollenspezifikation
auch mit einer Menge von Nachbarn spezialisiert werden können, die bestimmte
Eigenschaften erfüllen (z.B. sei ein Aggregatorknoten
immer für eine gewisse Menge von Knoten zuständig; dann liesse sich die
Randbedingung spezifizieren, dass Nachbarknoten nur Aggregatoren
werden können, wenn sich deren Knotenmengen nicht überschneiden).
-
Entwicklung eines alternativen verteilten Algorithmus zur
Selbstkonfiguration von Sensornetzen, der im Gegensatz zu den bestehenden
Ansätzen einen stochastischen Ansatz verwendet: Mit jeder Nachricht, die
Informationen über Eigenschaften und Rollen der Nachbarn enthält, berechnet sich
der aktuelle Knoten eine neue Wahrscheinlichkeit für seine Rolle.
Möglicherweise können Knoten anstatt ihrer Rolle die so berechnete Rollenwahrscheinlichkeit
an ihre Nachbarn mitteilen. Auch alternative Konzepte können entwickelt werden.
Der entwickelte Algorithmus soll anhand einer (einfachen) Simulation
demonstriert werden.
-
Möglicherweise Verfeinerung bestehender Ansätze
für die Berechnung einer Anfangswahrscheinlichkeit für gewisse Rollen, gegeben die
vom Benutzer formulierte Rollenspezifikation. Dadurch können einfache
Mechanismen für die stochastische Initialisierung der Knoten mit bestimmten
Rollen gefunden werden.
-
Anpassung und Vereinfachung des entwickelten Algorithmus für den Einsatz
auf existierender Sensornetzhardware (BTNode rev3).
Folgende Vorkenntnisse sind wünschenswert:
-
Grundkenntnisse in Verteilten Systemen und Verteilten Algorithmen
Gute Programmierkenntnisse in C++ oder Java
Interesse an Ubiquitous Computing und Algorithmen in Sensornetzen