COCOS

Eine Middleware-Plattform für selbsorganisierende drahtlose Sensornetze, die in Anlehnung an datenparallele Programmierparadigmen eine flexible Gruppierung von Sensoren und deren kollektive Auswertung mit ausdrucksstarken hochsprachlichen Mitteln erlaubt.

  • Laufzeit: ab 2004
  • Finanzierung: DFG Projekt

In naher Zukunft werden Sensornetze auf breiter Basis eingesetzt werden. Während sich das Einsatzpotential für Sensornetze gegenwärtig ständig erweitert, wird auch die Frage nach geeigneten Middleware-Plattformen für solche Netze immer dringlicher. Die Programmierung von Sensornetzen geschieht zur Zeit auf einem sehr niedrigen Abstraktionsniveau und ist damit zeitaufwendig und fehleranfällig. Im Rahmen dieses Projektes wurde deshalb eine Middleware-Plattform für selbsorganisierende drahtlose Sensornetze entwickelt, die in Anlehnung an datenparallele Programmierparadigmen eine flexible Gruppierung von Sensoren und deren kollektive Auswertung mit ausdrucksstarken hochsprachlichen Mitteln erlaubt.

Das Cocos Projekt gehört zu dem Schwerpunktprogramm 1140 der Deutschen Forschungsgemeinschaft und wurde am 1. Oktober 2004 gestartet. Es beinhaltet drei Teile, die über ihr Aufgaben definiert sind.

Copra, COmmunication PRocessing Architecture, ist ein Kommunikationsrahmenwerk, welches die generelle Kommunikation zwischen Knoten ermöglicht. Dafür werden Komponenten wie Routing, MAC, Datensicherung u.ä. zur Verfügung gestellt.
Chips, Convenient High-level Invocation Protocol Suite, ermöglicht entfernte Methodenaufrufe. Damit ist es einem Knoten z.B. möglich, einen Anderen gezielt fernzusteuern.
Cocos, COordination and COoperation Spaces, bildet die oberste Schicht. Hier können Gruppen von Knoten bis hin zum gesamtem Netz über kollektive Operationen gesteuert werden. Diese Steuerung beinhaltet sowohl die Ansteuerung von Sensoren und Aktuatoren als auch die Aggregation und Vorverarbeitung von Messwerten im Netz.

Nachfolgend finden sich Beispielvideos auf denen die im Rahmen des Projektes beschafften und modifizierten Lego RCX Roboter zu sehen sind. Auf diese Roboter wurde Reflex portiert, auf welches die im Rahmen des Cocos Projektes realisierten Protokolle aufsetzen.

Die ersten beiden Videos zeigen die mit Hilfe von Reflex realisierten Bewegungsmöglichkeiten der Roboter. Realisiert wurde eine Zufallsbewegung, bei der die Roboter sich solange in eine Richtung bewegen, bis sie auf ein Hindernis treffen. Bei Kontakt entfernen sie sich und setzen ihre Bewegung in eine zufällige Richtung fort.

In den nächsten beiden Videos ist ein Roboterballet zu sehen. Ein Roboter gibt die Bewegungsabläufe vor und überträgt diese an alle Anderen. Dies wurde einmal nur mittels Copra realisiert, einmal mit Chips und einmal unter Verwendung der Cocos-Räume. Da jedoch optisch kein Unterschied zu erkennen ist, sind hier nur zwei Videos zu sehen, die eine unterschiedliche Anzahl von Robotern verwenden.
Roboterballet 1 beinhaltet drei Roboter, Roboterballet 2 nutzt alle neun am Lehrstuhl vorhandenen Roboter.

Der Abschlußdemonstrator beinhaltet ein Messszenario, welches in drei sich wiederholende Phasen eingeteilt ist.
In der ersten Phase bewegen sich alle Knoten zufällig. Auf ein Signal hin beenden alle diese Phase und wechseln zur Messphase. In der dritten Phase wird die Vorverarbeitung im Netz realisiert, indem der Roboter mit dem höchsten Messwert bestimmt wird. Dieser übermittelt seinen Messwert an die Basisstation und gibt sich Audiovisuell zu erkennen. Anschließend wird wieder bei der Zufallsbewegung angefangen.