Projektbeschreibung
Das Projekt Core Avionics befasst sich mit der Entwicklung eines modularen Betriebssystems für Kleinsatelliten. Den zentralen Teil bildet ein Echtzeitkern, eine Middleware und eine Netzwerkarchitektur zur Anbindung peripherer Komponenten und Nutzlasten mit dem Namen RODOS. RODOS besitzt einen modularen Aufbau, der es ermöglicht das Betriebssystem auf die entsprechenden Anwendungen anzupassen, d.h. es ist ein System, dass nur minimale Ressourcen benötigt und gleichzeitig erweiterbar ist. RODOS besitzt eine objekt-orientierte Architektur und erfordert die Anwendungsentwicklung in C++.
Der Echtzeitkern von RODOS stellt Funktionalitäten zur Nutzung des Speichers zur Verfügung und führt das Prozessmanagement durch. Er stellt eine Multitasking-Umgebung bereit und bildet die Basis zur Kommunikation und zum Datenaustausch der einzelnen Anwendungen. Der Sicherheitsaspekt ist ein wesentlicher Bestandteil der Architektur, sodass Redundanz, Robustheit und Zeitmanagement besondere Beachtung finden.
Die darüberliegende Middleware stellt eine einheitliche Schnittstelle zu den Anwendungen bereit und isoliert systemspezifische Operationen. Unterhalb der Middleware können mehrere Rechnerknoten existieren, auf die die Aufgaben verteilt werden. Die Kommunikation mit der Middleware erfolgt über ein einfaches Publisher- / Subscriber-Protokoll. Dadurch wird eine hohe Flexibiltät erreicht, Programmkomponenten können sich im Netzwerk an- und abmelden. Dabei werden Hardware- und Softwarekomponenten gleich behandelt und die Anwendungssoftware sieht keinen Unterschied zwischen beiden.
Der Grundbaustein des Netzwerks ist ein Nachrichten Switch, der die Middleware Protokolle in Hardware implementiert und wird daher MiddlewareSiwtch genannt. Der ModdlewareSwitch erlaubt es verschiedene Nachrichtenkanäle (Topics) zu etablieren über die die jeweiligen Anwendungen direkt miteinander kommunizieren können ohne von anderen Anwendungen und deren Kommunikation beeinflusst zu werden.
Der modulare Aufbau, erleichtert das Portieren und Testen der Anwendungssoftware. So ist es möglich das System einzelne Komponenten durch Testkomponenten zu ersetzen, wie beispielsweise reale Sensoren durch simulierte Sensoren. Auch ist eine Anwendung lauffähig, wenn das System nur teilweise integriert wurde.
Die Aufgaben der DLR Simulations- und Softwaretechnik im Projekt ist die Verifikation und Validierung von RODOS als auch die Vereinfachung der Anwendungsentwicklung durch die Bereitstellung von Generatoren zur automatischen Erstellung von Quellcode durch Methoden der MDA (Model Driven Architecture). Zur Verifikation und Validation werden zum einen Modultests durchgeführt, zum anderen wird eine Testanwendung aufgebaut, welche die Bestandteile von RODOS in unterschiedlichen Zusammenstellungen im integrierten System testet.
Beim Aufbauen der Testanwendung werden typische Anwendungsmuster zur Nutzung von RODOS identifiziert. Diese Anwendungsmuster werden in Generatoren zur automatischen Codegenerierung überführt.
Basis für die automatische Codegenerierung ist ein erweitertes UML-Modell, in dem Klassendiagramme mit Stereotypen und Tagged Values ausgezeichnet werden. Mit Hilfe dieser Auszeichnungen werden dann Code-Gerüste erzeugt, welche dem Anwendungsentwickler ein bereits vordefiniertes System zur Verfügung stellt. Der Anwendungsentwickler kann sich so voll auf die Implementierung der Algorithmen konzentrieren und braucht sich nicht mehr um Standardaufgaben bei der Erstellung von Flugsoftware kümmern. Ein Beispiel für solch eine Standardaufgabe ist beispielsweise das Einsammeln von Housekeeping-Daten oder das Aufsetzen einer Kommunikationsverbindung zu einer anderen Applikationen.
DLR Aufgaben
Core Avionics ist Bestandteil des Projektes Kompaktsatellit Asteroidfinder. Es wird unter der Leitung von Sergio Montenegro, Organisationseinheit Satellitensysteme, durchgeführt.
Aufgaben der DLR Simulations- und Softwaretechnik
Die Beiträge der DLR Simulations- und Softwaretechnik sind die Verifikation und Validierung der Software sowie die Entwicklungsarbeiten für die Softwaregeneratoren zur automatischen Softwareerzeugung.
Projektpartner
Laufzeit
01.01.2009 - 31.12.2011