Sensornetze sind drahtlos verbundene Netze bestehend aus Knoten, die über eine CPU, Sensoren und ein Netzinterface verfügen. Die Knoten dieser Netze haben starke Ressourenbeschränkungen. Aus diesem Grunde sind eXziente Programme notwendig, deren Programmierung schwierig ist. Um diesem zu begegnen wurde die Programmiersprache nesC zusammen mit einem in ihr geschriebenen Betriebssystem TinyOS entwickelt. Die Sprache nesC baut dabei auf C auf und unterstützt einen komponentenbasierten Aufbau von Programmen. Die Entwicklung der Programme für die Knoten erfolgt in drei Phasen: Für die Simulation, für das Testbed und für den Einsatz eines Sensornetzes in seinem Deployment. Logging ist eine Methode, um Programme während ihrer Ausführung zu prüfen. Es muss jedoch für jede der drei Phasen der Entwicklung der Knotensoftware eine unterschiedliche Loggingfunktion aufgerufen werden. Aspektorientierte Programmierung ermöglicht es nun, zu einem bestehenden Basisprogramm mithilfe von Aspekten neue Funktionalitäten hinzuzufügen. Die Diplomarbeit entwickelt eine aspektorientierte Spracherweiterung für die Sprache nesC, um in den drei Phasen unterschiedliche Funktionalitäen durch Aspekte hinzufügen zu können, um beispielsweise die unterschiedlichen Loggingfunktionen einzufügen. Die Arbeit umfasst sowohl das Design als auch die Durchführung der Implementierung der aspektorientierten Spracherweiterung innerhalb des originalen nesC-Compilers. Interessante neue Konzepte für die Änderung der KonVgurationen der Komponenten eines nesC-Programmes mithilfe der aspektorientierten Spracherweiterung werden entwickelt. Die Implementierung einer Spracherweiterung innerhalb eines Compilers wird untersucht.
Inhaltsverzeichnis
- Einleitung
- Motivation
- Aufgabenstellung dieser Arbeit
- Überblick über die Arbeit
- Grundlagen
- Drahtlos verbundene Sensornetze
- Motes als Knoten eines Sensornetzes
- Anforderungen an Sensornetze
- Anwendungsgebiete von Sensornetzen
- Weitere Miniaturisierung bis hin zum Smart Dust
- Neue Anwendungsgebiete durch Miniaturisierung
- Die Sprache nesC und das Betriebssystem TinyOS
- Tools zur Unterstützung des Programmierers
- Tools zur Programmprüfung
- Logging und Debugging
- Aspektorientierte Programmierung
- Überblick über die aspektorientierte Programmierung
- Motivation des aspektorientierten Loggings für Sensormotes
- Weitere Möglichkeiten für die Anwendung von Aspekten auf Sensormotes
- Drahtlos verbundene Sensornetze
- Analyse von Logging-Frameworks und aspektorientierten Spracherweiterungen und deren Implementierungen
- Verwandte Arbeiten
- Logging-Frameworks
- Loggingansätze für die PC-Umgebung
- Loggingansätze in nesC für die Sensornetzumgebung
- Das Weaving unterschiedlicher Implementierungen aspektorientierter Sprachen
- Design und Implementierung einer aspektorientierten Spracherweiterung für nesC
- Design der Spracherweiterung
- Implementierung der Spracherweiterung
- Evaluation der Spracherweiterung
- Fazit
- Literaturverzeichnis
Zielsetzung und Themenschwerpunkte
Die Diplomarbeit befasst sich mit der Entwicklung einer aspektorientierten Spracherweiterung für die Programmiersprache nesC, die speziell für das Logging in Sensornetzen konzipiert ist. Das Ziel ist es, die Programmierung von Sensornetz-Anwendungen zu vereinfachen, indem die Logging-Funktionalität durch Aspekte hinzugefügt wird, die in den verschiedenen Phasen der Entwicklung (Simulation, Testbed, Deployment) unterschiedliche Logging-Verhaltensweisen ermöglichen.
- Aspektorientierte Programmierung in nesC
- Logging in Sensornetzen
- Entwicklung von Logging-Aspekten für verschiedene Phasen der Entwicklung
- Implementierung der Spracherweiterung im nesC-Compiler
- Evaluation der Spracherweiterung
Zusammenfassung der Kapitel
Die Einleitung führt in die Thematik der Sensornetze und der Programmierung von Sensormotes ein. Sie erläutert die Motivation für die Entwicklung einer aspektorientierten Spracherweiterung für nesC und stellt die Aufgabenstellung der Diplomarbeit dar. Das Kapitel "Grundlagen" liefert einen Überblick über die Architektur von Sensornetzen, die Anforderungen an die Programmierung von Sensormotes und die Funktionsweise der Programmiersprache nesC und des Betriebssystems TinyOS. Es werden auch verschiedene Tools zur Unterstützung des Programmierers vorgestellt, darunter Logging- und Debugging-Techniken. Das Kapitel "Aspektorientierte Programmierung" behandelt die Grundlagen der aspektorientierten Programmierung und erläutert die Vorteile und Nachteile dieser Programmierparadigma. Es wird insbesondere auf die Motivation für die Anwendung von Aspekten im Kontext von Sensornetzen eingegangen, wobei der Fokus auf das Logging liegt. Das Kapitel "Analyse von Logging-Frameworks und aspektorientierten Spracherweiterungen und deren Implementierungen" analysiert verschiedene Logging-Frameworks und aspektorientierte Spracherweiterungen, die für die Programmierung von Sensornetzen relevant sind. Es werden die Vor- und Nachteile der verschiedenen Ansätze diskutiert und die Herausforderungen bei der Implementierung von aspektorientierten Spracherweiterungen für nesC beleuchtet. Das Kapitel "Design und Implementierung einer aspektorientierten Spracherweiterung für nesC" beschreibt das Design und die Implementierung der entwickelten Spracherweiterung. Es werden die wichtigsten Konzepte und die Architektur der Spracherweiterung vorgestellt und die Implementierung im nesC-Compiler erläutert. Das Kapitel "Evaluation der Spracherweiterung" präsentiert die Ergebnisse der Evaluation der entwickelten Spracherweiterung. Es werden die Vorteile und Nachteile der Spracherweiterung diskutiert und die Auswirkungen auf die Programmierbarkeit von Sensornetz-Anwendungen bewertet.
Schlüsselwörter
Die Schlüsselwörter und Schwerpunktthemen des Textes umfassen die aspektorientierte Programmierung, die Programmiersprache nesC, das Logging in Sensornetzen, die Entwicklung von Logging-Aspekten für verschiedene Phasen der Entwicklung, die Implementierung der Spracherweiterung im nesC-Compiler und die Evaluation der Spracherweiterung. Die Arbeit befasst sich mit der Entwicklung einer aspektorientierten Spracherweiterung für nesC, die die Programmierung von Sensornetz-Anwendungen vereinfachen soll, indem die Logging-Funktionalität durch Aspekte hinzugefügt wird, die in den verschiedenen Phasen der Entwicklung (Simulation, Testbed, Deployment) unterschiedliche Logging-Verhaltensweisen ermöglichen.
- Quote paper
- Christoph Tornau (Author), 2008, Analyse, Design und Implementierung einer aspektorientierten Erweiterung der Programmiersprache nesC im Besonderen für das Logging in Sensornetzen, Munich, GRIN Verlag, https://www.grin.com/document/181505