Inhalt
Erstellung des Pflichtenheftes incl. Verwendungsszenarien - Objektorientierter Entwurf nebst Feinspezifikation - Implementierung in einer objektorierten Sprache - Funktionale Tests und Überdeckungstests - Einsatz von Werkzeugen (zB Eclipse, UML, Java, Junit, Jcov) - Präsentation des fertigen Systems
Lernziele
Die Teilnehmer lernen, ein vollständiges Softwareprojekt nach dem Stand der Softwaretechnik in einem Team mit ca. 5-7 Teilnehmern durchzuführen. Ziel ist es inbesondere, Verfahren des Software-Entwurfs und der Qualitätssicherung praktisch einzusetzen, Implementierungskompetenz umzusetzen, und arbeitsteilig im Team zu kooperieren.
Sensornetze sind Rechnernetze von Sensorknoten, charakterisiert durch geringe Knotengröße, geringe Rechen- und Energieressourcen, große Knotenanzahl, autonomen Betrieb und drahtlose Kommunikation. Sensorknoten können dabei mit unterschiedlichen Sensoren ausgestattet werden. So können Sensornetze vielfältig eingesetzt werden, z.B. für großflächige Überwachung, Home Automation oder für medizinische Überwachung.
Die Entwicklung von Sensornetzanwendungen erfolgt meist in speziellen Experimentierumgebungen, den sogenannten Testbetts. Diese ermöglichen die Evaluierung von Sensornetzanwendungen unter kontrollierten Bedingungen. Da in Sensornetzen zahlreiche Knoten komplizierte Kommunikationsbeziehungen aufbauen, ist es gerade in Testbetts wichtig zu wissen, zwischen welchen Knoten überhaupt eine direkte Kommunikationsverbindung möglich ist. Die Gesamtheit der direkten Kommunikationsverbindungen in einem Netz bildet einen Graphen und wird als physikalische Topologie bezeichnet. Diese wird im wesentlichen durch die Funkreichweite der Knoten beeinflusst. Um die komplexen Kommunikationsvorgänge in einem Sensornetz verstehen zu können, muss also die Topologie ermittelt werden.
Im Rahmen dieses Praktikums soll ein Programm zur Visualisierung der physikalischen Topologie in Sensornetzen entwickelt werden. Das Programm soll auch zukünftig im in Entwicklung befindlichen Testbett des Instituts für Telematik eingesetzt werden.
Aufgabenstellung
Die von Ihnen zu entwickelnde Software soll Informationen, die von einem Sensornetz bereitgestellt werden, auswerten und die Topologie des Netzes graphisch darstellen.
Wichtige Anforderungen an das zu entwickelnde Programm:
- Die Netzwerkdarstellung soll sowohl zur Laufzeit des Sensornetzes, als auch offline auf Basis von Aufzeichnungen möglich sein.
- Insbesondere die Darstellung der Verbindungseigenschaften wie Qualität und Kommunikationsrichtung, soll aussagekräftig umgesetzt werden.
- Unterschiedliche geographische Knotenpositionen müssen zugeordnet und visualisiert werden können.
- Das zu entwickelnde Programm muss mit der Dynamik von Sensornetzen umgehen können, zum Beispiel mit dem Ausfall von Knoten.
- Es soll eine intuitive Benutzeroberfläche mit Unterstützung, wie z.B. Kontexthilfe, realisiert werden.
- Die Software muss eine Programmierungsschnittstelle (API) aufweisen, um als PlugIn in der bestehenden Testbett-Managementsoftware verwendet werden zu können. Die API muss z.B. Zugriff auf den Netzwerkgraphen nach außen zur Verfügung stellen.