Diese Seite befindet sich noch im Aufbau!

Übersicht

OCL (On-board Command Language) wurde am Institut für Datentechnik und Kommunikationsnetze der TU Braunschweig aus der Konfigurationssprache des Ground Support Equipment Operating System GSEOS V entwickelt.
Es dient zur sicheren, flexiblen Programmierung der On-Board-Ablaufsteuerung von Weltraumanwendungen wie Instrumenten aber auch Satellitenplattformen.

Hinweis

Dies ist keine offizielle Präsentation des Software-Systems OCL, sondern lediglich eine kurze private Vorstellung meiner Arbeit in hoffentlich einigermaßen allgemeinverständlicher Form. Sie erhebt keinen Anspruch auf Vollständigkeit oder vollständige Richtigkeit. Etwas detailiertere Informationen sind in offiziellen Veröffentlichungen zu finden. Für weitergehende Fragen steht die Arbeitsgruppe Instrumentenrechner für die Raumfahrt des Instituts für Datentechnik und Kommunikationsnetze der Technischen Universität Braunschweig gerne zur Verfügung (mit großer Wahrscheinlichkeit landet die Anfrage dann allerdings doch auf meinem Tisch)

Warum OCL?

Die Entwicklung moderner Weltraumsonden führt zu stetig steigenden Fähigkeiten der Hardware, wodurch die Forschungsmöglichkeiten immer detaillierter steuerbar aber auch komplexer werden. Entsprechend wird auch die Software zur Steuerung der Instrumente immer komplexer, und auch eine Planung bis in das letzte Detail ist nicht immer möglich, da während der Mission gewonnene Forschungsergebnisse in die weiteren Forschungsvorhaben einfließen und damit den Ablauf beeinflussen können.
Es ist daher also nötig, den Programmablauf auch während der Mission noch konfigurieren zu können, ohne dabei jedoch die Betriebssicherheit des Gerätes in Gefahr zu bringen. Die Ausführung von Programmsequenzen in einer virtuellen Maschine, getrennt von der für das Gerät lebenswichtigen Basis-Software kann diese Sicherheit in Verbindung mit einer automatischen Verwaltung der Programmsequenzen im On-board Massenspeicher gewährleisten, und so den ansonsten üblichen und auch nötigen Test-Aufwand für Änderungen an der On-board Software deutlich reduzieren - dies wirkt sich positiv auf die Entwicklungskosten aber insbesondere auch auf die Reaktionszeiten aus: Die Wissenschaftler können als Endanwender 'ihr' Instrument selbst programmieren und zügig auf besondere Zwischenergebnisse reagieren.

Allgemeiner Aufbau des OCL Systems

Die OBCPs haben keinen direkten Zugriff auf die On-board-Resourcen, sondern sind dafür auf eine abgesicherte Schnittstelle eingebauter RunTime-Library (RTL) Funktionen angewiesen. Sie laufen dadurch also ähnlich wie Java-Applets in sogenannten Sandkästen, wodurch die übrige Systemsoftware gegen Fehler in OBCPs abgeschirmt ist.
Schematischer OCL Aufbau
Das Bodensegment mit dem Compiler dient dazu, den Quellcode der OBCPs von einer C-ähnlichen Sprache in Bytecode zu übersetzen, der dann von der Bodenstation an die Weltraumanwendung abgeschickt werden kann.

Instrument-Software

Plattform-Software

Projekte

Entwicklungsgeschichte

Waren der ins GSEOS eingebettete Compiler und die virtuelle Maschine ursprünglich ausschließlich für den Einsatz am Boden konzipiert, so zeigte sich bald, dass sich diese Teile auch für den Einsatz im Kamera-Experiment OSIRIS der Raumsonde Rosetta wiederverwenden ließen. Hierfür wurden die virtuelle Maschine und der Compiler aus dem Testsystem herausgelöst und die virtuelle Maschine, um Management-Funktionen für On-Board Control Procedures (so genannte OBCPs) erweitert, stattdessen in die On-board-Software eingebettet, während der Compiler nun als Stand-Alone-Programm zum Einsatz kam.

Einsatz im Weltraum

Das OCL-System ist in mehreren laufenden oder in Kürze startenden Missionen im Einsatz. Dazu zählen sowohl einzelne Instrumente als auch die Plattformsteuerung selbst.

Modularer Aufbau

Und was hat das ganze hier zu suchen?

Diese Frage lässt sich ziemlich einfach beantworten: Mit OCL bestimmt einen großen Teil meines Lebens, denn ich verdiene momentan meinen Lebensunterhalt damit. Ich gehöre am IDA zum GSEOS-Entwicklerteam, bin von Anfang an federführend mit der Entwicklung dieses High-Level Software-Systems betraut und habe es in allen oben angeführten Projekten betreut. Und vielleicht verhilft mir OCL eines Tages auch noch zu mehr, als nur zu Geld ;-)